Postfix + Dovecot + Squirrelmail e utenti locali - Reti SMB

Indice generale della serie: Reti di computer per le PMI: Introduzione

Questo articolo è la continuazione e l'ultima della miniserie:

Ciao amici e amici!

I Appassionati vogliono avere il proprio server di posta. Non vogliono utilizzare server in cui "Privacy" è tra i punti interrogativi. La persona incaricata di implementare il servizio sul tuo piccolo server non è uno specialista in materia e inizialmente cercherà di installare il core di un futuro e completo server di posta. È che le "equazioni" per creare un server di posta completo sono un po 'difficili da capire e applicare. 😉

Annotazioni a margine

  • È necessario essere chiari su quali funzioni esegue ogni programma coinvolto in un server di posta. Come guida iniziale diamo tutta una serie di link utili con lo scopo dichiarato che vengono visitati.
  • Implementare manualmente un servizio di posta completo da zero è un processo faticoso, a meno che tu non sia uno dei "Prescelti" che svolgono questo tipo di attività su base giornaliera. Un server di posta è generalmente costituito da vari programmi che gestiscono separatamente SMTP, POP / IMAP, Archiviazione locale dei messaggi, attività relative al trattamento dei file SPAM, Antivirus, ecc. TUTTI questi programmi devono comunicare tra loro correttamente.
  • Non esiste una taglia unica o "best practice" su come gestire gli utenti; dove e come memorizzare i messaggi o come far funzionare tutti i componenti come un unico insieme.
  • L'assemblaggio e la messa a punto di un server di posta tende ad essere odioso in questioni come permessi e proprietari di file, scegliendo quale utente sarà responsabile di un determinato processo e in piccoli errori commessi in alcuni file di configurazione esoterici.
  • A meno che tu non sappia molto bene cosa stai facendo, il risultato finale sarà un server di posta insicuro o leggermente non funzionante. Che alla fine dell'implementazione non funzioni, forse sarà l'ultimo dei mali.
  • Su Internet possiamo trovare un buon numero di ricette su come realizzare un Mail Server. Uno dei più completi -a mio personalissimo parere- è quello offerto dall'autore ivar abrahamsen alla tredicesima edizione di gennaio 2017 «Come configurare un server di posta su un sistema GNU / Linux«.
  • Consigliamo inoltre di leggere l'articolo «Un server di posta su Ubuntu 14.04: Postfix, Dovecot, MySQL«, o «Un server di posta su Ubuntu 16.04: Postfix, Dovecot, MySQL«.
  • Vero. La migliore documentazione al riguardo può essere trovata in inglese.
    • Anche se non creiamo mai un Mailserver guidato fedelmente dal Come… accennato nel paragrafo precedente, il solo fatto di seguirlo passo dopo passo ci darà un'ottima idea di ciò che dovremo affrontare.
  • Se vuoi avere un Mailserver completo in pochi passaggi, puoi scaricare l'immagine iRedOS-0.6.0-CentOS-5.5-i386.iso, oppure cercane uno più moderno, che si tratti di iRedOS o iRedMail. È il modo che personalmente raccomando.

Stiamo per installare e configurare:

Resta da fare:

Almeno i seguenti servizi rimarrebbero da implementare:

  • post-grigio: Criteri del server Postfix per le liste grigie e rifiuto della posta indesiderata.
  • Amavisd-nuovo: script che crea un'interfaccia tra l'MTA e gli scanner antivirus e i filtri dei contenuti.
  • Antivirus Clamav: suite di virus
  • SpamAssassin: estrae la posta indesiderata
  • Rasoio (Pizor): Cattura dello SPAM attraverso una rete distribuita e collaborativa. La rete Vipul Razor mantiene un catalogo aggiornato della propagazione di posta indesiderata o SPAM.
  • Record DNS "DomainKeys Identified Mail" o DKIM.

I pacchetti postgrey, amavisd-new, clamav, spamassassin, rasoio y pizor Si trovano nei repository del programma. Troveremo anche il programma openkim.

  • La corretta dichiarazione dei record DNS "SPF" e "DKIM" è essenziale se non vogliamo che il nostro server di posta appena avviato venga dichiarato indesiderabile o un produttore di SPAM o posta indesiderata, da altri servizi di posta come Gmail, Yahoo, Hotmail, eccetera.

Controlli iniziali

Ricorda che questo articolo è la continuazione di altri che iniziano in Autenticazione Squid + PAM su CentOS 7.

Interfaccia LAN Ens32 collegata alla rete interna

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:da:a3:e7
NM_CONTROLLED=no
IPADDR=192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DOMAIN=desdelinux.ventola DNS1=127.0.0.1
ZONA = pubblica

[root @ linuxbox ~] # ifdown ens32 && ifup ens32

Interfaccia WAN Ens34 connessa a Internet

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE=ens34 ONBOOT=si BOOTPROTO=statico HWADDR=00:0c:29:da:a3:e7 NM_CONTROLLED=no IPADDR=172.16.10.10 NETMASK=255.255.255.0 # Il Router ADSL è connesso a # questa interfaccia con # il seguente indirizzo GATEWAY IP=172.16.10.1 DOMINIO=desdelinux.ventola DNS1=127.0.0.1
ZONA = esterna

Risoluzione DNS dalla LAN

[root@linuxbox ~]# cat /etc/resolv.conf ricerca desdelinux.fan nameserver 127.0.0.1 nameserver 172.16.10.30 [root@linuxbox ~]# host mail
posta.desdelinux.fan è un alias per Linuxbox.desdelinux.fan. linuxbox.desdelinux.fan ha indirizzo 192.168.10.5 linuxbox.desdelinuxLa posta .fan è gestita da 1 posta.desdelinux.fan.

[root@linuxbox ~]# hostmail.desdelinux.fan
posta.desdelinux.fan è un alias per Linuxbox.desdelinux.fan. linuxbox.desdelinux.fan ha indirizzo 192.168.10.5 linuxbox.desdelinuxLa posta .fan è gestita da 1 posta.desdelinux.fan.

Risoluzione DNS da Internet

buzz@sysadmin:~$hostmail.desdelinux.ventilatore 172.16.10.30
Utilizzando il server di dominio: Nome: 172.16.10.30 Indirizzo: 172.16.10.30#53 Alias: mail.desdelinux.fan è un alias di desdelinux.fan.
desdelinux.fan ha l'indirizzo 172.16.10.10
desdelinuxLa posta .fan è gestita da 10 posta.desdelinux.fan.

