PDA

Επιστροφή στο Forum : Ένας qmail guru ρε παιδιά



hayzel
27-03-06, 21:58
Έχω ένα πρόβλημα με το qmail...
Εδώ και ένα χρόνο και το χρησιμοποιώ σαν mail-server μου για το προσωπικό μου email. Χρησιμοποιώ μόνο το qmail-smtpd & qmail-send , Σαν pop3 server έχω το vpopmail που διαχειρίζεται και το domain μου (koppermind.homelinux.org) από το dyndns.org...
To ερώτημά μου έχει να κάνει με το smtp_auth....
Χρειάστηκε να φτιάξω κάποιους λογαριασμούς email για κάποιους φίλους μου (της μορφής user1@koppermind.homelinux.org) o καθένας από τους οποίους θα έχει πρόσβαση στον server μου από μακρυά (όχι lan). To pop3 δούλεψε κανονικά και το smtp δούλεψε κανονικά για τα μεταξύ μας email (π.χ. o user1 στον user2)...
Όπως και το φανταζόμουν ο smtp server moy δεν τους αφήνει να κάνουν relay. Oπότε πρέπει με κάποιο τρόπο να δηλώσω τη χρήση toy smtp_auth . Στο gentoo, πράγμα το οποίο δε μπορώ να βρώ....
Καμία ιδέα?

msid
27-03-06, 23:26
Δεν ξέρω πως ακριβώς μπορεί να λυθεί αυτό το πρόβλημα ρυθμίζοντας το qmail. Ξέρω όμως πως εάν οι φίλοι σου χρησιμοποιήσουν ssh tunnel θα μπορούν να χρησιμοποιήσουν τον mail server κανονικά.

hayzel
27-03-06, 23:39
Δεν ξέρω πως ακριβώς μπορεί να λυθεί αυτό το πρόβλημα ρυθμίζοντας το qmail. Ξέρω όμως πως εάν οι φίλοι σου χρησιμοποιήσουν ssh tunnel θα μπορούν να χρησιμοποιήσουν τον mail server κανονικά.

έχουν outlook xp , νομίζω αυτό σου απαντάει την απορία σου.... :-)

Επιπλεον tip:
όταν εγώ μπαίνω στον smtp μου βγαίνει το μήνυμα
στο /var/log/everything/current:
Mar 27 23:25:17 [vpopmail] vchkpw-smtp: (PLAIN) login success manolis@koppermind.homelinux.org:127.0.0.1
kai sto /var/log/qmail/qmail-smtpd/current:
tcpserver: ok 18533 localhost:::ffff:127.0.0.1:25 localhost:::ffff:127.0.0.1::33263
Pou shmainei oti douleuei to smtp-auth....

