Postfix + Dovecot + Squirrelmail i usuaris locals - Xarxes PIMES

Índex general de la sèrie: Xarxes de Ordinadors per a les PIMES: Introducció

Aquest article és continuació i últim de la minisèrie:

Hola amigues i amics!

Els entusiastes volen tenir el seu propi servidor de correu. No volen utilitzar servidors en què la «Privadesa» està entre signes d'interrogació. L'encarregat d'implementar el servei en el seu petit servidor no és especialista en el tema i tractarà d'instal·lar inicialment el nucli d'un futur i complet servidor de correu. És que les «equacions» per fer un Full mailserver són una mica difícils d'entendre i d'aplicar. 😉

Anotacions a el marge

  • Cal tenir clares quines funcions realitza cada programa involucrat en un mailserver. Com a guia inicial donem tot un seguit d'enllaços útils amb el declarat propòsit que es visiten.
  • Implementar de forma manual i des de zero un complet Servei de Correu, és un procés fatigós, llevat que Vostè sigui un dels «Elegits» que realitzen diàriament aquest tipus tasca. Un Servidor de Correu està format -de forma general- per diversos programes que separadament manegen SMTP, POP / IMAP, Emmagatzematge Local dels missatges, tasques relacionades amb el tractament de l' SPAM, Antivirus, etcètera. TOTS aquests programes han de comunicar-se els uns amb els altres de forma correcta.
  • No hi ha una recepta universal o «millors pràctiques» sobre com administrar els usuaris; on i com emmagatzemar els missatges, o com fer que tots els components treballin com un tot únic.
  • L'acoblament i posada a punt d'un mailserver tendeix a ser odiós en matèries com els permisos i propietaris d'arxius, elecció de qual usuari serà l'encarregat d'un determinat procés, i en petits errors comesos en algun fitxer de esotèrica configuració.
  • A menys que vostè sàpiga molt bé que és el que està fent, el resultat final serà el d'un Servidor de Correu insegur o lleugerament no funcional. Que a la fi de la implementació No Funcioni, serà possiblement el menor dels mals.
  • Podem trobar a Internet una bona quantitat de receptes de com fer un Servidor de Correu. Una de les més completes -en la meva opinió molt personal- és la que ofereix l'autor Ivar Abrahamsen en la seva desena tercera edició de gener de 2017 «How to set up a mail server on a GNU / Linux system".
  • També recomanem la lectura de l'article «A mailserver on Ubuntu 14.04: Postfix, Dovecot, MySQL«, O"A mailserver on Ubuntu 16.04: Postfix, Dovecot, MySQL".
  • És cert. La millor documentació a l'respecte la trobarem en anglès.
    • Encara que mai fem un mailserver guiant-nos fidelment pel How to ... esmentat en el paràgraf anterior, el sol fet de seguir-pas a pas, ens donarà una molt bona idea de a què ens estarem enfrontant.
  • Si volen tenir un complet mailserver en pocs passos, poden descarregar la imatge iRedOS-0.6.0-CentOS-5.5-i386.iso, O buscar una mes moderna, sigui iRedOS o iRedMail. És la forma que personalment recomano.

Anem a instal·lar i configurar:

Queda per fer:

Com a mínim quedarien per implementar els següents serveis:

  • Postgrey: Polítiques de servidor Postfix per a les Llistes Grisos i rebutjar Correu Escombraries.
  • Amavisd-new: Script que crea una interfície entre el MTA, i els cercadors de virus i els filtres de continguts.
  • clamav Antivirus: Suite antivirus
  • SpamAssassin: Extreure Correu Escombraries
  • maquineta d'afaitar (Pyzor): Captura d'SPAM mitjançant una xarxa distribuïda i col·laborativa. La xarxa de Vipul Razor manté un catàleg actualitzat de la propagació de correu brossa o SPAM.
  • Registre DNS «DomainKeys Identified Mail» o extensió dkim.

els paquets postgrey, amavisd-new, clamav, spamassassin, razor y pizor es troben en els repositoris de programes. També trobarem a el programa opendkim.

  • La correcta declaració dels registres DNS «SPF» i «DKIM» és imprescindible sinó volem que al nostre servidor de correu acabat de posar en funcionament, se li declari indesitjable o productor de SPAM o Correu Escombraries, per altres serveis de correu com Gmail, Yahoo, Hotmail, etcètera.

comprovacions inicials

Recordem que aquest article és continuació d'altres que comencen a Squid + Autenticació PAM en CentOS juliol.

Interfície ens32 LAN connectada a la Xarxa 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.fan DNS1=127.0.0.1
ZONE = public

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

Interfície ens34 WAN connectada a Internet