Problemi nella risoluzione del nome host localmente «desdelinux.fan"

Se hai problemi a risolvere il nome host «desdelinux.fan" dal LAN, prova a commentare la riga del file /etc/dnsmasq.conf dove è dichiarato locale=/desdelinux.fan/. Successivamente, riavvia Dnsmasq.

[root @ linuxbox ~] # nano /etc/dnsmasq.conf # Commenta la riga seguente:
#locale=/desdelinux.fan/

[root @ linuxbox ~] # riavvio del servizio dnsmasq
Reindirizzamento a / bin / systemctl riavviare dnsmasq.service

[root @ linuxbox ~] # stato del servizio dnsmasq

[root@linuxbox ~]# host desdelinux.fan
desdelinux.fan ha l'indirizzo 172.16.10.10
desdelinuxLa posta .fan è gestita da 10 posta.desdelinux.fan.

Postfix e Dovecot

La documentazione molto ampia di Postfix e Dovecot può essere trovata su:

[root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/
bounce.cf.default LICENZA README-Postfix-SASL-RedHat.txt COMPATIBILITÀ main.cf.default Esempi di TLS_ACKNOWLEDGEMENTS README_FILES TLS_LICENSE

[root @ linuxbox ~] # ls /usr/share/doc/dovecot-2.2.10/
AUTORI COPYING.MIT dovecot-openssl.cnf NOTIZIE wiki COPIA ChangeLog example-config README COPYING.LGPL documentation.txt mkcert.sh solr-schema.xml

In CentOS 7, l'MTA Postfix è installato di default quando scegliamo l'opzione di un Infrastructure Server. Dobbiamo verificare che il contesto SELinux consenta la scrittura su Potfix nella coda dei messaggi locali:

[root @ linuxbox ~] # getsebool -a | postfisso grep
postfix_local_write_mail_spool -> on

Modifiche nel Firewall D.

Utilizzando l'interfaccia grafica per configurare FirewallD, dobbiamo assicurarci che i seguenti servizi e porte siano abilitati per ciascuna zona:

# ------------------------------------------------- -----
# Correzioni in FirewallD
# ------------------------------------------------- -----
# firewall
# Zona pubblica: servizi http, https, imap, pop3, smtp
# Zona pubblica: porte 80, 443, 143, 110, 25

# Zona esterna: servizi http, https, imap, pop3s, smtp
# Zona esterna: porte 80, 443, 143, 995, 25

Installiamo Dovecot e i programmi necessari

[root @ linuxbox ~] # yum installa dovecot mod_ssl procmail telnet

Configurazione minima di Dovecot

[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
protocolli =imap pop3 lmtp
ascolta =*, ::
login_saluto = Dovecot è pronto!

Disabilitiamo esplicitamente l'autenticazione in chiaro di Dovecot:

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-auth.conf 
disable_plaintext_auth = sì

Dichiariamo il Gruppo con i privilegi necessari per interagire con Dovecot e la posizione dei messaggi:

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox: ~ / mail: INBOX = / var / mail /% u
mail_privileged_group = posta
mail_access_groups = posta

Certificati per la Dovecot

Dovecot genera automaticamente i tuoi certificati di prova in base ai dati nel file /etc/pki/dovecot/dovecot-openssl.cnf. Per avere nuovi certificati generati in base ai nostri requisiti, dobbiamo eseguire i seguenti passaggi:

[root @ linuxbox ~] # cd / etc / pki / dovecot /
[root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[ req ] default_bits = 1024 encrypt_key = yes distinti_name = req_dn x509_extensions = cert_type prompt = no [ req_dn ] # paese (codice a 2 lettere) C=CU # Nome stato o provincia (nome completo) ST=Cuba # Nome località (es. città ) L=Avana # Organizzazione (es. azienda) O=DesdeLinux.Fan # Nome dell'unità organizzativa (es. sezione) OU=Appassionati # Nome comune (è possibile anche *.example.com) CN=*.desdelinux.fan # Contatto email emailAddress=buzz@desdelinux.fan [tipo_cert] nsCertType = server

Eliminiamo i certificati di prova

[root @ linuxbox dovecot] # rm certs / dovecot.pem 
rm: eliminare il normale file "certs / dovecot.pem"? (y / n) y
[root @ linuxbox dovecot] # rm private / dovecot.pem 
rm: eliminare il normale file "private / dovecot.pem"? (y / n) y

Copiamo ed eseguiamo lo script mkcert.sh dalla directory della documentazione

[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh 
Generazione di una chiave privata RSA a 1024 bit ......++++++ ..............++++++ scrittura della nuova chiave privata in '/etc/ pki/dovecot/private/dovecot.pem' ----- soggetto= /C=CU/ST=Cuba/L=Avana/O=DesdeLinux.Fan/OU=Appassionati/CN=*.desdelinux.fan/indirizzoemail=buzz@desdelinux.fan
SHA1 Fingerprint=5F:4A:0C:44:EC:EC:EF:95:73:3E:1E:37:D5:05:F8:23:7E:E1:A4:5A

[root @ linuxbox dovecot] # ls -l certs /
totale 4 -rw -------. 1 radice radice 1029 22 maggio 16:08 dovecot.pem
[root @ linuxbox dovecot] # ls -l private /
totale 4 -rw -------. 1 radice radice 916 22 maggio 16:08 dovecot.pem

[root @ linuxbox dovecot] # riavvio del servizio dovecot
[root @ linuxbox dovecot] # stato del servizio dovecot

Certificati per Postfix

[root@linuxbox ~]# cd /etc/pki/tls/ [root@linuxbox tls]# openssl req -sha256 -x509 -nodes -newkey rsa:4096 -days 1825 \ -out certs/desdelinux.fan.crt -keyout privato/desdelinux.tasto.ventola

Generazione di una chiave privata RSA a 4096 bit .........++ ..++ scrittura della nuova chiave privata su 'private/domain.tld.key' ----- Ti verrà chiesto di inserire informazioni che verrà incorporato nella richiesta di certificato. Quello che stai per inserire è quello che viene chiamato Nome distinto o DN. Ci sono alcuni campi ma puoi lasciarne alcuni vuoti. Per alcuni campi ci sarà un valore predefinito. Se inserisci '.', il campo verrà lasciato vuoto. ----- Nome Paese (codice a 2 lettere) [XX]:Nome stato o provincia CU (nome completo) []:Nome località Cuba (es. città) [Città predefinita]:Nome organizzazione Havana (es. azienda) [ Società predefinita Ltd]:DesdeLinux.Nome dell'unità organizzativa del fan (ad esempio, sezione) []:Nome comune degli appassionati (ad esempio, il tuo nome o il nome host del tuo server) []:desdelinuxIndirizzo e-mail .fan []:buzz@desdelinux.fan

Configurazione Postfix minima

Aggiungiamo alla fine del file /etc/aliases il seguente:

radice: buzz

Affinché le modifiche abbiano effetto, eseguiamo il seguente comando:

[root @ linuxbox ~] # nuovi alias

La configurazione di Postifx può essere eseguita modificando direttamente il file /etc/postfix/main.cf o per comando postconf -e avendo cura che tutti i parametri che vogliamo modificare o aggiungere si riflettano in una sola riga della console:

  • Ognuno deve dichiarare le opzioni che comprende e di cui ha bisogno!.
[root@linuxbox ~]# postconf -e 'mionomehost = desdelinux.fan'
[root@linuxbox ~]# postconf -e 'miodominio = desdelinux.fan'
[root @ linuxbox ~] # postconf -e 'myorigin = $ mydomain'
[root @ linuxbox ~] # postconf -e 'inet_interfaces = all'
[root @ linuxbox ~] # postconf -e 'mydestination = $ myhostname, localhost. $ mydomain, localhost, $ mydomain, mail. $ mydomain, www. $ mydomain, ftp. $ mydomain'

[root @ linuxbox ~] # postconf -e 'mynetworks = 192.168.10.0/24, 172.16.10.0/24, 127.0.0.0/8'
[root @ linuxbox ~] # postconf -e 'mailbox_command = / usr / bin / procmail -a "$ EXTENSION"'
[root @ linuxbox ~] # postconf -e 'smtpd_banner = $ myhostname ESMTP $ mail_name ($ mail_version)'

Aggiungiamo alla fine del file /etc/postfix/main.cf le opzioni fornite di seguito. Per conoscere il significato di ciascuno di essi, consigliamo di leggere la documentazione allegata.

biff = n
append_punto_miodominio = no
ritardo_avviso_tempo = 4 ore
directory_leggimi = no
smtpd_tls_cert_file=/etc/pki/certs/desdelinux.fan.crt
smtpd_tls_key_file=/etc/pki/private/desdelinux.tasto.ventola
smtpd_use_tls = sì
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_relay_restrictions = allow_mynetworks allow_sasl_authenticated defer_unauth_destination

# Dimensione massima della casella di posta 1024 megabyte = 1 ge g
casella_dimensione_limit = 1073741824

delimitatore_destinatario = +
durata_coda_massima = 7 giorni
header_checks = regexp: / etc / postfix / header_checks
body_checks = regexp: / etc / postfix / body_checks

# Account che inviano una copia della posta in arrivo a un altro account
recipient_bcc_maps = hash: / etc / postfix / accounts_ forwarding_copy

Le righe seguenti sono importanti per determinare chi può inviare posta e inoltrarla ad altri server, in modo da non configurare accidentalmente un "inoltro aperto" che consente agli utenti non autenticati di inviare posta. Dobbiamo consultare le pagine della guida di Postfix per capire cosa significa ciascuna opzione.

  • Ognuno deve dichiarare le opzioni che comprende e di cui ha bisogno!.
smtpd_helo_restrictions = allow_mynetworks,
 warn_if_reject disable_non_fqdn_hostname,
 rifiuto_invalid_hostname,
 permesso

smtpd_sender_restrictions = allow_sasl_authenticated,
 allow_mynetworks,
 warn_if_reject disable_non_fqdn_sender,
 Reject_unknown_sender_domain,
 rifiuta_unauth_pipelining,
 permesso

smtpd_client_restrictions = rifiuta_rbl_client sbl.spamhaus.org,
 rifiuta_rbl_client blackholes.easynet.nl

# NOTA: l'opzione "check_policy_service inet: 127.0.0.1: 10023"
# abilita il programma Postgrey e non dovremmo includerlo
# altrimenti useremo Postgrey

smtpd_recipient_restrictions = rifiuta_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 rifiuto_non_fqdn_recipient,
 Reject_unknown_recipient_domain,
 rifiuto_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 permesso

smtpd_data_restrictions = rifiuta_unauth_pipelining

smtpd_relay_restrictions = rifiuta_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 rifiuto_non_fqdn_recipient,
 Reject_unknown_recipient_domain,
 rifiuto_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 permesso
 
smtpd_helo_required = sì
smtpd_delay_reject = sì
disable_vrfy_command = sì

Creiamo i file / etc / postfix / body_checks y / etc / postfix / accounts_forwarding_copye modifichiamo il file / etc / postfix / header_checks.

  • Ognuno deve dichiarare le opzioni che comprende e di cui ha bisogno!.
[root @ linuxbox ~] # nano / etc / postfix / body_checks
# Se questo file viene modificato, non è necessario # eseguire postmap # Per testare le regole, esegui come root: # postmap -q 'super new v1agra' regexp: / etc / postfix / body_checks
# Dovrebbe tornare: # REJECT Regola # 2 Corpo del messaggio anti spam
/ viagra / REJECT Regola # 1 Anti Spam del corpo del messaggio
/ super new v [i1] agra / REJECT Regola # 2 Corpo del messaggio anti spam

[root @ linuxbox ~] # nano / etc / postfix / accounts_ forwarding_copy
# Dopo la modifica, è necessario eseguire: # postmap / etc / postfix / accounts_ forwarding_copy
# e il file viene creato o misurato: # /etc/postfix/accounts_forwarding_copy.db
# ---------------------------------- -- # UN account per inoltrare un BCC copy # BCC = Black Carbon Copy # Esempio: # webadmin@desdelinux.ronzio dei fan@desdelinux.fan

[root @ linuxbox ~] # postmap / etc / postfix / accounts_ forwarding_copy

[root @ linuxbox ~] # nano / etc / postfix / header_checks
# Aggiungi alla fine del file # NON RICHIEDE Postmap in quanto sono espressioni regolari
/ ^ Oggetto: =? Big5? / REJECT Codifica cinese non accettata da questo server
/ ^ Oggetto: =? EUC-KR? / REJECT Codifica coreana non consentita da questo server
/ ^ Oggetto: ADV: / REJECT Annunci non accettati da questo server
/^From:.*\@.*\.cn/ REJECT Spiacenti, la posta cinese non è consentita qui
/^From:.*\@.*\.kr/ REJECT Spiacenti, la posta coreana non è consentita qui
/^From:.*\@.*\.tr/ REJECT Spiacenti, la posta turca non è consentita qui
/^From:.*\@.*\.ro/ REJECT Spiacenti, la posta rumena non è consentita qui
/^(Received|Message-Id|X-(Mailer|Sender)):.*\b(AutoMail|E-Broadcaster|Emailer Platinum | Thunder Server | eMarksman | Extractor | e-Merge | from stealth [^.] | Global Messenger | GroupMaster | Mailcast | MailKing | Match10 | MassE-Mail | massmail \ .pl | News Breaker | Powermailer | Quick Shot | Ready Aim Fire | WindoZ | WorldMerge | Yourdora | Lite) \ b / REJECT Nessun invio di massa consentito.
/ ^ From: "spammer / REJECT
/ ^ From: "spam / REJECT
/^Oggetto:.*viagra/ DISCARD
# Estensioni pericolose
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / REJECT REJECT Non si accettano allegati con queste estensioni

Controlliamo la sintassi, riavviamo Apache e Postifx e abilitiamo e avviamo Dovecot

[root @ linuxbox ~] # controllo postfix
[root @ linuxbox ~] #

[root @ linuxbox ~] # systemctl riavvia httpd
[root @ linuxbox ~] # systemctl status httpd

[root @ linuxbox ~] # systemctl riavvia postfix
[root @ linuxbox ~] # suffisso di stato systemctl

[root @ linuxbox ~] # systemctl status dovecot
● dovecot.service - Server di posta IMAP / POP3 di Dovecot caricato: caricato (/usr/lib/systemd/system/dovecot.service; disabilitato; preimpostazione del fornitore: disabilitato) Attivo: inattivo (morto)

[root @ linuxbox ~] # systemctl abilita dovecot
[root @ linuxbox ~] # systemctl avvia dovecot
[root @ linuxbox ~] # systemctl riavvia dovecot
[root @ linuxbox ~] # systemctl status dovecot

Controlli a livello di console

  • È molto importante prima di procedere con l'installazione e la configurazione di altri programmi, effettuare i controlli minimi necessari dei servizi SMTP e POP.

Locale dal server stesso

Inviamo un'e-mail all'utente locale Legolas.

[root @ linuxbox ~] # echo "Ciao. Questo è un messaggio di prova" | mail -s "Test" legolas

Controlliamo la casella di posta di legola.

[root @ linuxbox ~] # openssl s_client -crlf -connect 127.0.0.1:110 -starttls pop3

Dopo il messaggio Dovecot è pronto! procediamo:

---
+ OK Dovecot è pronto!
UTENTE legolas +OK PASS legolas +OK Effettuato il login. STAT +OK 1 559 LISTA +OK 1 messaggi: 1 559 . RETR 1 +OK 559 ottetti Percorso di ritorno:desdelinux.fan> X-Originale-A: legolas Consegnato-A: legolas@desdelinux.fan Ricevuto: da desdelinux.fan (Postfix, dall'ID utente 0) id 7EA22C11FC57; Lun, 22 maggio 2017 10:47:10 -0400 (EDT) Data: Lun, 22 maggio 2017 10:47:10 -0400 A: legolas@desdelinuxOggetto .fan: Test User-Agent: Heirloom mailx 12.5 7/5/10 Versione MIME: 1.0 Tipo di contenuto: text/plain; charset=us-ascii Codifica trasferimento contenuto: ID messaggio a 7 bit: <20170522144710.7EA22C11FC57@desdelinux.fan> Da: root@desdelinux.fan (root) Ciao. Questo è un messaggio di prova. BASTA FATTO
[root @ linuxbox ~] #

Telecomandi da un computer sulla LAN

Mandiamo un altro messaggio a Legolas da un altro computer sulla LAN. Si noti che la sicurezza TLS NON è strettamente necessaria all'interno della rete PMI.

buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \
-t legolas@desdelinux.fan\
-u "Ciao" \
-m "Saluti Legolas dal tuo amico Buzz" \
-s e-mail.desdelinux.fan -o tls=no
22 maggio 10:53:08 sysadmin sendemail [5866]: l'email è stata inviata con successo!

Se proviamo a connetterci tramite telnet Da un host sulla LAN - o da Internet, ovviamente - al Dovecot, accadrà quanto segue perché disabilitiamo l'autenticazione in chiaro:

buzz@sysadmin:~$ posta telnet.desdelinux.fan 110Provando 192.168.10.5...
Connesso a Linuxbox.desdelinux.fan. Il carattere di escape è '^]'. +OK Colombaia è pronta! utente legolas
-ERR [AUTH] Autenticazione in chiaro non consentita su connessioni non protette (SSL / TLS).
esci + OK Disconnessione Connessione chiusa da host esterno.
buzz @ sysadmin: ~ $

Dobbiamo farlo OpenSSL. L'output completo del comando sarebbe:

buzz@sysadmin:~$ openssl s_client -crlf -connect mail.desdelinux.fan:110 -starttls pop3
COLLEGATO (00000003)
profondità=0 C = CU, ST = Cuba, L = Avana, O = DesdeLinux.Fan, OU = Appassionati, CN = *.desdelinux.fan, indirizzoemail = buzz@desdelinux.fan
verifica errore: num = 18: certificato auto firmato verifica ritorno: 1
profondità=0 C = CU, ST = Cuba, L = Avana, O = DesdeLinux.Fan, OU = Appassionati, CN = *.desdelinux.fan, indirizzoemail = buzz@desdelinux.ventola verifica ritorno:1
--- Catena di certificati 0 s:/C=CU/ST=Cuba/L=Avana/O=DesdeLinux.Fan/OU=Appassionati/CN=*.desdelinux.fan/indirizzoemail=buzz@desdelinux.fan i:/C=CU/ST=Cuba/L=L'Avana/O=DesdeLinux.Fan/OU=Appassionati/CN=*.desdelinux.fan/indirizzoemail=buzz@desdelinux.fan
---
Server certificate
-----BEGIN CERTIFICATE-----
MIICyzCCAjSgAwIBAgIJAKUHI/2ZD+MeMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD
VQQGEwJDVTENMAsGA1UECBMEQ3ViYTEPMA0GA1UEBxMGSGFiYW5hMRcwFQYDVQQK
Ew5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECxMLRW50dXNpYXN0YXMxGTAXBgNVBAMU
ECouZGVzZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51
eC5mYW4wHhcNMTcwNTIyMjAwODEwWhcNMTgwNTIyMjAwODEwWjCBmzELMAkGA1UE
BhMCQ1UxDTALBgNVBAgTBEN1YmExDzANBgNVBAcTBkhhYmFuYTEXMBUGA1UEChMO
RGVzZGVMaW51eC5GYW4xFDASBgNVBAsTC0VudHVzaWFzdGFzMRkwFwYDVQQDFBAq
LmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu
ZmFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7wckAiNNfYSz5hdePzKuZ
m2MMuhGDvwrDSPDEcVutznbZSgJ9bvTo445TR+Bnk+OZ80lujS2hP+nBmqxzJbpc
XR7E9eWIXxr4fP4HpRrCA8NxlthEsapVMSHW+lnPBqF2b/Bt2eYyR7gJhtlP6gRG
V57MmgL8BdYAJLvxqxDIxQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJ
KoZIhvcNAQEFBQADgYEAAuYU1nIXTbXtddW+QkLskum7ESryHZonKOCelfn2vnRl
8oAgHg7Hbtg/e6sR/W9m3DObP5DEp3lolKKIKor7ugxtfA4PBtmgizddfDKKMDql
LT+MV5/DP1pjQbxTsaLlZfveNxfLRHkQY13asePy4fYJFOIZ4OojDEGQ6/VQBI8=
-----END CERTIFICATE-----
subject=/C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Appassionati/CN=*.desdelinux.fan/indirizzoemail=buzz@desdelinux.fan emittente=/C=CU/ST=Cuba/L=Avana/O=DesdeLinux.Fan/OU=Appassionati/CN=*.desdelinux.fan/indirizzoemail=buzz@desdelinux.fan --- Nessun nome CA del certificato client inviato Chiave temporanea server: ECDH, secp384r1, 384 bit --- L'handshake SSL ha letto 1342 byte e scritto 411 byte --- Nuovo, TLSv1/SSLv3, la cifratura è ECDHE-RSA-AES256 -GCM-SHA384 La chiave pubblica del server è 1024 bit È supportata la rinegoziazione sicura Compressione: NESSUNA Espansione: NESSUNA Sessione SSL: Protocollo: TLSv1.2 Cifratura: ECDHE-RSA-AES256-GCM-SHA384 ID sessione: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB 6C5295BF4E2D73A ID sessione- ctx: Master-Key: 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 Key-Arg: Nessuno Krb5 Principal: Nessuno Identità PSK: Nessuno Suggerimento identità PSK: Nessuno Suggerimento durata ticket sessione TLS: 300 (secondi) Ticket sessione TLS: 0000 - 4e 3a f8 29 7a 4f 63 72- ee f7 a6 4f fc ec 7e 1c N:.)zOcr...O..~. 0010 - 2c d4 be a8 be 92 2e ae-98 7e 87 6d 45 c5 17 a8 ,.....~.mE... 0020 - db 3a 86 80 df 8b dc 8d-f8 1f 68 6e db a7 e3 86 .:.......hn.... 0030 - 08 35 e5 eb 98 b8 a4 98-68 b1 ea f7 72 f7 c1 79 .5......h...r ..y 0040 - 89 4a 28 e3 85 a4 8b da-e9 7a 29 c7 77 bf 22 0d .J(......z).w.". 0050 - bd 5c f6 61 8c a1 14 bd-cb 31 27 66 7a dc 51 28 .\.a.....1'fz.Q( 0060 - b7 di 35 bd 2b 0f d4 ec-d3 e0 14 c8 65 03 b1 35 ..5.+.... ...e ..5 0070 - 38 34 f8 de 48 da ae 31-90 bd f6 b0 e6 9c cf 19 84..H..1........ 0080 - f5 42 56 13 88 b0 8c db-aa ee 5a d7 1b 2c dd 71 .BV.......Z..,.q 0090 - 7a f1 03 70 90 94 c9 0a-62 e5 0f 9c bf dc 3c a0 z..p.. ..b. ....<.Ora di inizio: 1495484262 Timeout: 300 (sec) Verifica codice di ritorno: 18 (certificato autofirmato) ---
+ OK Dovecot è pronto!
UTENTE legolas
+ OK
PASS Legolas
+ OK Accesso effettuato.
ELENCO
+ OK 1 messaggi: 1 1021.
INDIETRO 1
+OK 1021 ottetti Percorso di ritorno: X-Originale-To: legolas@desdelinux.fan Consegnato a: legolas@desdelinux.fan ricevuto: dall'amministratore di sistema.desdelinux.fan (gateway [172.16.10.1]) di desdelinux.fan (Postfix) con ID ESMTP 51886C11E8C0 perdesdelinux.ventaglio>; Lunedì 22 maggio 2017 15:09:11 -0400 (EDT) ID messaggio: <919362.931369932-sendEmail@sysadmin> Da: "buzz@deslinux.fan" A: "legolas@desdelinux.fan"desdelinux.fan> Oggetto: Ciao Data: lunedì 22 maggio 2017 19:09:11 +0000 X-Mailer: sendEmail-1.56 Versione MIME: 1.0 Tipo di contenuto: multipart/correlato; border="----Delimitatore MIME per sendEmail-365707.724894495" Questo è un messaggio composto da più parti in formato MIME. Per visualizzare correttamente questo messaggio è necessario un programma di posta elettronica compatibile con la versione MIME 1.0. ------Delimitatore MIME per sendEmail-365707.724894495 Tipo di contenuto: testo/semplice; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Saluti Legolas dal tuo amico Buzz ------Delimitatore MIME per sendEmail-365707.724894495-- .
SMETTERE
+ OK Esci. chiuso
buzz @ sysadmin: ~ $

Cotta di scoiattolo

Cotta di scoiattolo è un client web scritto interamente in PHP. Include il supporto PHP nativo per i protocolli IMAP e SMTP e fornisce la massima compatibilità con i diversi browser in uso. Funziona correttamente su qualsiasi server IMAP. Ha tutte le funzionalità di cui hai bisogno da un client di posta, incluso il supporto MIME, la rubrica e la gestione delle cartelle.

[root @ linuxbox ~] # yum installa squirrelmail
[root @ linuxbox ~] # riavvio del servizio httpd

[root @ linuxbox ~] # nano /etc/squirrelmail/config.php
$dominio = 'desdelinux.fan';
$imapServerAddress = 'mail.desdelinux.fan';
$ imapPort = 143;
$indirizzosmtpServer = 'desdelinux.fan';

[root @ linuxbox ~] # service httpd ricaricare

Criterio di invio DNS Framenwork o record SPF

Nell'articolo Server DNS autorevole NSD + Shorewall Abbiamo visto che la Zona «desdelinux.fan» è stato configurato come segue:

root@ns:~# nano /etc/nsd/desdelinux.zona.ventilatore
$ORIGINE desdelinux.fan. $TTL 3H @ IN SOA nn.desdelinux.fan. radice.desdelinux.fan. (1; seriale 1D; aggiorna 1H; riprova 1W; scade 3H); minimo o ; Tempo di vita della memorizzazione nella cache negativo; @IN NS ns.desdelinux.fan. @ IN MX 10 e-mail.desdelinux.fan.
@ IN TXT "v=spf1 a:mail.desdelinux.fan -all"
; ; Registrazione per risolvere query di scavo desdelinux.ventilatore @ IN A 172.16.10.10 ; ns IN UNA mail 172.16.10.30 IN CNAME   desdelinux.fan. chattare IN CNAME   desdelinux.fan. www IN CNOME   desdelinux.fan. ; ; Record SRV relativi a XMPP
_xmpp-server._tcp IN SRV 0 0 5269 desdelinux.fan. _xmpp-client._tcp IN SRV 0 0 5222 desdelinux.fan. _jabber._tcp INSRV 0 0 5269 desdelinux.fan.

In esso viene dichiarato il registro:

@ IN TXT "v=spf1 a:mail.desdelinux.fan -all"

Per avere lo stesso parametro configurato per la rete SME o LAN, dobbiamo modificare il file di configurazione Dnsmasq come segue:

# record TXT. Possiamo anche dichiarare un record SPF txt-record=desdelinux.fan,"v=spf1 a:mail.desdelinux.fan -all"

Quindi riavviamo il servizio:

[root @ linuxbox ~] # riavvio del servizio dnsmasq
[root@linuxbox ~]# servizio dnsmasq status [root@linuxbox ~]# host -t TXT mail.desdelinux.posta dei fan.desdelinux.fan è un alias di desdelinux.fan.
desdelinuxTesto descrittivo .fan "v=spf1 a:mail.desdelinux.fan -all"

Certificati autofirmati e Apache o httpd

Anche se il tuo browser ti dice che «Il proprietario di posta.desdelinux.fan Hai configurato il tuo sito web in modo errato. Per evitare che le tue informazioni vengano rubate, Firefox non si è connesso a questo sito ", il certificato generato in precedenza È VALIDOe consentirà alle credenziali tra il client e il server di viaggiare crittografate, dopo aver accettato il certificato.

Se lo desideri, e come un modo per unificare i certificati, puoi dichiarare per Apache gli stessi certificati che hai dichiarato per Postfix, il che è corretto.

[root @ linuxbox ~] # nano /etc/httpd/conf.d/ssl.conf
FileCertificatoSSL /etc/pki/tls/certs/desdelinux.fan.crt
FileChiaveCertificatoSSL /etc/pki/tls/private/desdelinux.tasto.ventola

[root @ linuxbox ~] # service httpd restart
[root @ linuxbox ~] # stato del servizio httpd

Gruppo Diffie-Hellman

La questione della sicurezza diventa ogni giorno più difficile su Internet. Uno degli attacchi più comuni alle connessioni SSL, È il inceppamento e per difendersi è necessario aggiungere parametri non standard alla configurazione SSL. Per questo c'è il RFC-3526 «Più esponenziale modulare (MODP) Diffie-Hellman gruppi per Internet Key Exchange (IKE)«.

[root @ linuxbox ~] # cd / etc / pki / tls /
[root @ linuxbox tls] # openssl dhparam -out private / dhparams.pem 2048
[root @ linuxbox tls] # chmod 600 private / dhparams.pem

A seconda della versione di Apache che abbiamo installato, useremo il Diffie-Helman Group dal file /etc/pki/tls/dhparams.pem. Se è una versione 2.4.8 o successiva, dovremo aggiungere al file /etc/httpd/conf.d/ssl.conf la riga seguente:

SSLOpenSSLConfCmd DHParameters "/etc/pki/tls/private/dhparams.pem"

La versione di Apache che stiamo utilizzando è:

[root @ linuxbox tls] # yum info httpd
Plugin caricati: più velocemirror, langpacks Velocità di caricamento del mirror dal file host memorizzato nella cache Pacchetti installati Nome: httpd Architettura: x86_64
Versione: 2.4.6
Versione: 45.el7.centos Dimensione: 9.4 M Repository: installato Dal repository: Base-Repo Riepilogo: Apache HTTP Server URL: http://httpd.apache.org/ Licenza: ASL 2.0 Descrizione: Apache HTTP Server è un potente, efficiente ed estensibile: server web.

Poiché abbiamo una versione precedente alla 2.4.8, aggiungiamo alla fine del certificato CRT generato in precedenza, il contenuto del Gruppo Diffie-Helman:

[root @ linuxbox tls] # cat private / dhparams.pem >> certificati/desdelinux.fan.crt

Se vuoi verificare che i parametri DH siano stati aggiunti correttamente al certificato CRT, esegui i seguenti comandi:

[root @ linuxbox tls] # cat private / dhparams.pem 
----- INIZIO PARAMETRI DH -----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- FINE PARAMETRI DH -----

[root@linuxbox tls]# certificati cat/desdelinux.fan.crt 
-----BEGIN CERTIFICATE-----
MIIGBzCCA++gAwIBAgIJANd9FLCkDBfzMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYD
VQQGEwJDVTENMAsGA1UECAwEQ3ViYTEPMA0GA1UEBwwGSGFiYW5hMRcwFQYDVQQK
DA5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECwwLRW50dXNpYXN0YXMxFzAVBgNVBAMM
DmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu
ZmFuMB4XDTE3MDUyMjE0MDQ1MloXDTIyMDUyMTE0MDQ1MlowgZkxCzAJBgNVBAYT
AkNVMQ0wCwYDVQQIDARDdWJhMQ8wDQYDVQQHDAZIYWJhbmExFzAVBgNVBAoMDkRl
c2RlTGludXguRmFuMRQwEgYDVQQLDAtFbnR1c2lhc3RhczEXMBUGA1UEAwwOZGVz
ZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51eC5mYW4w
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCn5MkKRdeFYiN+xgGdsRn8
sYik9X75YnJcbeZrD90igfPadZ75ehtfYIxxOS+2U+omnFgr/tCKYUVJ50seq/lB
idcLP4mt7wMrMZUDpy1rlWPOZGKkG8AdStCYI8iolvJ4rQtLcsU6jhRzEXsZxfOb
O3sqc71yMIj5qko55mlsEVB3lJq3FTDQAY2PhXopJ8BThW1T9iyl1HlYpxj7OItr
/BqiFhxbP17Fpd3QLyNiEl+exVJURYZkvuZQqVPkFAlyNDh5I2fYfrI9yBVPBrZF
uOdRmT6jv6jFxsBy9gggcy+/u1nhlKssLBEhyaKfaQoItFGCAmevkyzdl1LTYDPY
ULi79NljQ1dSwWgraZ3i3ACZIVO/kHcOPljsNxE8omI6qNFWqFd1qdPH5S4c4IR1
5URRuwyVNffEHKaCJi9vF9Wn8LVKnN/+5zZGRJA8hI18HH9kF0A1sCNj1KKiB/xe
/02wTzR/Gbj8pkyO8fjVBvd/XWI8EMQyMc1gvtIAvZ00SAB8c1NEOCs5pt0Us6pm
1lOkgD6nl90Dx9p805mTKD+ZcvRaShOvTyO3HcrxCxOodFfZQCuHYuQb0dcwoK2B
yOwL77NmxNH1QVJL832lRARn8gpKoRAUrzdTSTRKmkVrOGcfvrCKhEBsJ67Gq1+T
YDLhUiGVbPXXR9rhAyyX2QIDAQABo1AwTjAdBgNVHQ4EFgQURGCMiLVLPkjIyGZK
UrZgMkO0X8QwHwYDVR0jBBgwFoAURGCMiLVLPkjIyGZKUrZgMkO0X8QwDAYDVR0T
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAdy1tH1DwfCW47BNJE1DW8Xlyp+sZ
uYTMOKfNdnAdeSag1WshR6US6aCtU6FkzU/rtV/cXDKetAUIzR50aCYGTlfMCnDf
KKMZEPjIlX/arRwBkvIiRTU1o3HTniGp9d3jsRWD/AvB3rSus4wfuXeCoy7Tqc9U
FaXqnvxhF8/ptFeeCeZgWu16zyiGBqMj4ZaQ7RxEwcoHSd+OByg8E9IE2cYrWP2V
6P7hdCXmw8voMxCtS2s++VRd1fGqgGxXjXT8psxmY2MrseuTM2GyWzs+18A3VVFz
UXLD2lzeYs638DCMXj5/BMZtVL2a4OhMSYY4frEbggB3ZgXhDDktUb7YhnBTViM3
2sgJJOSTltOgAnyOPE0CDcyktXVCtu3PNUc+/AB3UemI9XCw4ypmTOMaIZ2Gl6Uo
pmTk41fpFuf8pqW3ntyu43lC5pKRBqhit6MoFGNOCvFYFBWcltpqnjsWfY2gG/b5
8D5HsedueqkAsVblKPBFpv1BB9X0HhBUYsrz8jNGZGbkgR4XQoIoLbQZHEB35APU
4yT1Lzc3jk34yZF5ntmFt3wETSWwJZ+0cYPw7n4E6vbs1C7iKAMQRVy+lI5f8XYS
YKfrieiPPdmQ22Zm2Tbkqi4zjJBWmstrw6ezzAQNaaAkiOiJIwvXU81KYsN37THh
Nf0/JsEjPklCugE=
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- FINE PARAMETRI DH -----

Dopo queste modifiche, dobbiamo riavviare i servizi Postfix e httpd:

[root @ linuxbox tls] # service postfix riavvio
[root @ linuxbox tls] # stato del suffisso del servizio
[root @ linuxbox tls] # riavvio del servizio httpd
[root @ linuxbox tls] # stato del servizio httpd

L'inclusione del gruppo Diffie-Helman nei nostri certificati TLS può rendere la connessione tramite HTTPS un po 'più lenta, ma vale la pena aggiungere la sicurezza.

Controllo di Squirrelmail

Despues che i certificati siano generati correttamente e che controlliamo il loro corretto funzionamento come abbiamo fatto tramite i comandi della console, punta il tuo browser preferito all'URL http://mail.desdelinux.fan/webmail e si connetterà al client web dopo aver accettato il certificato corrispondente. Nota che, anche se specifichi il protocollo HTTP, verrà reindirizzato a HTTPS, e ciò è dovuto alla configurazione predefinita che CentOS offre per Squirrelmail. Vedi il file /etc/httpd/conf.d/squirrelmail.conf.

Informazioni sulle cassette postali degli utenti

Dovecot crea le caselle di posta IMAP nella cartella home di ogni utente:

[root @ linuxbox ~] # ls -la /home/legolas/mail/.imap/
totale 12 drwxrwx ---. 5 legolas mail 4096 22 maggio 12:39. drwx ------. 3 legolas legolas 75 22 maggio 11:34 .. -rw -------. 1 legolas legolas 72 22 maggio 11:34 dovecot.mailbox.log -rw -------. 1 legolas legolas 8 maggio 22 12:39 dovecot-uidvalidity -r - r - r--. 1 legolas legolas 0 22 maggio 10:12 dovecot-uidvalidity.5922f1d1 drwxrwx ---. 2 legolas mail 56 maggio 22 10:23 INBOX drwx ------. 2 legolas legolas 56 22 maggio 12:39 Inviato drwx ------. 2 legolas legolas 30 maggio 22 11:34 Cestino

Sono anche memorizzati in / var / mail /

[root @ linuxbox ~] # meno / var / mail / legolas
Da MAILER_DAEMON lunedì 22 maggio 10:28:00 2017 Data: lunedì 22 maggio 2017 10:28:00 -0400 Da: Dati interni del sistema di posta Oggetto: NON ELIMINARE QUESTO MESSAGGIO -- DATI INTERNI DELLA CARTELLA Message-ID: <1495463280@linuxbox> . Viene creato automaticamente dal software del sistema di posta. Se eliminati, i dati importanti della cartella andranno persi e verranno ricreati con i dati reimpostati sui valori iniziali. Dalla radice@desdelinux.fan lunedì 22 maggio 10:47:10 Percorso di ritorno 2017:desdelinux.fan> X-Originale-A: legolas Consegnato-A: legolas@desdelinux.fan Ricevuto: da desdelinux.fan (Postfix, dall'ID utente 0) id 7EA22C11FC57; Lun, 22 maggio 2017 10:47:10 -0400 (EDT) Data: Lun, 22 maggio 2017 10:47:10 -0400 A: legolas@desdelinuxOggetto .fan: Test User-Agent: Heirloom mailx 12.5 7/5/10 Versione MIME: 1.0 Tipo di contenuto: text/plain; charset=us-ascii Codifica trasferimento contenuto: ID messaggio a 7 bit: <20170522144710.7EA22C11FC57@desdelinux.fan> Da: root@desdelinux.fan (root) X-UID: 7 Stato: RO Ciao. Questo è un messaggio di prova Da buzz@deslinux.fan Lunedì 22 maggio 10:53:08 2017 Percorso di ritorno: X-Originale-To: legolas@desdelinux.fan Consegnato a: legolas@desdelinux.fan ricevuto: dall'amministratore di sistema.desdelinux.fan (gateway [172.16.10.1]) di desdelinux.fan (Postfix) con ID ESMTP C184DC11FC57 perdesdelinux.ventaglio>; Lunedì 22 maggio 2017 10:53:08 -0400 (EDT) ID messaggio: <739874.219379516-sendEmail@sysadmin> Da: "buzz@deslinux.fan" A: "legolas@desdelinux.fan"desdelinux.fan> Oggetto: Ciao Data: lunedì 22 maggio 2017 14:53:08 +0000 X-Mailer: sendEmail-1.56 Versione MIME: 1.0 Tipo di contenuto: multipart/correlato; border="----Delimitatore MIME per sendEmail-794889.899510057
/ var / mail / legolas

Riepilogo della miniserie PAM

Abbiamo esaminato il nucleo di un server di posta e messo un po 'di enfasi sulla sicurezza. Ci auguriamo che l'articolo serva da punto di ingresso a un argomento tanto complicato e suscettibile di commettere errori quanto l'implementazione manuale di un server di posta.

Usiamo l'autenticazione dell'utente locale perché se leggiamo il file correttamente /etc/dovecot/conf.d/10-auth.conf, vedremo che alla fine è incluso -per impostazione predefinita- il file di autenticazione degli utenti del sistema ! include auth-system.conf.ext. Proprio questo file ci dice nella sua intestazione che:

[root @ linuxbox ~] # meno /etc/dovecot/conf.d/auth-system.conf.ext
# Autenticazione per gli utenti di sistema. Incluso da 10-auth.conf. # # # # Autenticazione PAM. Preferito al giorno d'oggi dalla maggior parte dei sistemi.
# PAM viene in genere utilizzato con userdb passwd o userdb static. # RICORDA: Avrai bisogno del file /etc/pam.d/dovecot creato affinché l'autenticazione PAM # funzioni effettivamente. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = yes] [max_requests = ] # [chiave_cache = ] [ ] #args = dovecot}

E l'altro file esiste /etc/pam.d/dovecot:

[root @ linuxbox ~] # cat /etc/pam.d/dovecot 
#% PAM-1.0 autenticazione richiesta pam_nologin.so autenticazione include password-autenticazione account include password-autenticazione sessione include password-autenticazione

Cosa stiamo cercando di trasmettere sull'autenticazione PAM?

  • CentOS, Debian, Ubuntu e molte altre distribuzioni Linux installano Postifx e Dovecot con l'autenticazione locale abilitata per impostazione predefinita.
  • Molti articoli su Internet utilizzano MySQL - e più recentemente MariaDB - per memorizzare utenti e altri dati riguardanti un server di posta. MA questi sono server per MIGLIAIA DI UTENTI, e non per una classica rete di PMI con - forse - centinaia di utenti.
  • L'autenticazione tramite PAM è necessaria e sufficiente per fornire servizi di rete fintanto che vengono eseguiti su un singolo server, come abbiamo visto in questa miniserie.
  • Gli utenti memorizzati in un database LDAP possono essere mappati come se fossero utenti locali e l'autenticazione PAM può essere utilizzata per fornire servizi di rete da diversi server Linux che agiscono come client LDAP al server di autenticazione centrale. In questo modo, lavoreremmo con le credenziali degli utenti memorizzate nel database del server LDAP centrale e NON sarebbe essenziale mantenere un database con gli utenti locali.

Alla prossima avventura!


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   lucertola suddetto

    Credetemi che in pratica questo è un processo che dà a più di un amministratore di sistema forti mal di testa, sono convinto che in futuro sarà una guida di riferimento per chiunque voglia gestire da sé le proprie email, un caso pratico che diventa in un abc quando si integrano postfix, dovecot, squirrelmail ..

    Grazie mille per il tuo lodevole contributo,

  2.   Darko suddetto

    Perché non usare Mailpile, quando si tratta di sicurezza, con PGP? Anche Roundcube ha un'interfaccia molto più intuitiva e può anche integrare PGP.

  3.   martyn suddetto

    3 giorni fa ho letto il post, so come ringraziarti. Non ho intenzione di installare un server di posta ma è sempre utile vedere la creazione di certificati, utili per altre applicazioni e questi tutorial scadono appena (soprattutto quando si usa centOS).

  4.   federico suddetto

    Manuel Cillero: Grazie per aver linkato al tuo blog questo articolo che è il nucleo minimo di un server di posta basato su Postfix e Dovecot.

    Lizard: Come sempre, la tua valutazione è molto ben accolta. Grazie.

    Darko: In quasi tutti i miei articoli dico più o meno che "Ognuno implementa i servizi con i programmi che gli piace di più". Grazie per il commento.

    Martin: Grazie anche a te per aver letto l'articolo e spero che ti aiuti nel tuo lavoro.

  5.   Zodiaco Carburus suddetto

    Articolo straordinario amico Federico. Grazie mille per un tuto così buono.

  6.   archi suddetto

    eccellente anche se userei "utenti virtuali" per evitare di dover creare un utente di sistema ogni volta che aggiungo un'email, grazie ho imparato tante cose nuove e questo è il tipo di post che stavo aspettando

  7.   Willinton Acevedo Rueda suddetto

    Buon pomeriggio,

    Sarebbero incoraggiati a fare lo stesso con fedora directory server + postifx + dovecot + thunderbird o outlook.

    Ho una parte ma sono bloccato, condividerei volentieri il documento con la community @desdelinux

  8.   phico suddetto

    Non immaginavo che avrebbe raggiunto più di 3000 visite !!!

    Saluti Lucertola!

  9.   darkend suddetto

    Eccellente collega tutorial.
    Potresti farlo per Debian 10 con utenti di una Active Directory montata su Samba4 ???
    Immagino che sarebbe quasi lo stesso ma cambiando il tipo di autenticazione.
    Molto interessante la sezione che dedichi alla creazione dei certificati autofirmati.