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
Postfix supports SMTP-AUTH as defined in RFC2554. It is based on SASL. However it is still necessary to set up SASL authentication before you can use SMTP-AUTH.
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 } }
In order to let Outlook clients use SMTP-AUTH, in the auth default section of /etc/dovecot/dovecot.conf add "login":
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.
You may or may not want to run IMAP, IMAPS, POP3, or POP3S on your mail server. For example, if you are configuring your server to be a mail gateway, spam/virus filter, etc. If this is the case it may be easier to use the above commands to configure Postfix for SMTP-AUTH. |
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.