[Root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE=ens34 ONBOOT=yes BOOTPROTO=static HWADDR=00:0c:29:da:a3:e7 NM_CONTROLLED=no IPADDR=172.16.10.10 NETMASK=255.255.255.0 # El Router ADSL està connectat a # El Router ADSL està connectat a # IP GATEWAY=172.16.10.1 DOMAIN=desdelinux.fan DNS1=127.0.0.1
ZONE = external

Resolució DNS des de la LAN

[root@linuxbox ~]# cat /etc/resolv.conf 
search desdelinux.fan
nameserver 127.0.0.1
nameserver 172.16.10.30

[root@linuxbox ~]# host mail
un correu electrònic.desdelinux.fan is àlies for linuxbox.desdelinux.fan. linuxbox.desdelinux.fan has address 192.168.10.5 linuxbox.desdelinux.fan mail is handled by 1 mail.desdelinux.fan.

[root@linuxbox ~]# host mail.desdelinux.fan
un correu electrònic.desdelinux.fan is àlies for linuxbox.desdelinux.fan. linuxbox.desdelinux.fan has address 192.168.10.5 linuxbox.desdelinux.fan mail is handled by 1 mail.desdelinux.fan.

Resolució DNS des d'Internet

buzz@sysadmin:~$ host mail.desdelinux.fan 172.16.10.30
Using domain server:
Name: 172.16.10.30
Address: 172.16.10.30#53
Aliases: 

mail.desdelinux.fan is an àlies for desdelinux.fan.
desdelinux.fan has address 172.16.10.10
desdelinux.fan mail is handled by 10 mail.desdelinux.fan.

Problemas al resolver localmente el nombre de host «desdelinux.fan»

Si tenen problemes amb la resolució de el nom de l'amfitrió «desdelinux.fan»Des de la LEN, Provin a comentar la línia de l'arxiu /etc/dnsmasq.conf on es declara local=/desdelinux.fan/. Posteriorment, reinicien el dnsmasq.

[Root @ linuxbox ~] # nano /etc/dnsmasq.conf # Comenteu la línia a continuació:
# local=/desdelinux.fan/

[Root @ linuxbox ~] # service dnsmasq restart
Redirecting to / bin / systemctl restart dnsmasq.service

[Root @ linuxbox ~] # service dnsmasq estatus

[root@linuxbox ~]# host desdelinux.fan
desdelinux.fan has address 172.16.10.10
desdelinux.fan mail is handled by 10 mail.desdelinux.fan.

Postfix i Dovecot

La molt extensa documentació de l'Postfix i de l'Dovecot la podem trobar a:

[Root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/
bounce.cf.default LICENSE README-Postfix-SASL-RedHat.txt COMPATIBILITY main.cf.default TLS_ACKNOWLEDGEMENTS examples README_FILES TLS_LICENSE

[Root @ linuxbox ~] # ls /usr/share/doc/dovecot-2.2.10/
AUTHORS COPYING.MIT dovecot-openssl.cnf NEWS wiki COPYING ChangeLog example-config README COPYING.LGPL documentation.txt mkcert.sh Solr-schema.xml

En CentOS 7, el MTA Postfix s'instal·la per defecte quan escollim l'opció d'un Servidor d'Infraestructura. Hem de comprovar que el context SELinux permeti escriure a l'Potfix a la cua local dels missatges:

[Root @ linuxbox ~] # getsebool -a | grep postfix
postfix_local_write_mail_spool -> on

Modificacions en el FirewallD

Mitjançant la interfície gràfica per configurar el FirewallD, hem de garantir que els serveis i ports següents es troben habilitats per a cada zona:

# ------------------------------------------------- -----
# Arranjaments al FirewallD
# ------------------------------------------------- -----
# Firewall
# Zona public: serveis http, https, imap, pop3, smtp
# Zona public: ports 80, 443, 143, 110, 25

# Zona external: serveis http, https, imap, pop3s, smtp
# Zona external: ports 80, 443, 143, 995, 25

Instal·lem Dovecot i programes necessaris

[Root @ linuxbox ~] # yum install dovecot mod_ssl procmail telnet

Configuració mínima de l'Dovecot

[Root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
protocols = Imap pop3 lmtp
escoltar = *, ::
login_greeting = Dovecot està llest!

Inhabilitam explícitament l'autenticació en text pla de l'Dovecot:

[Root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-auth.conf 
disable_plaintext_auth = yes

Declarem el Grup amb els privilegis necessaris per interactuar amb el Dovecot, i la ubicació dels missatges:

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

Certificats per al Dovecot

Dovecot genera automàticament seus certificats -de prova- basat en les dades de l'arxiu /etc/pki/dovecot/dovecot-openssl.cnf. Per tenir nous certificats generats d'acord als nostres requisits, hem de realitzar els següents passos:

[Root @ linuxbox ~] # cd / etc / pki / dovecot /
[Root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
# country (2 letter code)
C=CU
# State or Province Name (full name)
ST=Cuba
# Locality Name (eg. city)
L=Habana
# Organization (eg. company)
O=DesdeLinux.Fan
# Organizational Unit Name (eg. section)
OU=Entusiastas
# Common Name (*.example.com is also possible)
CN=*.desdelinux.fan
# E-mail contact
emailAddress=buzz@desdelinux.fan
[ cert_type ]
nsCertType = server

Eliminem els certificats de prova

[Root @ linuxbox dovecot] # rm CERT / dovecot.pem 
rm: ¿esborrar el fitxer regular «CERT / dovecot.pem»? (S / n) s
[Root @ linuxbox dovecot] # rm private / dovecot.pem 
rm: ¿esborrar el fitxer regular «private / dovecot.pem»? (S / n) s

Copiem i executem l'script mkcert.sh des del directori de la documentació

[Root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [Root @ linuxbox dovecot] # bash mkcert.sh 
Generating a 1024 bit RSA private key
......++++++
................++++++
writing new private key to '/etc/pki/dovecot/private/dovecot.pem'
-----
subject= /C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiastas/CN=*.desdelinux.fan/emailAddress=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 CERT /
total 4 -RW -------. 1 root root 1029 mai 22 16:08 dovecot.pem
[Root @ linuxbox dovecot] # ls -l private /
total 4 -RW -------. 1 root root 916 mai 22 16:08 dovecot.pem

[Root @ linuxbox dovecot] # service dovecot restart
[Root @ linuxbox dovecot] # service dovecot estatus

Certificats per al 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 private/desdelinux.fan.key

Generating a 4096 bit RSA private key
.........++
..++
writing new private key to 'private/dominio.tld.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CU
State or Province Name (full name) []:Cuba
Locality Name (eg, city) [Default City]:Habana
Organization Name (eg, company) [Default Company Ltd]:DesdeLinux.Fan
Organizational Unit Name (eg, section) []:Entusiastas
Common Name (eg, your name or your server's hostname) []:desdelinux.fan Email Address []:buzz@desdelinux.fan

Configuració mínima de l'Postfix

Afegim a la fi de l'arxiu / Etc / aliases el següent:

root: buzz

Perquè els canvis tinguin efecte executem la següent comanda:

[Root @ linuxbox ~] # newaliases

La configuració de l'Postifx la podem efectuar editant directament el fitxer /etc/postfix/main.cf o mitjançant la comanda postconf -i cuidant que tot el paràmetre que volem modificar o afegir es reflecteixi en una sola línia de la consola:

  • 'Cadascú ha de declarar les opcions que entengui i necessiti!.
[root@linuxbox ~]# postconf -e 'myhostname = desdelinux.fan'
[root@linuxbox ~]# postconf -e 'mydomain = desdelinux.fan'
[Root @ linuxbox ~] # postconf -i 'myorigin = $ mydomain'
[Root @ linuxbox ~] # postconf -i 'inet_interfaces = all'
[Root @ linuxbox ~] # postconf -i 'mydestination = $ myhostname, localhost. $ Mydomain, localhost, $ mydomain, mail. $ Mydomain, www. $ Mydomain, ftp. $ Mydomain'

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

Afegim a la fi de l'arxiu /etc/postfix/main.cf les opcions donades a continuació. Per conèixer el significat de cadascuna d'elles, recomanem la lectura de la documentació acompanyada.

Biff = no
append_dot_mydomain = no
delay_warning_time = 4h
readme_directory = no
smtpd_tls_cert_file=/etc/pki/certs/desdelinux.fan.crt
smtpd_tls_key_file=/etc/pki/private/desdelinux.fan.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

# Mida màxima de la bústia 1024 megues = 1 gyga
límit de mida de la bústia = 1073741824

recipient_delimiter = +
vida_de_cua_màxima = 7d
header_checks = regexp: / etc / postfix / header_checks
body_checks = regexp: / etc / postfix / body_checks

# Comptes que envien una còpia de l'correu entrant a un altre compte
recipient_bcc_maps = hash: / etc / postfix / cuentas_reenviando_copia

Les següents línies són importants per a determminar qui pot enviar correu i fer relay cap a altres servidors, de manera que accidentalment no configurem un "open relay» que permeti usuaris no autenticats enviar correu. Hem de comprovar les pàgines de l'ajuda del Postfix per entendre que significa cada opció.

  • 'Cadascú ha de declarar les opcions que entengui i necessiti!.
smtpd_helo_restrictions = permit_mynetworks,
 warn_if_reject reject_non_fqdn_hostname,
 reject_invalid_hostname,
 permís

smtpd_sender_restrictions = permit_sasl_authenticated,
 permit_mynetworks,
 warn_if_reject reject_non_fqdn_sender,
 reject_unknown_sender_domain,
 reject_unauth_pipelining,
 permís

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

# NOTA: L'opció "check_policy_service inet: 127.0.0.1: 10023"
# Habilita el programa Postgrey, i no la hem d'incloure
# Sinó utilitzarem Postgrey

smtpd_recipient_restrictions = reject_unauth_pipelining,
 permit_mynetworks,
 permit_sasl_authenticated,
 reject_non_fqdn_recipient,
 reject_unknown_recipient_domain,
 reject_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 permís

smtpd_data_restrictions = reject_unauth_pipelining

smtpd_relay_restrictions = reject_unauth_pipelining,
 permit_mynetworks,
 permit_sasl_authenticated,
 reject_non_fqdn_recipient,
 reject_unknown_recipient_domain,
 reject_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 permís
 
smtpd_helo_required = yes
smtpd_delay_reject = yes
disable_vrfy_command = yes

Creem els arxius / Etc / postfix / body_checks y / Etc / postfix / cuentas_reenviando_copia, I modifiquem l'arxiu / Etc / postfix / header_checks.

  • 'Cadascú ha de declarar les opcions que entengui i necessiti!.
[Root @ linuxbox ~] # nano / etc / postfix / body_checks
# Si es modifica aquest arxiu, no cal # executar postmap # Per provar les regles, executar com a root: # postmap -q 'super new v1agra' regexp: / etc / postfix / body_checks
# Ha de retornar: # REJECT Regla # 2 Anti Spam de el cos de l'missatge
/ Viagra / REJECT Regla # 1 Anti Spam de el cos de l'missatge
/ Super new v [i1] agra / REJECT Regla # 2 Anti Spam de el cos de l'missatge

[Root @ linuxbox ~] # nano / etc / postfix / cuentas_reenviando_copia
# Després de modificat, s'ha d'executar: # postmap / etc / postfix / cuentas_reenviando_copia
# I es crea o midifica l'arxiu: # /etc/postfix/comptes_reenviant_copia.db
# ------------------------------------------
# UNA sola cuenta para reenviar una copia BCC
# BCC = Black Carbon Copy
# Ejemplo:
# webadmin@desdelinux.fan buzz@desdelinux.fan

[Root @ linuxbox ~] # postmap / etc / postfix / cuentas_reenviando_copia

[Root @ linuxbox ~] # nano / etc / postfix / header_checks
# Afegir a la fi de l'arxiu # NO REQUEREIX Postmap ja que són Expressions Regulars
/ ^ Subject: =? Big5? / REJECT Chinese encoding not accepted by this server
/ ^ Subject: =? EUC-KR? / REJECT Korean encoding not allowed by this server
/ ^ Subject: ADV: / REJECT Advertisements not accepted by this server
/^From:.*\@.*\.cn/ REJECT Sorry, Chinese mail not allowed here
/^From:.*\@.*\.kr/ REJECT Sorry, Korean mail not allowed here
/^From:.*\@.*\.tr/ REJECT Sorry, Turkish mail not allowed here
/^From:.*\@.*\.ro/ REJECT Sorry, Romanian mail not allowed here
/^(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 No mass mailers allowed.
/ ^ From: "spammer / REJECT
/ ^ From: "brossa / REJECT
/^Subject:.*viagra/ discard
# Extensions perilloses
/name=[^>]*\.(bat|cmd|exe|com|pif|reg|scr|vb|vbe|vbs)/ REJECT REJECT No acceptem adjunts amb aquestes extensions

Comprovem la sintaxi, reiniciem Apache i Postifx, i habilitem i iniciem a l'Dovecot

[Root @ linuxbox ~] # postfix check
[Root @ linuxbox ~] #

[Root @ linuxbox ~] # systemctl restart httpd
[Root @ linuxbox ~] # systemctl estatus httpd

[Root @ linuxbox ~] # systemctl restart postfix
[Root @ linuxbox ~] # systemctl estatus postfix

[Root @ linuxbox ~] # systemctl estatus dovecot
● dovecot.service - Dovecot IMAP / POP3 email server Loaded: loaded (/usr/lib/systemd/system/dovecot.service; disabled; vendor preset: disabled) Active: inactive (dead)

[Root @ linuxbox ~] # systemctl enable dovecot
[Root @ linuxbox ~] # systemctl start dovecot
[Root @ linuxbox ~] # systemctl restart dovecot
[Root @ linuxbox ~] # systemctl estatus dovecot

Comprovacions a nivell de consola

  • És molt important abans de continuar amb la instal·lació i configuració d'altres programes, fer les comprovacions mínimes necessàries dels serveis SMTP i POP.

Locals des del propi servidor

Enviem un correu a l'usuari local legoles.

[Root @ linuxbox ~] # echo "Hola. Aquest és un missatge de prova" | electrònic -s "Prova" legolas

Vam comprovar la bústia de legoles.

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

Després de l'missatge 'Dovecot està Llest! procedim:

---
+ OK 'Dovecot està Llest!
USER legolas
+OK
PASS legolas
+OK Logged in.
STAT
+OK 1 559
LIST
+OK 1 messages:
1 559
.
RETR 1
+OK 559 octets
Return-Path: <root@desdelinux.fan>
X-Original-To: legolas
Delivered-To: legolas@desdelinux.fan
Received: by desdelinux.fan (Postfix, from userid 0)
    id 7EA22C11FC57; Mon, 22 May 2017 10:47:10 -0400 (EDT)
Date: Mon, 22 May 2017 10:47:10 -0400
To: legolas@desdelinux.fan
Subject: Prueba
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20170522144710.7EA22C11FC57@desdelinux.fan>
From: root@desdelinux.fan (root)

Hola. Este es un mensaje de prueba
.
QUIT
DONE
[Root @ linuxbox ~] #

Remotes des d'un equip de la LAN

Enviem un altre missatge a legoles des d'un altre equip de la LAN. Observem que NO és estrictament necessària la seguretat TLS dins de la Xarxa PIME.

buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \
-t legolas@desdelinux.fan \
-u "Hola" \
-m "Salutacions Legolas del teu amic Buzz" \
-s mail.desdelinux.fan -o tls=no
May 22 10:53:08 sysadmin sendemail [5866]: E-mail was sent successfully!

Si intentem connectar-nos mitjançant telnet d'un sistema principal de la LAN -o des d'Internet, és clar- a l'Dovecot, passarà el següent a causa de que inhabilitam l'autenticació en text pla:

buzz@sysadmin:~$ telnet mail.desdelinux.fan 110Trying 192.168.10.5...
Connected to linuxbox.desdelinux.fan.
Escape character is '^]'.
+OK ¡Dovecot está Listo!
user legolas
-ERR [AUTH] plaintext authentication disallowed on non-secure (SSL / TLS) connections.
quit + OK Logging out Connection closed by foreign host.
buzz @ sysadmin: ~ $

Hem de fer-ho mitjançant openssl. La sortida completa de la comanda seria:

buzz@sysadmin:~$ openssl s_client -crlf -connect mail.desdelinux.fan:110 -starttls pop3
Connectat (00000003)
depth=0 C = CU, ST = Cuba, L = Habana, O = DesdeLinux.Fan, OU = Entusiastas, CN = *.desdelinux.fan, emailAddress = buzz@desdelinux.fan
verify error: num = 18: self signed certificate verify return: 1
depth=0 C = CU, ST = Cuba, L = Habana, O = DesdeLinux.Fan, OU = Entusiastas, CN = *.desdelinux.fan, emailAddress = buzz@desdelinux.fan
verify return:1
---
Certificate chain
 0 s:/C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiastas/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan
   i:/C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiastas/CN=*.desdelinux.fan/emailAddress=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=Entusiastas/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan
issuer=/C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiastas/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan
---
No client certificate CA names sent
Server Temp Key: ECDH, secp384r1, 384 bits
---
SSL handshake has read 1342 bytes and written 411 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB6C5295BF4E2D73A
    Session-ID-ctx: 
    Master-Key: 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    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 de 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.....<.

    Start Time: 1495484262
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
+ OK 'Dovecot està Llest!
USER legoles
+ OK
PASS legoles
+ OK Logged in.
LLISTA
+ OK 1 messages: gener 1.
RETR 1
+OK 1021 octets
Return-Path: <buzz@deslinux.fan>
X-Original-To: legolas@desdelinux.fan
Delivered-To: legolas@desdelinux.fan
Received: from sysadmin.desdelinux.fan (gateway [172.16.10.1])
    by desdelinux.fan (Postfix) with ESMTP id 51886C11E8C0
    for <legolas@desdelinux.fan>; Mon, 22 May 2017 15:09:11 -0400 (EDT)
Message-ID: <919362.931369932-sendEmail@sysadmin>
From: "buzz@deslinux.fan" <buzz@deslinux.fan>
To: "legolas@desdelinux.fan" <legolas@desdelinux.fan>
Subject: Hola
Date: Mon, 22 May 2017 19:09:11 +0000
X-Mailer: sendEmail-1.56
MIME-Version: 1.0
Content-Type: multipart/related; boundary="----MIME delimiter for sendEmail-365707.724894495"

This is a multi-part message in MIME format. To properly display this message you need a MIME-Version 1.0 compliant Email program.

------MIME delimiter for sendEmail-365707.724894495
Content-Type: text/plain;
        charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Saludos Legolas de tu amigo Buzz

------MIME delimiter for sendEmail-365707.724894495--
.
QUIT
+ OK Logging out. closed
buzz @ sysadmin: ~ $

Mail d'esquirol

Mail d'esquirol és un client web escrit totalment en PHP. Inclou suport PHP natiu per als protocols IMAP i SMTP, i ofereix una màxima compatibilitat amb els diferents navegadors en ús. S'executa correctament sobre qualsevol servidor IMAP. Té tota la funcionalitat que Vostè necessita d'un client de correu que inclou suport MIME, llibreta d'adreces i gestió de carpetes.

[Root @ linuxbox ~] # yum install SquirrelMail
[Root @ linuxbox ~] # service httpd restart

[Root @ linuxbox ~] # nano /etc/squirrelmail/config.php
$domain            = 'desdelinux.fan';
$imapServerAddress   = 'mail.desdelinux.fan';
$ ImapPort = 143;
$smtpServerAddress   = 'desdelinux.fan';

[Root @ linuxbox ~] # service httpd reload

Registre DNS Send Policy Framenwork o SPF

En l'article Servidor DNS Autoritari NSD + Shorewall vimos en que la Zona «desdelinux.fan» quedaba configurada de la forma siguiente:

root@ns:~# nano /etc/nsd/desdelinux.fan.zone
$ORIGIN desdelinux.fan. $TTL 3H @ IN SOA ns.desdelinux.fan. root.desdelinux.fan. (1; serial 1D; refresh 1H; retry 1W; expiri 3H); minimum or ; Negative caching time to live ; @ IN NS ns.desdelinux.fan. @ IN MX 10 mail.desdelinux.fan.
@       IN      TXT     "v=spf1 a:mail.desdelinux.fan -all"
;
; Registro para resolver consultas dig desdelinux.fan @ IN A 172.16.10.10 ; ns IN A 172.16.10.30 mail IN CNAME   desdelinux.fan. xat IN CNAME   desdelinux.fan. www IN CNAME   desdelinux.fan. ; ; Registres SRV relatius al XMPP
_xmpp-server._tcp IN SRV  0 0 5269 desdelinux.fan.
_xmpp-client._tcp   IN SRV  0 0 5222 desdelinux.fan.
_jabber._tcp        IN SRV  0 0 5269 desdelinux.fan.

S'hi declara el registre:

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

Per tenir el mateix paràmetre configurat per a la Xarxa PIME o LAN, hem de modificar el fitxer de configuració de l'dnsmasq de la forma següent:

# Registros TXT. Podemos declarar también un registro SPF
txt-record=desdelinux.fan,"v=spf1 a:mail.desdelinux.fan -all"

Després, reiniciem el servei:

[Root @ linuxbox ~] # service dnsmasq restart
[root@linuxbox ~]# service dnsmasq status

[root@linuxbox ~]# host -t TXT mail.desdelinux.fan mail.desdelinux.fan is an àlies for desdelinux.fan.
desdelinux.fan descriptive text "v=spf1 a:mail.desdelinux.fan -all"

Certificats Acte Signats i l'Apache o httpd

Encara que el seu navegador li indiqui que «El propietari de un correu electrònic.desdelinux.fan ha configurat el seu lloc web de manera incorrecta. Per evitar que la seva informació sigui robada, Firefox no ha connectat amb aquest lloc web », el certificat generat anterioremnte ÉS VÀLID, I permetrà que les credencials entre el client i el servidor viatgin encriptades, després que acceptem el certificat.

Si vostè ho desitja, i com una forma d'unificar els certificats, pot declarar per l'Apache els mateixos certificats que va declarar per al Postfix, la qual cosa és correcte.

[Root @ linuxbox ~] # nano /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/desdelinux.fan.crt
SSLCertificateKeyFile /etc/pki/tls/private/desdelinux.fan.key

[Root @ linuxbox ~] # servei httpd reiniciar
[Root @ linuxbox ~] # service httpd status

Grup Diffie-Hellman

El tema de la Seguretat es fa més difícil cada dia a Internet. Un dels atacs més comuns sobre connexions SSL, És el Encallament i per defensar-se de ell cal afegir paràmetres no estàndards a la configuració de l'SSL. Per a això hi ha la RFC-3526 «More Modular Exponential (MODP) Diffie-hellman grups for 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

D'acord amb la versió d'Apache que tinguem instal·lada, farem ús de el Grup Diffie-Helman de l'arxiu /etc/pki/tls/dhparams.pem. Si es tracta d'una versió 2.4.8 o posterior, llavors haurem de afegir a l'arxiu /etc/httpd/conf.d/ssl.conf la següent línia:

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

La versió d'Apache que estem utilitzant és la:

[Root @ linuxbox tls] # yum info httpd
Complements carregats: fastestmirror, langpacks Loading mirror Speeds from cached hostfile Paquets instal·lats Nom: httpd Arquitectura: x86_64
Versió: 2.4.6
Llançament: 45.el7.centos Mida: 9.4 M Repositori: installed Des del repositori: Base-Repo Resum: Apache HTTP Server URL: http://httpd.apache.org/ Llicència: ASL 2.0 Descripció: The Apache HTTP Server is a powerful, efficient, and extensible: web server.

Com tenim una versió anterior a la 2.4.8 vam a la fi de l'certificat CRT abans generat, el contingut d'Grup Diffie-Helman:

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

Si vostè desitja comprovar que els paràmetres DH van ser correctament addicionats a l'certificat CRT, executeu les ordres següents:

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

[root@linuxbox tls]# cat certs/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==
----- END DH PARAMETERS -----

Després d'aquests canvis, hem de reiniciar els serveis de l'Postfix i de l'httpd:

[Root @ linuxbox tls] # service postfix restart
[Root @ linuxbox tls] # service postfix per a l'estat
[Root @ linuxbox tls] # service httpd restart
[Root @ linuxbox tls] # service httpd estatus

Pot ser que la inclusió de el Grup Diffie-Helman en els nostres certificats TLS facin que la connexió mitjançant HTTPS sigui una mica més lenta, però l'addició de la seguretat bé val la pena.

comprovant Squirrelmail

DESPRÉS que els certificats estiguin correctament generats i que comprovem el seu correcte funcionament com vam fer amb les ordres de consola, apunti el seu navegador preferit a la URL http://mail.desdelinux.fan/webmail i es connectarà amb el client web després d'acceptar el certificat correponent. Observi que, tot i que especifiqui el protocol HTTP, serà redireccionat cap a HTTPS, i es deu a la configuració que per defecte ofereix CentOS per al Squirrelmail. Vegeu el fitxer /etc/httpd/conf.d/squirrelmail.conf.

Sobre les bústies dels usuaris

Dovecot crea les bústies IMAP a la carpeta casa de cada usuari:

[Root @ linuxbox ~] # ls -la /home/legolas/mail/.imap/
total 12 drwxrwx ---. 5 legolas mail 4096 mai 22 12:39. drwx ------. 3 legolas legolas 75 mai 22 11:34 .. -RW -------. 1 legolas legolas 72 mai 22 11:34 dovecot.mailbox.log -RW -------. 1 legolas legolas 8 maig 22 12:39 dovecot-UIDVALIDITY -r - r - r--. 1 legolas legolas 0 mai 22 10:12 dovecot-uidvalidity.5922f1d1 drwxrwx ---. 2 legolas mail 56 mai 22 10:23 INBOX drwx ------. 2 legolas legolas 56 mai 22 12:39 Sent drwx ------. 2 legolas legolas 30 maig 22 11:34 Trash

També es guarden a / var / mail /

[Root @ linuxbox ~] # less / var / mail / legolas
From MAILER_DAEMON  Mon May 22 10:28:00 2017
Date: Mon, 22 May 2017 10:28:00 -0400
From: Mail System Internal Data <MAILER-DAEMON@linuxbox>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
Message-ID: <1495463280@linuxbox>
X-IMAP: 1495462351 0000000008
Status: RO

This text is part of the internal format of your mail folder, and is not
a real message.  It is created automatically by the mail system software.
If deleted, important folder data will be lost, and it will be re-created
with the data reset to initial values.

From root@desdelinux.fan  Mon May 22 10:47:10 2017
Return-Path: <root@desdelinux.fan>
X-Original-To: legolas
Delivered-To: legolas@desdelinux.fan
Received: by desdelinux.fan (Postfix, from userid 0)
        id 7EA22C11FC57; Mon, 22 May 2017 10:47:10 -0400 (EDT)
Date: Mon, 22 May 2017 10:47:10 -0400
To: legolas@desdelinux.fan
Subject: Prueba
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20170522144710.7EA22C11FC57@desdelinux.fan>
From: root@desdelinux.fan (root)
X-UID: 7                                                  
Status: RO

Hola. Este es un mensaje de prueba

From buzz@deslinux.fan  Mon May 22 10:53:08 2017
Return-Path: <buzz@deslinux.fan>
X-Original-To: legolas@desdelinux.fan
Delivered-To: legolas@desdelinux.fan
Received: from sysadmin.desdelinux.fan (gateway [172.16.10.1])
        by desdelinux.fan (Postfix) with ESMTP id C184DC11FC57
        for <legolas@desdelinux.fan>; Mon, 22 May 2017 10:53:08 -0400 (EDT)
Message-ID: <739874.219379516-sendEmail@sysadmin>
From: "buzz@deslinux.fan" <buzz@deslinux.fan>
To: "legolas@desdelinux.fan" <legolas@desdelinux.fan>
Subject: Hola
Date: Mon, 22 May 2017 14:53:08 +0000
X-Mailer: sendEmail-1.56
MIME-Version: 1.0
Content-Type: multipart/related; boundary="----MIME delimiter for sendEmail-794889.899510057
/ Var / mail / legolas

Resum de la minisèrie PAM

Hem vist el nucli d'un mailserver i fet una mica d'èmfasi en la seguretat. Esperem que l'article serveixi com a Punt d'Entrada a tema tan complicat i susceptible de cometre errors com és la implementació d'un Servidor de Correu de forma manual.

Utilitzem l'autenticació local d'usuaris perquè si vam llegir bé l'arxiu /etc/dovecot/conf.d/10-auth.conf, Veurem que a la fi s'inclou -per defecte- l'arxiu d'autenticació dels usuaris de sistema ! Include auth-system.conf.ext. Percisamente aquest arxiu ens diu en la seva capçalera que:

[Root @ linuxbox ~] # less /etc/dovecot/conf.d/auth-system.conf.ext
# Authentication for system users. Included from 10-auth.conf. # # # # PAM authentication. Preferred Nowadays by most systems.
# PAM is Typically used with either userdb passwd or userdb static. # REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM # authentication to actually work. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = yes] [max_requests = ] # [Cache_key = ] [ ] #Args = dovecot}

I hi ha l'altre arxiu /etc/pam.d/dovecot:

[Root @ linuxbox ~] # cat /etc/pam.d/dovecot 
#% PAM-1.0 auth required pam_nologin.so auth include password-auth account include password-auth session include password-auth

Què intentem transmetre sobre l'autenticació PAM ?.

  • CentOS, Debian, Ubuntu, i moltes altres distribucions Linux, instal·len a l'Postifx i a l'Dovecot amb l'autenticació local habilitada per defecte.
  • Molts articles a Internet utilitzen el MySQL -i més recentment MariaDB- per emmagatzemar els usuaris i altres dades que fan referència a un mailserver. PERÒ es tracta de servidors per MILERS D'USUARIS, i no per una clàssica Xarxa PIME amb -per ventura- centenars d'usuaris.
  • L'autenticació mitjançant PAM és necessària i suficient per a brindar serveis de xarxes sempre que aquests s'executin en un sol servidor com hem vist en aquesta minisèrie.
  • Es pot mapejar als usuaris emmagatzemats en una base de dades LDAP com si fossin usuaris locals, i emprar l'autenticació PAM per brindar serveis de xarxes des de diferents servidors Linux que actuïn com a clients LDAP de servidor d'autenticació central. D'aquesta manera, treballaríem amb les credencials dels usuaris emmagatzemades a la base de dades de servidor central LDAP, i NO seria imprescindible mantenir una base de dades amb usuaris locals.

Fins la propera aventura!


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   llangardaix va dir

    Creu-me que a la pràctica això és un procés que a més d'un sysadmin li dóna mals de caps forts, estic convençut que a futur serà una guia de referència per a tot aquell que desitgi gestionar de manera pròpia els seus correus electrònics, cas pràctic que es converteix en un abc a l'hora d'integrar postfix, dovecot, SquirrelMail ..

    Moltes gràcies per la teva lloable aportació,

  2.   Darko va dir

    Per què no fer servir Mailpile, si de seguretat es tracta, amb PGP? També Roundcube té una interfície molt més intuïtiva i també pot integrar PGP.

  3.   Martin va dir

    Fa 3 dies que vaig llegir el post, es ma pas donar-te les gràcies. No tinc pensat instal·lar un servidor de correu però sempre és d'ajuda veure la creació de certificats, útil per a altres aplicacions i difícilment caduquen aquests tutorials (mes tot i que fas servir CentOS).

  4.   federico va dir

    Manuel Cillero: Gràcies per enllaçar cap a i des del teu bloc aquest article que és el nucli mínim d'un servidor de correu basat en Postfix i Dovecot.

    Llangardaix: Com sempre, el teu avaluació és molt ben rebuda. Gràcies.

    Darko: En gairebé tots els meus article exprés mes o menys que «Cadascú implementi els serveis amb els programes que més li agradi». Gràcies per fer comentaris.

    Martin: Gràcies a tu també per llegir l'article i espero et sigui ajuda en el teu treball.

  5.   Zodiac Carburus va dir

    Tremendo article amic Federico. Mil Gràcies per tan bon Estatut.

  6.   Archy va dir

    exelente encara que jo usaria «usuaris virtuals» per no haver de crear un usuari de sistema cada vegada que afegeixo un correu, gràcies va aprendre un munt de coses noves i aquest és el tipus de post que estava esperant

  7.   Wilinton Acevedo Roda va dir

    Bona tarda,

    S'animarien a fer un d'igual amb fedora directory server + postifx + dovecot + thunderbird o Outlook.

    Tengo una parte pero estoy pegado, con gusto compartiria el documento a la comunidad @desdelinux

  8.   fic va dir

    No vaig imaginar que arribés a mes de 3000 visites !!!

    Salutacions Lagarto!

  9.   Darkend va dir

    Excel·lent tutorial col·lega.
    Podries fer-ho per a Debian 10 amb usuaris d'un Active Directory muntat sobre Samba4 ???
    Imagino que seria gairebé el mateix però canviant el tipus d'autenticació.
    Molt interessant l'apartat que dediques a la creació dels certificats autofirmados.