Otan sindeontai aytoi:
sto /var/log/everything den pairnw tpt (pou simainei oti den ftanoyn mexri to vchkpswd , kai sto /var/log/qmail/qmail-smtpd/current:
tcpserver: pid 21311 from HIS/HER_IP_HERE
@4000000044284c7f25a9f1e4 tcpserver: ok 21311 :::ffff:192.168.0.2:25 a.dom ain.grr:::ffff:HIS/HER_IP_HERE::1211
@4000000044284c822a08cbac qmail-smtpd: Attempted relay from user1@koppermind.homelinux.org at HIS/HER_IP_HERE to external_email@yahoo.com

Εντωμεταξύ τόσο στο gentoo how to ,όσο και στο qmail manual λεέι ότι θα πρεπε να δουλέψει χωρίς καμία προσπάθεια....

mrsaccess
27-03-06, 23:43
Εδώ (http://gentoo-wiki.com/Special:Search?search=qmail&go=Go) κοίταξες;
Γενικότερα στο gentoo-wiki έχω βρει πολύ καλούς οδηγούς.

Αυτό που ζητάς το έχω κάνει με xmail (πολύ καλό) και με συνδυασμό postfix, cyrus-sasl (αυτό φροντίζει το authentication για το relay), courier-imap (για το pop3).
Τώρα σκέφτομαι να δοκιμάσω ένα setup βασισμένο εξ'ολοκλήρου σε Courier μήπως και βρω μια λύση όπου η διαχείριση μεγάλου όγκου χρηστών είναι εύκολη.

hayzel
27-03-06, 23:46
Αυτό που ζητάς το έχω κάνει με xmail (πολύ καλό) και με συνδυασμό postfix, cyrus-sasl (αυτό φροντίζει το authentication για το relay), courier-imap (για το pop3).
Τώρα σκέφτομαι να δοκιμάσω ένα setup βασισμένο εξ'ολοκλήρου σε Courier μήπως και βρω μια λύση όπου η διαχείριση μεγάλου όγκου χρηστών είναι εύκολη.

Βασικά έχω ακούσει καλά λόγια για το xmail , αλλά έχω βολευτεί απίστευτα με το qmail/vpopmail και δεν έχω όρεξη για μεταφορά σε άλλο mta...

mrsaccess
27-03-06, 23:46
Α, αν έχεις 2ο pc μπες με dialup, κάνε τη διαδικασία σύνδεσης και παρακολούθα τι γίνεται στο server με το ethereal.

Μου έχει λύσει τα χέρια πολλές φορές σε τέτοια θέματα. Η κουβέντα που κάνει ο client με τον smtp server είναι διαφωτιστική (λολ, vodafone tactic).

msid
28-03-06, 00:00
Εγώ πάντως επιμένω να το κάνεις με ssh tunnel για να μην παιδεύεσαι άδικα. Και στα windows μπορείς να κάνεις ssh tunnel και δουλεύει ανεξάρτητα από τον client που έχεις. Αν δεν καταλαβαίνεις αυτό που σου λέω πως γίνεται και ενδιαφέρεσαι να το κάνεις ρώτα να σου εξηγήσω.

hayzel
28-03-06, 00:02
Α, αν έχεις 2ο pc μπες με dialup, κάνε τη διαδικασία σύνδεσης και παρακολούθα τι γίνεται στο server με το ethereal.

Μου έχει λύσει τα χέρια πολλές φορές σε τέτοια θέματα. Η κουβέντα που κάνει ο client με τον smtp server είναι διαφωτιστική (λολ, vodafone tactic).

Bασικά αυτό θα ήταν τέλειο ... αν είχα δεύτερο pc , και δύο γραμμές τηλεφώνου... αλλά δυστηχώς όντας οι υπόλοιποι super-newbies ακόμη και με τα windows πρέπει να βρω το πρόβλημα από τα μηνύματα του server μου και μόνο...

msid
28-03-06, 00:06
Δεν χρειάζεται να έχεις 2ο pc και ethereal. Ένα tcpdump στο server και τέλος.

KLG
28-03-06, 00:10
Ρε συ μηπως το προβλημα δεν ειναι δικτυακο, αλλα εχει σχεση με user groups/rights και privileges?

μηπως πρεπει να γραψει καπου ο user1 και δεν μπορει?

narsis
28-03-06, 00:12
Λοιπόν με qmail λογικά χρησιμοποιείς tcpserver. Κοίτα στο script που ξεκινάει το smpt server σου. Άρα πρέπει να φτιάξεις και το ανάλογο αρχείο για να επιτρέπει τα relays.

Μέσα στο script που ξεκινάει το qmail υπάρχει κάτι σαν

tcpserver -x/etc/tcp.smtp.cdb -uxxx -gxxx 0 smtp /var/qmail/bin/qmail-smtpd &

Εάν δεν έχει την παράμετρο -x/etc/tcp.smtp.cdb πρόσθεσέ την. Όπου xxx είναι ο αριθμός χρήστη και group που τρέχεις το qmail.

Φτιάξε ένα αρχείο /etc/tcp.smtp και εκεί μέσα βάλε:
aa.bb.cc.dd:allow,RELAYCLIENT=""
ff.ee.:allow,RELAYCLIENT=""
:allow

Αντί για aa.bb κτλ. βάλε τις IP που θέλεις να επιτρέψεις.
Εννοείται μπορείς να δώσεις και δέσμη IP π.χ. "192.168."

Κατόπιν γράψε (σαν root) την εντολή
tcprules tcp.smtp.cdb tcp.smtp.temp < tcp.smtp

Ξαναξεκίνα το qmail και είσαι έτοιμος.
Συμβουλή, αν και μπορείς μην αφήσεις open relay (δηλαδή οποιοβδήποτε να
χρησιμοποιεί το server σου, θα πήξεις στο spam traffic).

Περιόρισε όσο μπορείς τη δέσμη των IP αν οι φίλοι σου δεν έχουν static.

mrsaccess
28-03-06, 09:04
Bασικά αυτό θα ήταν τέλειο ... αν είχα δεύτερο pc , και δύο γραμμές τηλεφώνου... αλλά δυστηχώς όντας οι υπόλοιποι super-newbies ακόμη και με τα windows πρέπει να βρω το πρόβλημα από τα μηνύματα του server μου και μόνο...
Βασικά στο είπα για δική σου ευκολία. Δεν είναι απαραίτητο dialup.

Άνοιξε το ethereal, ξεκίνα το capture στο pc σου και πες σε ένα φίλο σου να προσπαθήσει να στείλει email. Μόλις τελειώσει σταμάτα το capture και πες στο ethereal να σου δείξει μόνο τα smtp πακέτα που έπιασε. Επέλεξε ένα, δεξί κλικ -> follow tcp stream et voila! ;)

hayzel
28-03-06, 15:48
Λοιπόν με qmail λογικά χρησιμοποιείς tcpserver. Κοίτα στο script που ξεκινάει το smpt server σου. Άρα πρέπει να φτιάξεις και το ανάλογο αρχείο για να επιτρέπει τα relays.

Μέσα στο script που ξεκινάει το qmail υπάρχει κάτι σαν

tcpserver -x/etc/tcp.smtp.cdb -uxxx -gxxx 0 smtp /var/qmail/bin/qmail-smtpd &

Εάν δεν έχει την παράμετρο -x/etc/tcp.smtp.cdb πρόσθεσέ την. Όπου xxx είναι ο αριθμός χρήστη και group που τρέχεις το qmail.

Φτιάξε ένα αρχείο /etc/tcp.smtp και εκεί μέσα βάλε:
aa.bb.cc.dd:allow,RELAYCLIENT=""
ff.ee.:allow,RELAYCLIENT=""
:allow

Αντί για aa.bb κτλ. βάλε τις IP που θέλεις να επιτρέψεις.
Εννοείται μπορείς να δώσεις και δέσμη IP π.χ. "192.168."

Κατόπιν γράψε (σαν root) την εντολή
tcprules tcp.smtp.cdb tcp.smtp.temp < tcp.smtp

Ξαναξεκίνα το qmail και είσαι έτοιμος.
Συμβουλή, αν και μπορείς μην αφήσεις open relay (δηλαδή οποιοβδήποτε να
χρησιμοποιεί το server σου, θα πήξεις στο spam traffic).

Περιόρισε όσο μπορείς τη δέσμη των IP αν οι φίλοι σου δεν έχουν static.

Σε ευχαριστώ πολύ για την απάντησή σου, όμως ήδη γνωρίζω για το tcpserver. Σε καμία περίπτωση δε θέλω open relay... γιατί τρέχω μουλαροειδή. Αλλά και να μην έτρεχα με ανοιχτό relay τρώει ο server σου ένα blacklist και μετά ψάχνεις γιατί σε βγάλαν απο έξω... :(...
Στο αρχείο που λες δεν υπάρχει τρόπος να τους δηλώσω τους χρήστες γιατί απλά έχουν dialup connection... και διαφορετικές IP κάθε φορά...
Το θέμα είναι ότι παντού βρήκα αναφορές ότι αν ρυθμίσεις το qmail-auth και οι χρήστες σου κάνουν ταυτοποίηση τότε μπορούν να στείλουν email.... Κάποια σκατορύθμιση είναι ... αλλά άντε να τη βρεις... :D

hayzel
28-03-06, 16:01
Ρε συ μηπως το προβλημα δεν ειναι δικτυακο, αλλα εχει σχεση με user groups/rights και privileges?

μηπως πρεπει να γραψει καπου ο user1 και δεν μπορει?

Σίγουρα δε συμβαίνει κάτι τέτοιο . O user1 είναι virtual account σε έναν mysql database. Και μπορεί όπως ήδη είπα να στείλει μυν. στον εαυτό του και σε όλο του domain μου. To relaying δε δουλεύει γι'αυτούς . Για μένα δουλεύει γιατί είμαι στο local network και έχω βάλει το tcprules να επιτρέπει relay στο localhost...

holyghost
29-03-06, 01:08
Εάν οι απομακρυσμένοι users σου κάνουν authenticate μέσω vpopmail (αλήθεια, γιατί δεν προτιμάς το IMAP;;; ) τότε τσέκαρε αυτό http://www.davideous.com/smtp-poplock/

Το είχα δουλέψει παλαιότερα...

narsis
29-03-06, 06:29
Λοιπόν, για να βάλουμε τα πράγματα σε μια σειρά. Ότι και να κάνουν οι χρήστες σου, αν δεν είναι οι IP τους μέσα στις επιτρεπτές στο tcp.smtp.cdb και να τίθεται η μεταβλητή RELAYCLIENT, τότε που να χτυπιούνται κάτω δεν μπορούν να στείλουν mail.

Προφανώς και αφήνει ο server να συνδεθεί κάποιος με πόρτα 25, αλλιώς δεν θα έπαιρνες ούτε τα δικά σου email. Αλλά μόλις πάει να στείλει κάπου αλλού πέρα από το δικό σου domain τον κόβει (αφού δεν τους αφήνεις να κάνουν relay.).

Εγώ δεν είπα να αφήσεις open relay. Το αντίθετο, είπα και αν ακόμα δεν έχουν σταθερές IP, προσπάθησε να περιορίσεις τη δέσμη IP που θα αφήσεις να στέλνει από το server σου. Το ανέφερα εκεί που σου έλεγα για ότι μπορείς αντί για 1 ΙΡ να δηλώσεις μια δέσμη.

Λύσεις όπως αυτή που σου πρότεινε ο ακριβώς από επάνω μου δεν κάνουν τίποτα διαφορετικό. Πάλι ο tcpserver ελέγχει τις ΙΡ. Απλά ελέγχει τα log files και μόλις κάποιος κάνει log in στον POP server τότε logάρει την ΙΡ του και την βάζει στις επιτρεπτές και/ή θέτει τη μεταβλητη RELAYCLIENT. Δεν ξέρω για το συγκεκριμένο που σου προτείνει, αλλά είχα κάνει πριν καιρό μια τέτοια customia και δεν έμεινα ικανοποιημένος. Πολύ μπέρδεμα για το τίποτα.Τελικά μια και για εμένα το όλο θέμα ήταν να συνδέονται 2-3 εκτός εταιρικού δικτύου (τα αφεντικά όπως πάντα :) ) άφησα απλά κάποιες IP από ένα συγκεκριμένο pool της Forthnet (έχουν Forthnet σπίτια τους) οπότε λύθηκε το πρόβλημα και δεν είχα spam traffic.

Αυτά, ελπίζω να σε βοήθησα... μια και είσαι πατριωτάκι και συνάδελφος από ότι είδα :)

