Postfix

Postfix #

Característiques #

  • Enviament de correu sortint amb SMTP
  • MTA predeterminat en ubuntu
  • Compatible amb MTA sendmail

Instal·lació #

Instal·lar #

sudo apt-get install postfix
sudo apt-get install mailutils (opcional)

Configuració inicial #

sudo dpkg-reconfigure postfix
  • S'ha de posar el domini, la xarxa

Directori de configuració #

/etc/postfix

Fitxers de logs #

sudo tail -f /var/log/syslog | grep postfix
sudo tail -f /var/log/mail.err
sudo tail -f /var/log/mail.log

Prova de funcionament #

telnet localhost 25
  • Utilitzant les comandes de SMTP enviar un correu a un usuari
  • fer login amb l'usuari i executar la comanda mail. Hauria d'apareixer el nou correu

Directives principals #

directiva descripció
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) Això és el missatge de benvinguda. Si trobem $ davant una paraula, vol dir que és una variable i volem el valor que contngui. Per exempe $myhostname posarà la cadena "roger-desktop".
myhostname = roger-desktop Estableix el nom del host servidor
alias_maps = hash:/etc/aliases Indica on està el fitxer d'àlies de correu
alias_database = hash:/etc/aliases Indica on està el fitxer de base de dades d'àlies de correu i que és de tipus "hash". "Hash" és un fitxer especial amb format binari (base de dades), obtingut a partir de un fitxer de text, que fa que la cerca d'algun valor al fitxer sigui més ràpida.
myorigin = /etc/mailname Domini origen. El domini a afegir per defecte al compte de correu que es fa servir a "mail from:".
mydestination = acme.com, roger.local, localhost.localdomain, localhost Dominis que es consideren que són el destí gestionat per aquest servidor Postfix. Quan arribi un correu amb "rcpt to:" amb un nom de domini de la llista, no es reenviarà si no que es guardarà a una bústia. Indica els dominis als que s'entrega el correu localment en lloc de reenviar-lo (acaben el seu viatge). S'ha de posar tots els noms que te l'equip local
relayhost = Adreça IP del MTA al que es reenviarà el correu d'aquest MTA.
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 Xarxa i/o hosts als que està permés reenviar el seu correu per aquest MTA. Separeu cada xarxa amb un espai. Per exemple, si es vol reenviar el correu de la xarxa 192.168.0.0/24, si aquesta és la nostra xarxa local, cal afegir-la al final.
mailbox_size_limit = 0 Tamany màxim de bústia (mailbox), 0= infinit
recipient_delimiter = + Símbol per separar els destinataris de correu
inet_interfaces = all Interfaces on escolta Postfix
: Paràmetres postfix
  • Les directives són semblants a variables. Els assignem valor fent:
paràmetre = valor
  • Per fer servir el valor guardat a un paràmetre, anteposem $:
parametre2 = $paràmetre
  • Exemples:
mydomain = midominio.com
myorigin = $mydomain
mydestination = $myhostname localhost.$mydomain localhost $mydomain
mynetworks = 192.168.0.0/24, 10.0.0.0/8

Altres directives de Postfix #

  • Les restriccions es posen en forma de llista de paràmetres separats per comes. S'avaluen d'esquerra a dreta fins trobar un que es compleixi i ja no es comprova cap més. La darrera pot ser permit o deny per indicar el cas per defecte.

  • Es pot escriure tot a la mateixa regla, però normalment és molt llarg i es fan servir fitxers DB.

  • Si el paràmetre és "hash:/dir/dir/nom-fitxer" indica que hi haurà un fitxer "nom-fitxer.db" (generat a partir del fitxer de text "nom-fitxer"). Amb la comanda postmap es genera aquest fitxer .db a partir de l'original, que conté la llista de regles a comprovar (postmap nom_fitxer). Segons el paràmetre la llista conté uns valors i accions o altres.

-Veiem algunes directives de restriccions:

  • smtpd_client_restrictions = reject_unknown_client ....... Verificar zona inversa

  • smtpd_sender_restrictions: Comprova restriccions en el moment d'enviar la comanda MAIL FROM. Hi ha moltes restriccions (per ip, domini, usuari, etc). Per exemple, per mirar qui pot enviar correu s'ha d'escriure a "main.cf":

  • smtpd_delay_reject=no # Per avaluar la restricció inmediatament

  • smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access, permit

  • I editar el fitxer /etc/postfix/access on ficarem les regles a comprovar (un cop fet, executar postmap):

joan@midominio.com reject
epi@midominio.com reject “No pots enviar correu”
  • altres
message_size_limit: Tamany màxim de missatge
mailbox_size_limit: Tamany màxim de bústia
smtpd_client_connection_count_limit: Nombre de connexions màximes des d un client smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_access, .

Comandes d'administració de postfix #

  • comandes Postfix: Aquestes comandes s'executen en mode consola per a fer operacions del servidor postfix (si volem veure l'estat del servidor postfix o compilar fitxers db)
comanda descripcio
mailq Veure la cua de missatges
postfix flush Forçar l'enviament de missatges de la cua d'espera
postmap Construir els fitxers auxiliars de Postfix
postconf Mostrar tota la configuració de Postfix
newaliases reconstruir la base de dades d'àlies