Autentificare SMTP in postfix

Configurare noua (How To)

Situatie

Pentru a configura autentificarea SMTP se pot urma pasii de mai jos:

Solutie

Pasi de urmat

Se configureaza Postfix pentru autentificarea SMTP-AUTH cu SASL (Dovecot SASL)

sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth'
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'

Trebuie sa generam sau sa obtinem un certificat TLS pentru a il aplica.

Nota:

MUA-urile care se conectează la serverul de mail prin TLS vor trebui să recunoască certificatul utilizat pentru TLS. Acest lucru se poate face fie folosind un certificat de la un CA comercial, fie cu un certificat semnat de sine, pe care utilizatorii îl instalează / acceptă manual. Pentru MTA la MTA Certificatele TLS nu sunt niciodată validate fără acordul prealabil al organizațiilor afectate. Pentru MTA către MTA TLS, cu excepția cazului în care politica locală o impune, nu există niciun motiv să nu utilizați un certificat auto-semnat.

Odata ce avem un certificat, configuram postfix sa furnizeze criptare TLS pentru mail-urile care vin si pleaca:

sudo postconf -e 'smtp_tls_security_level = may'
sudo postconf -e 'smtpd_tls_security_level = may'
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 'myhostname = mail.example.com'

Daca folosim o autoritate proprie pentru semnarea certificatului, folsim comanda:

sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'

In urma pasilor de mai sus, postfix este configurat pentru SMTP-AUTH si un certificat self-signed a fost creat pentru criptarea TLS.

Fisierul /etc/postfix/main.cf ar trebui sa arate in felul urmator:

# See /usr/share/postfix/main.cf.dist for a commented, more complete
# version

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = server1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.example.com, localhost.example.com, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject _unauth_destination
smtpd_tls_auth_only = no
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Aplicam restart serviciului de postfix:

sudo systemctl restart postfix.service

Tip solutie

Permanent
Etichetare:

Voteaza

(6 din 20 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?