holyghost
29-03-06, 12:58
narsis είναι όπως ακριβώς τα λές...άν δεν μπει η IP στην RELAYCLIENT τότε ούτε σκέψη για αποστολή mail απο τους απομακρυσμένους πελάτες...

Aλλά αυτο είναι το πρόβλημα που έχει ο άνθρωπος....ότι οι απομακρυσμένοι πελάτες έχουν π.χ dial up και δεν μπορεί να ξέρει την IP τους κάθε φορά...

Οπότε είτε μπορέι να χρησιμοποιήσει το πρόγραμμα που πρότεινα είτε όπως απλά έκανες και εσύ να αφήσει ένα ευρος IP της τάδε εταιρείας να κάνει RELAY (λίγο risky...)

hayzel
29-03-06, 22:52
Παιδιά είστε σίγουροι για το ότι δεν υπάρχει περίπτωση να παρακαμφθεί ο tcpserver ?
Σας παραθετω το κειμενάκι από το how to sto gentoo για το qmail:
"...Assuming you haven't tweaked the qmail control files at all, qmail will now accept mail for the wh0rd.org virtual domain and for users of the local machine. Furthermore, qmail will relay mail for anyone who sends via 127.0.0.1 and for anyone who is able to authenticate with vpopmail. When you setup your mail client to send mail, make sure you select options like 'Server requires authentication'. In my case, I set the user as 'vapier@wh0rd.org' and my password as 'vappw'. The last detail is to make sure you tell your mail client to use SSL/TLS for SMTP communication. qmail will not let you authenticate if the session is not encrypted..."

