Postfix: installazione, configurazione, trucchi

Da Guide@Debianizzati.Org.
Versione del 17 giu 2017 alle 07:51 di HAL 9000 (discussione | contributi) (guida da adottare)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca
Guida da adottare! Bannermv.png


Introduzione

Postfix è l'MTA (agente di trasferimento della posta) di Wietse Venema, che è nato come alternativa al programma Sendmail, fino ad allora largamente usato. Postfix cerca di essere veloce, facile da amministrare e sicuro pur essendo, allo stesso tempo, compatibile con sendmail abbastanza da non confondere gli utenti. Perciò all'esterno è simile a sendmail, ma all'interno è completamente differente.
(Fonte: Postfix Debian Package)

In questa guida vedremo come configurarlo al meglio, tenendo in considerazione alcuni aspetti legati alle prestazioni e alla sicurezza.

Installazione

Per installare postfix basta il comando:

# apt-get install postfix

che in automatico rimuoverà il pacchetto exim4.
Alla fine dell'installazione partirà un semplice wizard di configurazione. Rispondete così alle domande:

  • General Type of Configuration? => Internet Site
  • Where should mail for root go? =>[Default]
  • Mail name? => L'hostname del server (FQDN)
  • Other destinations to accept mail for? =>localhost

Il server Postfix è installato e già pronto per funzionare!

Configurazione

main.cf

Il file principale di configurazione di postfix è /etc/postfix/main.cf: è in questo file che vanno inserite le modifiche alla configurazione di Postfix.
Un file di base funzionante per un servizio di posta elettronica locale può essere questo:

# Impostazioni di sistema
############################

# Impostazioni sulle directory del programma
command_directory = /usr/sbin

# Utente proprietario delle mail
mail_owner = postfix

# Gruppo proprietario
setgid_group = postdrop

# Il mio host
myhostname = mailserver.dominio.local

# Il mio dominio
mydomain = dominio.local
myorigin = $mydomain

# Domini che postfix considererà locali, per i quali smisterà
# la posta localmente
mydestination = $myhostname, localhost.$mydomain $mydomain, localhost

# Maschero la visualizzazione dei nomi host per la rete interna
masquerade_domains = $mydomain

# Banner per la connessione telenet (piccolo vezzo grafico)
smtpd_banner = $myhostname ESMTP $mail_name (Debian GNU/Linux)


# Configurazione di rete
##########################

# Networks abilitati. Impostate gli IP della vostra rete
mynetworks_style = host
mynetworks = 127.0.0.0/8


# Configurazione email
#######################

# Coda e deposito email
queue_directory = /var/spool/postfix
mail_spool_directory = /var/spool/mail

# Configuro le mailbox
mailbox_command = 
mailbox_size_limit = 0

# Definisco gli alias
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

# Interfacce abilitate
inet_interfaces = all
inet_protocols = ipv4

# Disabilitiamo il comando verify per la verifica dell’esistenza degli utenti
disable_vrfy_command = yes

# Dimensione massima dei messaggi da accettare (in byte)
message_size_limit = 20480000

# Tempo di attesa in caso di errore
smtp_error_sleep_time = 1s


# Alcune regole antispam
##########################
smtpd_recipient_restrictions =
            reject_invalid_hostname,
            reject_non_fqdn_hostname,
            reject_non_fqdn_sender,
            reject_non_fqdn_recipient,
            reject_unknown_sender_domain,
            reject_unknown_recipient_domain,
            reject_unauth_pipelining,
            permit_mynetworks,
            reject_unauth_destination,
            reject_rbl_client zombie.dnsbl.sorbs.net,
            reject_rbl_client relays.ordb.org,
            reject_rbl_client opm.blitzed.org,
            reject_rbl_client list.dsbl.org,
            reject_rbl_client sbl.spamhaus.org,
            reject_rbl_client blackholes.easynet.nl,
            permit

Con questa configurazione abbiamo già un server funzionante che smista localmente la posta per la rete interna e che invia direttamente la posta verso i domini esterni.

master.cf

Il file /etc/postfix/master.cf presenta configurazioni di più basso livello rispetto al file di configurazione principale (main.cf). Il mio consiglio è di non alterarlo se non strettamente necessario. Infatti da questo file è possibile alterare il comportamento dei singoli programmi che compongono Postfix.

Un cambiamento che può essere utili è mettere in ascolto Postfix su una porta differente rispetto alla canonica 25 del protocollo SMTP. Ad esempio, qualora volessimo per bypassare un firewall stare in ascolto sulla 2525, modifichiamo come nell'esempio l'inizio della tabella presente in master.cf:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
2525      inet  n       -       -       -       -       smtpd




Guida scritta da: Ferdybassi Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized