Postfix är den Mail Transfer Agent (MTA) som är standard i Ubuntu. Det försöker vara snabbt, enkelt att administrera och säkert. Det är kompatibelt med MTA:n sendmail. Den här avdelningen förklarar hur du installerar och konfigurerar postfix. Den förklarar också hur du sätter upp en SMTP-server som använder en säker anslutning (för att skicka e-post säkert).
Kör följande kommando för att installera postfix med SMTP-AUTH och Transport Layer Security (TLS):
sudo apt-get install postfix
Tryck helt enkelt på retur när installationsprocessen ställer frågor - vi kommer att ställa in konfigurationen mer noggrannt i nästa steg.
För att konfigurera postfix kör du följande kommando:
sudo dpkg-reconfigure postfix
Användargränssnittet kommer att visas. Välj följande värden på respektive skärm:
Ok
Internetsystem
INGEN
mail.exempel.com
mail.exempel.com, localhost.localdomain, localhost
Nej
127.0.0.0/8
Ja
0
+
alla
![]() |
|
Ersätt mail.exempel.com med din mailservers värdnamn. |
Följande steg är för att konfigurera postfix för att använda SASL för SMTP AUTH. Istället för att läsa konfigurationsfilen direkt kan du använda kommandot postconf för att konfigurera alla parametrar för postfix. Konfigurationsparametrarna kommer lagras i filen /etc/postfix/main.cf
. Om du senare vill konfigurera om en speciell parameter kan du antingen köra det här kommandot eller ändra det direkt i filen.
Configure Postfix to do SMTP AUTH using SASL (saslauthd):
postconf -e 'smtpd_sasl_local_domain =' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'smtpd_sasl_security_options = noanonymous' postconf -e 'broken_sasl_auth_clients = yes' postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' postconf -e 'inet_interfaces = all'
Open the /etc/postfix/sasl/smtpd.conf
file and add
the following lines to end of the file:
pwcheck_method: saslauthd mech_list: plain login
Next, configure the digital certificate for TLS. When asked questions, follow the instructions and answer appropriately.
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 chmod 600 smtpd.key openssl req -new -key smtpd.key -out smtpd.csr openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt openssl rsa -in smtpd.key -out smtpd.key.unencrypted mv -f smtpd.key.unencrypted smtpd.key openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 sudo mv smtpd.key /etc/ssl/private/ sudo mv smtpd.crt /etc/ssl/certs/ sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/
![]() |
|
You can get the digital certificate from a certificate authority. Alternatively, you can create the certificate yourself. Refer to Creating a self Signed Certification sub-section for more details. |
Konfigurera Postfix för att genomföra TLS-kryptering för både utgående och inkommande e-postmeddelanden:
postconf -e 'smtpd_tls_auth_only = no' postconf -e 'smtp_use_tls = yes' postconf -e 'smtpd_use_tls = yes' postconf -e 'smtp_tls_note_starttls_offer = yes' postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key' postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt' postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem' postconf -e 'smtpd_tls_loglevel = 1' postconf -e 'smtpd_tls_received_header = yes' postconf -e 'smtpd_tls_session_cache_timeout = 3600s' postconf -e 'tls_random_source = dev:/dev/urandom' postconf -e 'myhostname = mail.example.com'
![]() |
|
När du har kört alla kommandona är SMTP AUTH konfigurerat för postfix. Det självsignerade certifikatet skapas för TLS och det konfigureras av postfix. |
Nu bör filen /etc/postfix/main.cf
se ut så här.
Nu är den ursprungliga konfigurationen av postfix färdig. Kör följande kommandon för att starta postfix-demonen:
sudo /etc/init.d/postfix start
Nu är postfix installerat, konfigurerat och startat. Postfix stödjer SMTP AUTH enligt vad som beskrivs i ulink url="ftp://ftp.isi.edu/in-notes/rfc2554.txt">RFC2554
The libsasl2, sasl2-bin and libsasl2-modules are necessary to enable SMTP AUTH using SASL. You can install these applications if you have not installed them already.
sudo apt-get install libsasl2 sasl2-bin
Det krävs några ändringar för att det ska fungera ordentligt. Eftersom Postfix kör chroot:at i /var/spool/postfix
behöver SASL konfigureras för att köras i den falska rooten (/var/run/saslauthd
blir /var/spool/postfix/var/run/saslauthd
):
mkdir -p /var/spool/postfix/var/run/saslauthd rm -rf /var/run/saslauthd
För att aktivera saslauthd måste du ändra i filen /etc/default/saslauthd
och ändra eller lägg till START-variabeln. För att konfigurera saslauthd för att köras i den falska rooten, lägg till variablerna PWDIR, PIDFILE och PARAMS. Konfigurera till slut MECHANISMS efter eget tycke. Filen bör se ut såhär:
# This needs to be uncommented before saslauthd will be run # automatically START=yes PWDIR="/var/spool/postfix/var/run/saslauthd" PARAMS="-m ${PWDIR}" PIDFILE="${PWDIR}/saslauthd.pid" # You must specify the authentication mechanisms you wish to use. # This defaults to "pam" for PAM support, but may also include # "shadow" or "sasldb", like this: # MECHANISMS="pam shadow" MECHANISMS="pam"
![]() |
|
Om du föredrar kan du använda shadow istället för pam. Det här kommer skicka MD5-hashar av lösenorden, vilket är helt säkert. Användarnamnet och lösenordet som krävs för autentisering kommer att vara serverns systemanvändares användarnamn och lösenord. |
Uppdatera nu dpkgs "state" i /var/spool/portfix/var/run/saslauthd
. Initskriptet för saslauthd använder den här inställningen för att skapa den saknade katalogen med lämpliga rättigheter och rätt ägare:
dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
Konfigurationen för SMTP AUTH är färdig. Nu är det dags att starta och testa din installation. Du kan köra följande kommando för att starta SASL-demonen:
sudo /etc/init.d/saslauthd start
För att se om SMTP-AUTH och TLS fungerar som det ska kan du köra följande kommando:
telnet mail.exempel.com 25
När du har blivit ansluten till postfixservern, skriv:
ehlo mail.example.com
Om du bland annat ser följande rader fungerar allt som det ska. Skriv quit för att avsluta.
250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME