A Postfix az Ubuntu alapértelmezett levéltovábbító ügynöke (MTA). Célja, hogy gyors, egyszerűen adminisztrálható és biztonságos legyen. Kompatibilis a sendmail MTA-val. Ez a szakasz ismerteti a postfix telepítését és konfigurálását. Ismerteti még a(z e-mailek biztonságos küldéséhez) biztonságos kapcsolatot használó SMTP-kiszolgálóként való beállításának módját.
Ez a leírás nem ismerteti a Postfix virtuális tartományok beállítását, a virtuális tartományokkal és egyéb speciális lehetőségekkel kapcsolatban lásd a „Hivatkozások” szakaszt. |
A postfix telepítéséhez adja ki a következő parancsot:
sudo apt-get install postfix
Nyomja meg az Entert, ha a telepítő kérdéseket tesz fel, a beállításokat a következő lépésben, részletesebben végezzük el.
A postfix konfigurálásához adja ki a következő parancsot:
sudo dpkg-reconfigure postfix
Megjelenik a felhasználói felület. Az egyes képernyőkön válassza az alábbi értékeket:
-
Internetes hely
-
mail.példa.hu
-
geza
-
mail.példa.hu, localhost.localdomain, localhost
-
Nem
-
127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24
-
0
-
+
-
mind
A mail.példa.hu helyére azt a tartományt írja, amelynek leveleit fogadja, a 192.168.0.0/24 helyére a levelezőkiszolgáló tényleges IP-címét és címosztályát, a geza helyére pedig a megfelelő felhasználónevet írja. |
Ezután ki kell választani a használandó postafiók-formátumot. A Postfix alapértelmezésben az mbox formátumot használja. A konfigurációs fájl közvetlen szerkesztése helyett használhatja a postconf parancsot a postfix minden paraméterének beállítására. A konfigurációs paramétereket az /etc/postfix/main.cf
fájl tárolja. Ha később egy adott paramétert újra szeretne konfigurálni, akkor futtathatja a parancsot, vagy saját kezűleg is módosíthatja a fájlban.
A postafiók-formátum átállításához Maildir formátummá:
sudo postconf -e 'home_mailbox = Maildir/'
Ez az új leveleket a /home/felhasználónév/Maildir könyvtárba fogja helyezni, ezért a levélkézbesítő ügynököt (MDA) ugyanezen útvonal használatára kell beállítani. |
Az SMTP-AUTH lehetővé teszi a kliensek számára egy hitelesítési mechanizmus (SASL) segítségével történő azonosítást. A hitelesítési folyamat titkosítására a TLS-t kell használni. A hitelesítés után az SMTP-kiszolgáló engedélyezi a kliensnek a levelek továbbítását.
-
Állítsa be a Postfixet SMTP-AUTH-ra SASL (Dovecot SASL) használatával:
sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth-client' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' sudo postconf -e 'inet_interfaces = all'
Az smtpd_sasl_path beállításba lévő útvonal a Postfix sorkönyvtárához képest értendő.
-
Ezután szerezzen be egy digitális tanúsítványt a TLS-hez. Részletekért lásd: „Tanúsítványok”. Ez a példa is egy hitelesítésszolgáltatót (CA) használ. A CA-tanúsítvány előállításával kapcsolatos információkért lásd: „Hitelesítésszolgáltató”.
A digitális tanúsítványt beszerezheti egy hitelesítésszolgáltatótól. A webes kliensekkel ellentétben az SMTP-kliensek ritkán panaszkodnak az „önaláírt tanúsítványok” miatt, ezért saját kezűleg is létrehozhatja a tanúsítványt. További részletekért lásd: „Önaláírású tanúsítvány létrehozása”.
-
Ha megvan a tanúsítvány, állítsa be a Postfixet a TLS titkosítás biztosítására a bejövő és kimenő levelekhez:
sudo postconf -e 'smtpd_tls_auth_only = no' sudo postconf -e 'smtp_use_tls = yes' sudo postconf -e 'smtpd_use_tls = yes' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s' sudo postconf -e 'tls_random_source = dev:/dev/urandom' sudo postconf -e 'myhostname = mail.példa.hu'
-
Ha saját hitelesítésszolgáltatót használ a tanúsítvány aláírására, akkor adja ki a következőt:
sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'
A tanúsítványokkal kapcsolatos további részletekért lásd: „Tanúsítványok”.
A parancsok futtatása után a Postfix beállítása az SMTP-AUTH használatára kész, és létrejött egy önaláírt tanúsítvány a TLS titkosításhoz. |
Ezután az /etc/postfix/main.cf
fájlnak valahogy így kell kinéznie.
A Postfix kiinduló beállítása kész. Futtassa a következő parancsot a postfix démon újraindításához:
sudo /etc/init.d/postfix restart
A Postfix támogatja az RFC2554 által meghatározott SMTP-AUTH-ot. Ennek alapja a SASL. Az SMTP-AUTH használatához ennek ellenére szükség van a SASL hitelesítés beállítására.
A Postfix két SASL-megvalósítást támogat, ezek a Cyrus SASL és Dovecot SASL. A Dovecot SASL engedélyezéséhez telepíteni kell a dovecot-common csomagot. Adja ki a következő parancsot:
sudo apt-get install dovecot-common
Az /etc/dovecot/dovecot.conf
fájlt kell szerkesztenie. Az auth default szakaszban vegye ki megjegyzésből a socket listen beállítást, és módosítsa a következőt:
socket listen { #master { # Master socket provides access to userdb information. It's typically # used to give Dovecot's local delivery agent access to userdb so it # can find mailbox locations. #path = /var/run/dovecot/auth-master #mode = 0600 # Default user/group is the one who started dovecot-auth (root) #user = #group = #} client { # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. path = /var/spool/postfix/private/auth-client mode = 0660 user = postfix group = postfix } }
Ahhoz hogy az Outlook kliensek SMTPAUTH-ot használhassanak, az /etc/dovecot/dovecot.conf auth default szakaszához adja hozzá a „login” lehetőséget:
mechanisms = plain login
A Dovecot beállítása után indítsa újra azt:
sudo /etc/init.d/dovecot restart
A másik lehetőség a Postfix SMTP-AUTH használatára való beállításának a dovecot-postfix csomag. Ez a csomag telepíti a Dovecotot, és beállítja a Postfixet ennek használatára a SASL-hitelesítésre és levélkézbesítő ügynökként (MDA) is. A csomag beállítja a Dovecotot IMAP, IMAPS, POP3 és POP3S használatához is.
Az IMAP, IMAPS, POP3 vagy POP3S futtatása a felhasználási módtól függően lehet szükséges vagy fölösleges a levelezőkiszolgálón. Levélátjáró, spam/vírusszűrő stb. esetén egyszerűbb lehet a fenti parancsok használata a Postfix beállítására SMTPAUTH használatához. |
A csomag telepítéséhez adja ki a következő parancsot:
sudo apt-get install dovecot-postfix
Ezzel rendelkezésére áll egy működő levelezőkiszolgáló, de még van néhány beállítás, amelyek módosítása szükséges lehet. A csomag például az ssl-cert csomag tanúsítványát és kulcsát használja. Éles környezetben az adott géphez generált tanúsítványt és kulcsot kell használni. További részletekért lásd: „Tanúsítványok”.
Miután előállította a tanúsítványt és kulcsot a géphez, módosítsa a következő beállításokat az /etc/postfix/main.cf
fájlban:
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
Majd indítsa újra a Postfixet:
sudo /etc/init.d/postfix restart
Az SMTP-AUTH beállítása kész, ideje kipróbálni a működését.
Az SMTP-AUTH és a TLS megfelelő működésének ellenőrzéséhez adja ki a következő parancsot:
telnet mail.példa.hu 25
Miután létrejött a kapcsolat a postfix levelezőkiszolgálóhoz, írja be a következőt:
ehlo mail.példa.hu
Ha egyebek mellett az alábbi sorokat látja, akkor minden megfelelően működik. A kilépéshez írja be a quit parancsot.
250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME
Ez a szakasz néhány általános módszert ismertet a hibák okainak meghatározására.
Az Ubuntu postfix csomagja biztonsági okból alapértelmezésben egy chroot környezetbe települ. Ez hibaelhárításkor növeli az összetettséget.
A chroot-beli működés kikapcsolásához keresse meg a következő sort az /etc/postfix/master.cf
konfigurációs fájlban:
smtp inet n - - - - smtpd
és módosítsa a következőképpen:
smtp inet n - n - - smtpd
Az új beállítások használatához újra kell indítani a Postfixet. Adja ki a következő parancsot:
sudo /etc/init.d/postfix restart
A Postfix minden naplóüzenetet a /var/log/mail.log
fájlba küld. Azonban a hiba- és figyelmeztető üzenetek néha elveszhetnek a normál naplókimenetben, ezért a /var/log/mail.err
és /var/log/mail.warn
fájlokba is naplózásra kerülnek.
A naplókba bevitt üzenetek valós idejű megjelenítéséhez használhatja a tail -f parancsot:
tail -f /var/log/mail.err
A naplóban rögzített részletek mennyisége növelhető. Alább látható néhány beállítás a fent ismertetett területek naplózási szintjének növeléséhez.
-
A TLS aktivitás naplózásának növeléséhez állítsa az smtpd_tls_loglevel beállítást 1 és 4 közötti értékre.
sudo postconf -e 'smtpd_tls_loglevel = 4'
-
Ha nem tud egy adott tartományba levelet küldeni, vagy onnan fogadni, akkor felveheti a tartományt a debug_peer_list paraméterbe.
sudo postconf -e 'debug_peer_list = problem.domain'
-
Bármely Postfix démon folyamat részletességét növelheti az
/etc/postfix/master.cf
szerkesztésével, és a -v bejegyzéshez fűzésével. Szerkessze például az smtp bejegyzést:smtp unix - - - - - smtp -v
Fontos megjegyezni, hogy a fenti naplózási módosítások végrehajtása után azok életbe léptetéséhez újra kell indítani a Postfix folyamatot: sudo /etc/init.d/postfix reload |
-
A SASL-problémák elhárításakor naplózott információk mennyiségének növeléséhez megadhatja a következő beállításokat az
/etc/dovecot/dovecot.conf
fájlban:auth_debug=yes auth_debug_passwords=yes
A Postfixhoz hasonlóan a Dovecot beállításainak módosításakor azt is újra kell indítani: sudo /etc/init.d/dovecot reload. |
A fenti beállítások némelyike jelentősen növeli a naplófájlokba küldött információk mennyiségét. Ne feledje el a hiba megszüntetése után visszaállítani a naplózási szintet a normálisra, illetve az új beállítások életbe léptetéséhez újraindítani a démont. |
Egy Postfix kiszolgáló adminisztrálása nagyon bonyolult feladat lehet. Előbb-utóbb eljuthat arra a pontra, amikor az Ubuntu közösség segítségét kell kérnie.
A Postfix problémák felvetésére, és az Ubuntu kiszolgáló közösség életébe való bekapcsolódásra remek hely a freenode #ubuntu-server IRC-csatornája. A webes fórumok egyikén is felteheti kérdéseit.
A Postfix mélyebb megismeréséhez az Ubuntu fejlesztői a The Book of Postfix című könyvet ajánlják.
Végül a Postfix weboldala is remek dokumentációkkal rendelkezik a rendelkezésre álló konfigurációs lehetőségekkel kapcsolatban.
Az Ubuntu wiki Postifx oldala is tartalmaz további információkat.