Είναι λάθος το παραπάνω?

narsis
29-03-06, 23:30
Είναι αλήθεια ότι παίζουν κάποιοι τρόποι μέσω SMTP authentication. Αλλά:
Είτε θέλουν third-party patches στο qmail και μετά compile και install από αρχή είτε παίζουν δυναμικά με τον tcpserver. Η γνώμη μου είναι ότι είναι αρκετά μπελαλίδικοι και κάποιοι αρκετά ασταθείς. Εφόσον έχουν dial-up από μια εταιρεία οι φίλοι σου το pool δεν θα είναι μεγάλο. Και κατά μεγάλη πιθανότητα δεν θα έχει spammers. Αν θέλεις το μπελαλίδικο ψάξε στο google για qmail smtp authorization. Αλλιώς άσε relay στο pool των διευθύνσεων που βρίσκονται οι φίλοι σου. Εφόσον μιλάμε για Ελλάδα και dial-up spammer πολύ χλωμό να βρεθεί στο pool αυτό και αν ακόμα βρεθεί μάλλον θα προτιμήσει τον smtp server του provider από το δικό σου :)
Βέβαια είναι risky δεν λέω, οπότε ίσως καλύτερα κάνε έναν κόπο και κάνε το patch στο qmail.

holyghost
29-03-06, 23:40
Το patch http://shupp.org/patches/netqmail-1.05-tls-smtpauth-20060105.patch και το homepage http://members.elysium.pl/brush/qmail-smtpd-auth/

