Indice generale della serie: Reti di computer per le PMI: Introduzione
Questo articolo è la continuazione e l'ultima della miniserie:
- Autenticazione Squid + PAM su CentOS 7.
- Gestione di utenti e gruppi locali
- Server DNS autorevole NSD + Shorewall
- Prosody IM e utenti locali
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:
- Postfix come server Maglio TRASPORTI Agentiluomo (SMTP).
- Colombaia come server POP - IMAP.
- Certificati per connessioni tramite TLS.
- Cotta di scoiattolo come interfaccia web per gli utenti.
- Record DNS relativo a «Framework delle politiche del mittente"o SPF.
- Generazione del modulo Gruppo Diffie Hellman per aumentare la sicurezza dei certificati SSL.
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!
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,
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 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).
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.
Articolo straordinario amico Federico. Grazie mille per un tuto così buono.
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
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
Non immaginavo che avrebbe raggiunto più di 3000 visite !!!
Saluti Lucertola!
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.