Αυτό (+κάτι άλλα ωραία patches) χρησιμοποιώ σε linuxoμηχάνημα που είμαι admin στη σχολή, με IMAP authentication όμως, όχι POP...και παίζει λουκούμι...

Σου επιτρέπει να κάνεις authenticate τους clients σου μέσω SSL η TLS ( με LOGIN, PLAIN η CRAM-MD5) ώστε να περάσει το mail τους απο τον SMTP σου χωρίς να χαλάσεις τις ρυθμίσεις του Anti-Relay σου ;)

Θα το έκανα post απο την αρχή αλλά είδα ότι το βιάζεσε το θέμα και σου πρότεινα την πρώτη λύση που είναι plug n play...

Οπότε τώρα θές patch το qmail και ξανά compile...

χμμμ και ένα guide μπας και χρειαστείς βοήθεια στο στήσιμο του SMTP-AUTH http://www.suspectclass.com/ucspi-tls/ucspi-tls-qmail-howto.html
αν και νομίζω πως το patch έχει μέσα ενα ψιλοdocumentation...αλλα δεν θυμάμαι καλά...

hayzel
29-03-06, 23:46
Το patch http://shupp.org/patches/netqmail-1.05-tls-smtpauth-20060105.patch

Αυτό χρησιμοποιώ σε linuxoμηχάνημα που είμαι admin στη σχολή, και παίζει λουκούμι...(+κάτι άλλα ωραία patches)

Σου επιτρέπει να κάνεις authenticate τους clients σου μέσω SSL η TLS ώστε να περάσει το mail τους απο τον SMTP σου χωρίς να χαλάσεις τις ρυθμίσεις του Anti-Relay σου ;)

Θα το έκανα post απο την αρχή αλλά είδα ότι το βιάζεσε το θέμα και σου πρότεινα την πρώτη λύση που είναι plug n play...

Οπότε τώρα θές patch το qmail και ξανά compile...

χμμμ και ένα guide μπας και χρειαστείς βοήθεια στο στήσιμο του SMTP-AUTH http://www.suspectclass.com/ucspi-tls/ucspi-tls-qmail-howto.html
αν και νομίζω πως το patch έχει μέσα ενα ψιλοdocumentation...αλλα δεν θυμάμαι καλά...

Βασικά τώρα πια δε βιάζομαι καθόλου, καθαρά για εγκυκλοπαιδικές γνώσεις το ρωτάω για να μάθω πως γίνεται...
Τελικά χρησιμοποίησαν το smtp του ISP τους και γι' αυτούς λύθηκε το πρόβλημα...
Απλά εγώ έσκασα γιατί δεν μπορούσα να καταλάβω πως το κάνω...
Χαίρομαι που υπάρχει όντως λύση με το smtp-auth... Όπως επίσης γνωρίζω ότι το qmail στο gentoo είναι έτοιμο για smtp-auth (δε χρειάζεται patch) ... Οπότε μου λείπει απλά κάτι στα conf files.... θα το βρω πάντως εν καιρώ και θα ποστάρω τη λύση ....

@ ADSLgr.com All rights reserved.