Postfix + Dovecot + Squirrelmail e usuarios locais - Redes de pemes

Índice xeral da serie: Redes informáticas para pemes: introdución

Este artigo é a continuación e última da miniserie:

Ola amigos e amigas!

O Entusiastas queren ter o seu propio servidor de correo. Non queren usar servidores onde a "privacidade" estea entre os interrogantes. A persoa encargada de implementar o servizo no seu pequeno servidor non é especialista na materia e intentará inicialmente instalar o núcleo dun futuro e completo servidor de correo. É que as "ecuacións" para facer un servidor de correo completo son un pouco difíciles de entender e aplicar. 😉

Anotacións de marxe

  • É necesario ter claras que funcións realiza cada programa implicado nun servidor de correo. Como guía inicial ofrecemos unha serie de ligazóns útiles co propósito declarado de visitalos.
  • Implantar manualmente un servizo de correo completo desde cero é un proceso cansativo, a non ser que sexas un dos "elixidos" que realicen este tipo de tarefas a diario. Un servidor de correo está formado -de xeito xeral- por varios programas que manexan por separado SMTP, POP / IMAP, Almacenamento local de mensaxes, tarefas relacionadas co tratamento do Spam, Antivirus, etc. TODOS estes programas deben comunicarse correctamente entre si.
  • Non hai ningunha ou "mellor práctica" sobre como xestionar os usuarios; onde e como almacenar mensaxes ou como facer que todos os compoñentes funcionen como un todo.
  • A montaxe e posta a punto dun servidor de correo tende a ser desagradable en asuntos como permisos e propietarios de ficheiros, escollendo que usuario se encargará dun determinado proceso e pequenos erros cometidos nalgún ficheiro de configuración esotérico.
  • A non ser que saiba moi ben o que está a facer, o resultado final será un servidor de correo inseguro ou pouco funcional. Que ao finalizar a implementación non funciona, posiblemente sexa o menor dos males.
  • Podemos atopar en Internet unha boa cantidade de receitas sobre como facer un servidor de correo. Un dos máis completos -na miña opinión moi persoal- é a que ofrece o autor Ivar Abrahamsen na súa décimo terceira edición de xaneiro de 2017 «Como configurar un servidor de correo nun sistema GNU / Linux«.
  • Tamén recomendamos ler o artigo «Un servidor de correo en Ubuntu 14.04: Postfix, Dovecot, MySQL«, ou «Un servidor de correo en Ubuntu 16.04: Postfix, Dovecot, MySQL«.
  • Certo. A mellor documentación ao respecto pódese atopar en inglés.
    • Aínda que nunca facemos un Mailserver fielmente guiado polo Como… mencionado no parágrafo anterior, o simple feito de seguilo paso a paso daranos unha moi boa idea do que nos enfrontaremos.
  • Se desexa ter un servidor de correo completo en poucos pasos, pode descargar a imaxe iRedOS-0.6.0-CentOS-5.5-i386.iso, ou busca outro máis moderno, xa sexa iRedOS ou iRedMail. É o xeito que recomendo persoalmente.

Imos instalar e configurar:

Queda por facer:

Polo menos quedarán por implementar os seguintes servizos:

  • Postgris: Políticas de servidor Postfix para as listas grises e rexeitar o correo lixo.
  • Amavisd-novo: script que crea unha interface entre o MTA e escáneres de virus e filtros de contido.
  • Antivirus Clamav: paquete antivirus
  • SpamAssassin: extraer correo lixo
  • navalla (Pyzor): Captura de SPAM a través dunha rede distribuída e colaborativa. A rede Vipul Razor mantén un catálogo actualizado de propagación de correo lixo ou SPAM.
  • Rexistro DNS "Correo identificado DomainKeys" ou DKIM.

Paquetes postgrey, amavisd-new, clamav, spamassassin, navalla y pyzor Atópanse nos repositorios do programa. Tamén atoparemos o programa opendkim.

  • A declaración correcta dos rexistros DNS "SPF" e "DKIM" é esencial se non queremos que o noso servidor de correo acabe de funcionar, sexa declarado indesexable ou sexa produtor de SPAM ou correo lixo por outros servizos de correo como Gmail, Yahoo, Hotmail, etc..

Comprobacións iniciais

Lembre que este artigo é a continuación doutros que comezan en Autenticación Squid + PAM en CentOS 7.

Interface LAN Ens32 conectada á rede 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
ZONA = pública

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

Interface WAN Ens34 conectada a Internet

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE = ens34 ONBOOT = si BOOTPROTO = estático HWADDR = 00: 0c: 29: da: a3: e7 NM_CONTROLLED = non IPADDR = 172.16.10.10 NETMASK = 255.255.255.0 # O enrutador ADSL está conectado a # esta interface co # seguinte enderezo IP GATEWAY = 172.16.10.1 DOMINIO = desdelinux.fan DNS1 = 127.0.0.1
ZONA = externa

Resolución DNS desde a LAN

[root @ linuxbox ~] # cat /etc/resolv.conf search from linux.fan nameserver 127.0.0.1 nameserver 172.16.10.30 [root @ linuxbox ~] # mail host
mail.desdelinux.fan é un alias de linuxbox.desdelinux.fan. linuxbox.desdelinux.fan ten enderezo 192.168.10.5 linuxbox.desdelinux.fan o correo é manexado por 1 mail.desdelinux.fan.

[root @ linuxbox ~] # host mail.fromlinux.fan
mail.desdelinux.fan é un alias de linuxbox.desdelinux.fan. linuxbox.desdelinux.fan ten enderezo 192.168.10.5 linuxbox.desdelinux.fan o correo é manexado por 1 mail.desdelinux.fan.

Resolución DNS desde Internet

buzz @ sysadmin: ~ $ host mail.fromlinux.fan 172.16.10.30
Usando o servidor de dominio: Nome: 172.16.10.30 Enderezo: 172.16.10.30 # 53 Alias: mail.desdelinux.fan é un alias de desdelinux.fan.
de linux.fan ten o enderezo 172.16.10.10
o correo desdelinux.fan é manexado por 10 mail.desdelinux.fan.

Problemas na resolución local do nome de host "desdelinux.fan"

Se tes problemas para resolver o nome do host «fromlinux.fan" dende LAN, intente comentar a liña do ficheiro /etc/dnsmasq.conf onde se declara local = / de linux.fan /. Despois, reinicie o Dnsmasq.

[root @ linuxbox ~] # nano /etc/dnsmasq.conf # Comenta a seguinte liña:
# local = / desdelinux.fan /

[root @ linuxbox ~] reiniciar o servizo dnsmasq
Redirixindo a / bin / systemctl reinicie dnsmasq.service

[root @ linuxbox ~] # servizo estado dnsmasq

[root @ linuxbox ~] # host de linux.fan
desdelinux.fan ten o enderezo 172.16.10.10 o correo desdelinux.fan é xestionado por 10 mail.desdelinux.fan.

Postfix e Dovecot

A documentación moi extensa de Postfix e Dovecot pódese atopar en:

[root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/
bounce.cf.default LICENCIA README-Postfix-SASL-RedHat.txt COMPATIBILIDADE main.cf.default TLS_ACKNOWLEDGEMENTS exemplos README_FILES TLS_LICENSE

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

En CentOS 7, o Postfix MTA instálase por defecto cando escollemos a opción dun servidor de infraestrutura. Debemos comprobar que o contexto SELinux permite escribir en Potfix na cola de mensaxes local:

[root @ linuxbox ~] # getsebool -a | gref postfix
postfix_local_write_mail_spool -> on

Modificacións no FirewallD

Usando a interface gráfica para configurar FirewallD, debemos asegurarnos de que os seguintes servizos e portos están habilitados para cada zona:

# ------------------------------------------------- -----
# Correccións en FirewallD
# ------------------------------------------------- -----
# Devasa
# Zona pública: servizos http, https, imap, pop3, smtp
# Zona pública: portos 80, 443, 143, 110, 25

# Zona externa: servizos http, https, imap, pop3s, smtp
# Zona externa: portos 80, 443, 143, 995, 25

Instalamos Dovecot e os programas necesarios

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

Configuración mínima do pombal

[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
protocolos = imap pop3 lmtp
escoitar = *, ::
saúdo_inicio de sesión = O pombal está listo!

Desactivamos explícitamente a autenticación de texto plano de Dovecot:

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

Declaramos o grupo cos privilexios necesarios para interactuar co pombal e a localización das mensaxes:

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

Certificados para o pombal

Dovecot xera automaticamente os seus certificados de proba en función dos datos do ficheiro /etc/pki/dovecot/dovecot-openssl.cnf. Para xerar novos certificados segundo os nosos requisitos, debemos realizar os seguintes pasos:

[root @ linuxbox ~] # cd / etc / pki / dovecot /
[root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[req] default_bits = 1024 encrypt_key = si distinguido_nome = req_dn x509_extensions = cert_type prompt = non [req_dn] # país (código de 2 letras) C = CU # Estado ou nome da provincia (nome completo) ST = Cuba # Nome da localidade (por exemplo, cidade ) L = Habana # Organización (por exemplo. Empresa) O = FromLinux.Fan # Nome da unidade organizativa (por exemplo. Sección) OU = Entusiastas # Nome común (*. Exemplo.com tamén é posible) CN = *. Desdelinux.fan # E -mail contacto emailAddress=buzz@desdelinux.fan [cert_type] nsCertType = servidor

Eliminamos os certificados de proba

[root @ linuxbox dovecot] # rm certs / dovecot.pem 
rm: eliminar o ficheiro normal "certs / dovecot.pem"? (si / n) y
[root @ linuxbox dovecot] # rm private / dovecot.pem 
rm: eliminar o ficheiro normal "private / dovecot.pem"? (si / n) y

Copiamos e executamos o script mkcert.sh do directorio de documentación

[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh 
Xerando unha clave privada RSA de 1024 bits ...... ++++++ ................ ++++++ escribindo nova clave privada en '/ etc / pki / dovecot / private / dovecot.pem '----- subject = /C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN=*.desdelinux.fan/emailAddress= buzz@desdelinux.fan SHA1 Huella dixital = 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 /
total 4 -rw -------. 1 raíz raíz 1029 22 de maio 16:08 dovecot.pem
[root @ linuxbox dovecot] # ls -l private /
total 4 -rw -------. 1 raíz raíz 916 22 de maio 16:08 dovecot.pem

[root @ linuxbox dovecot] reinicio do servizo dovecot
[root @ linuxbox dovecot] # servizo dovecot status

Certificados para 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

Xerando unha clave privada RSA de 4096 bits ......... ++ .. ++ escribindo unha nova clave privada en 'private / domain.tld.key' ----- Estás a piques de que che pidan información que se incorporará á súa solicitude de certificado. O que está a piques de ingresar é o que se chama un nome distinguido ou un DN. Hai bastantes campos pero pode deixar algúns en branco. Para algúns campos haberá un valor predeterminado. Se introduce '.', O campo quedará en branco. ----- Nome do país (código de 2 letras) [XX]: Nome do estado ou provincia da CU (nome completo) []: Nome da localidade de Cuba (por exemplo, cidade) [Cidade por defecto]: Nome da organización Habana (por exemplo, empresa) [ Empresa predeterminada Ltd]: desdeLinux.Nome da unidade organizativa (por exemplo, sección) []: nome común dos entusiastas (por exemplo, o seu nome ou o nome do servidor do servidor) []: desdelinux.fan Enderezo de correo electrónico []: buzz@desdelinux.fan

Configuración mínima de Postfix

Engadimos ao final do ficheiro / etc / aliases Seguinte:

raíz: zumbido

Para que os cambios entren en vigor, executamos o seguinte comando:

[root @ linuxbox ~] # newaliases

A configuración de Postifx pódese facer editando directamente o ficheiro /etc/postfix/main.cf ou por orde postconf -e coidando que todos os parámetros que queremos modificar ou engadir se reflictan nunha soa liña da consola:

  • Cada un debe declarar as opcións que entende e precisa..
[root @ linuxbox ~] # postconf -e 'myhostname = desdelinux.fan'
[root @ linuxbox ~] # postconf -e 'meu dominio = 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)'

Engadimos ao final do ficheiro /etc/postfix/main.cf as opcións que se indican a continuación. Para coñecer o significado de cada un deles, recomendamos ler a documentación que se acompaña.

biff = non
append_dot_mydomain = non
delay_warning_time = 4 h
readme_directory = non
smtpd_tls_cert_file = / etc / pki / certs / desdelinux.fan.crt
smtpd_tls_key_file = / etc / pki / private / desdelinux.fan.key
smtpd_use_tls = si
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

# Tamaño máximo da caixa de correo 1024 megabytes = 1 g
mailbox_size_limit = 1073741824

destinatario_delimitador = +
duración_máxima_de_cola = 7d
header_checks = regexp: / etc / postfix / header_checks
body_checks = regexp: / etc / postfix / body_checks

# Contas que envían unha copia do correo entrante a outra conta
recipient_bcc_maps = hash: / etc / postfix / accounts_ forwarding_copy

As seguintes liñas son importantes para determinar quen pode enviar correo e retransmitir a outros servidores, de xeito que non configuremos accidentalmente un "retransmiso aberto" que permita aos usuarios non autenticados enviar correo. Debemos consultar as páxinas de axuda de Postfix para comprender o que significa cada opción.

  • Cada un debe declarar as opcións que entende e precisa..
smtpd_helo_restrictions = allow_mynetworks,
 warn_if_reject refuse_non_fqdn_hostname,
 nome_hoste_invalido_rexetar,
 autorización

smtpd_sender_restrictions = permit_sasl_authenticated,
 allow_mynetworks,
 warn_if_reject refuse_non_fqdn_sender,
 rexeitar_dominio_enviador_desconocido,
 rexeitar_unauth_pipelining,
 autorización

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

# NOTA: A opción "check_policy_service inet: 127.0.0.1: 10023"
# habilita o programa Postgrey e non o debemos incluír
# doutro xeito imos usar Postgrey

smtpd_recipient_restrictions = rexeitar_unauth_pipelining,
 allow_mynetworks,
 permit_sasl_authenticated,
 rexeitar_non_fqdn_recipiente,
 rexeitar_dominio_recipiente_desconocido,
 rexeitar_unidade_destino,
 check_policy_service inet: 127.0.0.1: 10023,
 autorización

smtpd_data_restrictions = rexeitar_unauth_pipelining

smtpd_relay_restrictions = rexeitar_unauth_pipelining,
 allow_mynetworks,
 permit_sasl_authenticated,
 rexeitar_non_fqdn_recipiente,
 rexeitar_dominio_recipiente_desconocido,
 rexeitar_unidade_destino,
 check_policy_service inet: 127.0.0.1: 10023,
 autorización
 
smtpd_helo_required = si
smtpd_delay_reject = si
disable_vrfy_command = si

Creamos os ficheiros / etc / postfix / body_checks y / etc / postfix / accounts_forwarding_copy, e modificamos o ficheiro / etc / postfix / header_checks.

  • Cada un debe declarar as opcións que entende e precisa..
[root @ linuxbox ~] # nano / etc / postfix / body_checks
# Se se modifica este ficheiro, non é necesario # executar o postmap # Para probar as regras, execútase como root: # postmap -q 'super nova v1agra' regexp: / etc / postfix / body_checks
# Debería volver: # Rexeita a regra # 2 Corpo de mensaxes anti spam
/ viagra / REXEITAR Regra # 1 Anti-spam do corpo da mensaxe
/ super new v [i1] agra / REXEITAR a regra # 2 corpo da mensaxe anti spam

[root @ linuxbox ~] # nano / etc / postfix / accounts_ forwarding_copy
# Despois de modificalo, debes executar: # postmap / etc / postfix / accounts_ forwarding_copy
# e créase ou mídese o ficheiro: # /etc/postfix/cuentas_reenviando_copia.db
# ------------------------------------------ # Unha única conta para reenviar unha BCC copy # BCC = Black Carbon Copy # Exemplo: # webadmin@desdelinux.fan buzz@desdelinux.fan

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

[root @ linuxbox ~] # nano / etc / postfix / header_checks
# Engadir ao final do ficheiro # NON REQUIRE Postmap xa que son expresións regulares
/ ^ Asunto: =? Big5? / REXEITAR a codificación chinesa non aceptada por este servidor
/ ^ Asunto: =? EUC-KR? / REJECT Codificación coreana non permitida por este servidor
/ ^ Asunto: ADV: / REXEITAR Anuncios non aceptados por este servidor
/^De:.*\@.*\.cn/ REXEITAR Sentímolo, o correo chinés non está permitido aquí
/^De:.*\@.*\.kr/ REXEITAR Sentímolo, o correo coreano non está permitido aquí
/^De:.*\@.*\.tr/ REXEITAR Sentímolo, o correo turco non está permitido aquí
/^De:.*\@.*\.ro/ REXEITAR Sentímolo, o correo romanés non está permitido aquí
/^(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 | Breaker de novas | Powermailer | Quick Shot | Ready Aim Fire | WindoZ | WorldMerge | Yourdora | Lite) \ b / REJECT Non se permiten correos masivos.
/ ^ De: "spammer / REJECT
/ ^ De: "spam / REJECT
/^Subject:.*viagra/ DESCARTAR
# Extensións perigosas
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / REJECT REJECT Non aceptamos anexos con estas extensións

Comprobamos a sintaxe, reiniciamos Apache e Postifx e activamos e iniciamos Dovecot

[root @ linuxbox ~] # comprobación de postfix
[root @ linuxbox ~] #

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

[root @ linuxbox ~] # systemctl reinicia o postfix
[root @ linuxbox ~] # systemctl status postfix

[root @ linuxbox ~] # systemctl status dovecot
● dovecot.service - Servidor de correo electrónico IMAP / POP3 Dovecot Cargado: cargado (/usr/lib/systemd/system/dovecot.service; desactivado; predefinido do provedor: desactivado) Activo: inactivo (morto)

[root @ linuxbox ~] # systemctl habilitar pombal
[root @ linuxbox ~] # systemctl comeza dovecot
[root @ linuxbox ~] # systemctl reiniciar dovecot
[root @ linuxbox ~] # systemctl status dovecot

Comprobacións a nivel de consola

  • É moi importante antes de continuar coa instalación e configuración doutros programas, facer as comprobacións mínimas necesarias dos servizos SMTP e POP.

Local dende o propio servidor

Enviamos un correo electrónico ao usuario local legolas.

[root @ linuxbox ~] # echo "Ola. Esta é unha mensaxe de proba" | mail -s "Test" legolas

Comprobamos a caixa de correo de legolas.

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

Despois da mensaxe ¡Pombal está listo! procedemos:

---
+ Aceptar ¡Pombal está listo!
USUARIO legolas + OK PASS legolas + OK Iniciar sesión. STAT + OK 1 559 LISTA + OK 1 mensaxes: 1 559. RETR 1 + OK 559 octetos Camiño de retorno: X-Orixinal-Para: legolas Entregado-Para: legolas@desdelinux.fan Recibido: por desdelinux.fan (Postfix, do usuario 0) id 7EA22C11FC57; Luns, 22 de maio de 2017 10:47:10 -0400 (EDT) Data: luns, 22 de maio de 2017 10:47:10 -0400 Para: legolas@desdelinux.fan Asunto: proba de usuario-axente: Heirloom mailx 12.5 7/5 / 10 Versión MIME: 1.0 Tipo de contido: texto / sinxelo; charset = us-ascii Content-Transfer-Encoding: 7bit Id-Message: <20170522144710.7EA22C11FC57@desdelinux.fan> De: root@desdelinux.fan (root) Ola. Esta é unha mensaxe de proba. DEIXO DE FACER
[root @ linuxbox ~] #

Mandos a distancia desde un ordenador na LAN

Enviamos outra mensaxe a legolas desde outro computador da LAN. Teña en conta que a seguridade TLS NON é estritamente necesaria dentro da rede de pemes.

buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \
-t legolas@desdelinux.fan \
-u "Ola" \
-m "Saúdos Legolas do teu amigo Buzz" \
-s mail.desdelinux.fan -o tls = non
22 de maio 10:53:08 sysadmin sendemail [5866]: O correo electrónico enviouse correctamente.

Se tentamos conectarnos telnet Desde un host na rede LAN ou, por suposto, desde Internet, ata o Dovecot, sucederá o seguinte porque desactivamos a autenticación en texto plano:

buzz @ sysadmin: ~ $ telnet mail.fromlinux.fan 110 Tentando 192.168.10.5 ...
Conectado a linuxbox.fromlinux.fan. O carácter de escape é "^]". + Aceptar ¡Pombal está listo! usuario legolas
-ERR [AUTH] Non se permite a autenticación en texto plano en conexións non seguras (SSL / TLS).
saír + Aceptar Pechar sesión Conexión pechada por host estranxeiro.
buzz @ sysadmin: ~ $

Debemos facelo a través openssl. A saída completa do comando sería:

buzz @ sysadmin: ~ $ openssl s_client -crlf -connect mail.fromlinux.fan:110 -starttls pop3
CONECTADO (00000003)
profundidade = 0 C = CU, ST = Cuba, L = A Habana, O = FromLinux.Fan, OU = Entusiastas, CN = * .fromlinux.fan, emailAddress = buzz@fromlinux.fan
verificar erro: num = 18: certificado autofirmado verificar devolución: 1
profundidade = 0 C = CU, ST = Cuba, L = A Habana, O = FromLinux.Fan, OU = Entusiastas, CN = * .fromlinux.fan, emailAddress = buzz@fromlinux.fan verificar devolución: 1
--- Cadea de certificados 0 s: /C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN = *. Desdelinux.fan/emailAddress=buzz@desdelinux.fan i: / C =CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- Certificado do servidor ----- BEGIN CERTIFICATE-- --- MIICyzCCAjSgAwIBAgIJAKUHI / 2ZD + MeMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD VQQGEwJDVTENMAsGA1UECBMEQ3ViYTEPMA0GA1UEBxMGSGFiYW5hMRcwFQYDVQQK Ew5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECxMLRW50dXNpYXN0YXMxGTAXBgNVBAMU ECouZGVzZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51 eC5mYW4wHhcNMTcwNTIyMjAwODEwWhcNMTgwNTIyMjAwODEwWjCBmzELMAkGA1UE BhMCQ1UxDTALBgNVBAgTBEN1YmExDzANBgNVBAcTBkhhYmFuYTEXMBUGA1UEChMO RGVzZGVMaW51eC5GYW4xFDASBgNVBAsTC0VudHVzaWFzdGFzMRkwFwYDVQQDFBAq LmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu ZmFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7wckAiNNfYSz5hdePzKuZ Bnk m2MMuhGDvwrDSPDEcVutznbZSgJ9bvTo445TR + + + + nBmqxzJbpc OZ80lujS2hP XR7E9eWIXxr4fP4HpRrCA8NxlthEsapVMSHW lnPBqF2b / Bt2eYyR7g JhtlP6gRG V57MmgL8BdYAJLvxqxDIxQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJ KoZIhvcNAQEFBQADgYEAAuYU1nIXTbXtddW + QkLskum7ESryHZonKOCelfn2vnRl 8oAgHg7Hbtg / e6sR / W9m3DObP5DEp3lolKKIKor7ugxtfA4PBtmgizddfDKKMDql LT + MV5 / DP1pjQbxTsaLlZfveNxfLRHkQY13asePy4fYJFOIZ4OojDEGQ6 / VQBI8 = ----- ----- END CERTIFICADO suxeito = / C = CU / ST = Cuba / L = Habana / S = DesdeLinux.Fan /OU=Entusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan emisor = / C = CU / ST = Cuba / L = Habana / O = DesdeLinux.Fan / OU = Entusiastas / CN = *. Desdelinux .fan / emailAddress = buzz @ desdelinux.fan --- Non se enviaron nomes de CA de certificado de cliente Clave Temp do servidor: ECDH, secp384r1, 384 bits --- O aperto de man SSL leu 1342 bytes e escribiu 411 bytes --- Novo, TLSv1 / SSLv3 , A cifra é ECDHE-RSA-AES256-GCM-SHA384 A clave pública do servidor é de 1024 bits Renegociación segura É compatible Compresión: NINGUNA Expansión: NINGUNA Sesión SSL: Protocolo: TLSv1.2 Cifra: ECDHE-RSA-AES256-GCM-SHA384 Sesión- ID: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB6C5295BF4E2D73A Session-ID-ctx: Master-Key : 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 Key-Arg: Ningún Krb5 Principal: Ningún PSK 300 identidade: Ningún identidade PSK información: HS 0000F4F3A8FD29CD7F4BC63BFF72E7F6F4 Key-Arg: Ningún Krb7 Principal: Ningún 1 PSK identidade: a identidade Ningún PSK información: HS XNUMX sesión TLS XNUMX segundos XNUMX F Nonec XNUMX sesión de billetes XNUMX f XNUMX segundos XNUMX FXNUMXFXNUMX ticket ec XNUMXe XNUMXc N :.) zOcr ... O .. ~.
 0010 - 2c d4 ser a8 ser 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 ..... <.

+ Aceptar ¡Pombal está listo!
USUARIO legolas
+ Aceptar
PASE legolas
+ OK Iniciar sesión.
LISTA
+ Aceptar 1 mensaxes: 1 1021.
RETR 1
+ OK 1021 octetos Camiño de retorno: X-Original-To: legolas@desdelinux.fan Entregado-To: legolas@desdelinux.fan Recibido: de sysadmin.desdelinux.fan (pasarela [172.16.10.1]) por desdelinux.fan (Postfix) co ID ESMTP 51886C11E8C0 para ; Luns, 22 de maio de 2017 ás 15:09:11 -0400 (EDT) ID de mensaxe: <919362.931369932-sendEmail@sysadmin> De: "buzz@deslinux.fan" Para: "legolas@desdelinux.fan" Asunto: Ola Data: luns, 22 de maio de 2017 19:09:11 +0000 X-Mailer: sendEmail-1.56 Versión MIME: 1.0 Tipo de contido: multiparte / relacionado; boundary = "---- Delimitador MIME para sendEmail-365707.724894495" Esta é unha mensaxe de varias partes en formato MIME. Para amosar correctamente esta mensaxe precisa un programa de correo electrónico compatible coa versión MIME 1.0. ------ Delimitador MIME para sendEmail-365707.724894495 Tipo de contido: texto / sinxelo; charset = "iso-8859-1" Codificación de transferencia de contido: 7 bits Saúdos Legolas do teu amigo Buzz ------ Delimitador MIME para sendEmail-365707.724894495--.
QUIT
+ Aceptar Pechar sesión. pechado
buzz @ sysadmin: ~ $

Correo esquío

Correo esquío é un cliente web escrito integramente en PHP. Inclúe soporte PHP nativo para os protocolos IMAP e SMTP e ofrece a máxima compatibilidade cos diferentes navegadores en uso. Funciona correctamente en calquera servidor IMAP. Ten todas as funcionalidades que precisa un cliente de correo electrónico, incluíndo soporte MIME, axenda de enderezos e xestión de cartafoles.

[root @ linuxbox ~] # yum instala squirrelmail
[root @ linuxbox ~] # service httpd restart

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

[root @ linuxbox ~] # service httpd reload

Política de envío DNS Rexistro Framenwork ou SPF

No artigo Servidor DNS autorizado NSD + Shorewall Vimos que a zona "desdelinux.fan" estaba configurada do seguinte xeito:

root @ ns: ~ # nano /etc/nsd/desdelinux.fan.zone
$ ORIXE de linux.fan. $ TTL 3H @ IN SOA ns.fromlinux.fan. root.fromlinux.fan. (1; serie 1D; actualizar 1H; reintentar 1W; caducar 3H); mínimo ou; Tempo negativo de caché para vivir; @ IN NS ns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan.
@ IN TXT "v = spf1 a: mail.desdelinux.fan -all"
; ; Rexistro para resolver consultas de excavación de linux.fan @ IN A 172.16.10.10; ns EN 172.16.10.30 correo en CNAME desde linux.fan. chat en CNAME desde linux.fan. www EN CNAME de linux.fan. ; ; Rexistros SRV relacionados con XMPP
_xmpp-server._tcp IN SRV 0 0 5269 de linux.fan. _xmpp-client._tcp IN SRV 0 0 5222 de linux.fan. _jabber._tcp IN SRV 0 0 5269 de linux.fan.

Nel declárase o rexistro:

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

Para ter o mesmo parámetro configurado para a rede SME ou LAN, debemos modificar o ficheiro de configuración de Dnsmasq do seguinte xeito:

# Rexistros TXT. Tamén podemos declarar un rexistro SPF txt-record = desdelinux.fan, "v = spf1 a: mail.desdelinux.fan -all"

Despois reiniciamos o servizo:

[root @ linuxbox ~] reiniciar o servizo dnsmasq
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # host -t TXT mail.fromlinux.fan mail.fromlinux.fan é un alias de fromlinux.fan. texto descriptivo desdelinux.fan "v = spf1 a: mail.desdelinux.fan -all"

Certificados autofirmados e Apache ou httpd

Aínda que o seu navegador lle diga que «O propietario de mail.fromlinux.fan Configurou o seu sitio web de xeito incorrecto. Para evitar que che rouben a información, Firefox non se conectou a este sitio web ”, o certificado xerado anteriormente É VÁLIDO, e permitirá que as credenciais entre o cliente e o servidor viaxen cifradas despois de que aceptemos o certificado.

Se o desexa e como forma de unificar os certificados, pode declarar para Apache os mesmos certificados que declarou para Postfix, o cal é correcto.

[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 ~] # servizo httpd reiniciar
[root @ linuxbox ~] # estado httpd do servizo

Grupo Diffie-Hellman

O tema da seguridade faise cada día máis difícil en Internet. Un dos ataques máis comúns ás conexións SSL, é o Atasco e para defenderse dela é necesario engadir parámetros non estándar á configuración SSL. Para isto hai o RFC-3526 «Máis modular exponencial (MODP) Diffie-Hellman grupos para o intercambio de claves de Internet (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

Segundo a versión de Apache que instalamos, usaremos o grupo Diffie-Helman desde o ficheiro /etc/pki/tls/dhparams.pem. Se é unha versión 2.4.8 ou posterior, teremos que engadir ao ficheiro /etc/httpd/conf.d/ssl.conf a seguinte liña:

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

A versión de Apache que estamos a usar é:

[root @ linuxbox tls] # yum info httpd
Complementos cargados: fastestmirror, langpacks Cargando velocidades de mirror desde o ficheiro host caché Paquetes instalados Nome: httpd Arquitectura: x86_64
Versión: 2.4.6
Lanzamento: 45.el7.centos Tamaño: 9.4 M Repositorio: instalado Desde o repositorio: Resumo base-repo: URL do servidor HTTP Apache: http://httpd.apache.org/ Licenza: ASL 2.0 Descrición: O servidor HTTP Apache é un poderoso , eficiente e extensible: servidor web.

Como temos unha versión anterior á 2.4.8, engadimos o contido do grupo Diffie-Helman ao final do certificado CRT xerado anteriormente:

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

Se desexa comprobar que os parámetros DH se engadiron correctamente ao certificado CRT, execute os seguintes comandos:

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

[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==
----- FIN DE PARÁMETROS DH -----

Despois destes cambios, debemos reiniciar os servizos Postfix e httpd:

[root @ linuxbox tls] reinicio # servizo postfix
[root @ linuxbox tls] # servizo postfix status
[root @ linuxbox tls] # service httpd restart
[root @ linuxbox tls] # servizo estado httpd

A inclusión do grupo Diffie-Helman nos nosos certificados TLS pode facer que a conexión a través de HTTPS sexa un pouco máis lenta, pero a adición de seguridade paga a pena.

Comprobando Squirrelmail

Después que os certificados se xeran correctamente e que comprobamos o seu correcto funcionamento como fixemos cos comandos da consola, dirixe o navegador que prefires á URL http://mail.desdelinux.fan/webmail e conectarase ao cliente web despois de aceptar o certificado correspondente. Teña en conta que, aínda que especifique o protocolo HTTP, redirixirase a HTTPS e isto débese á configuración predeterminada que CentOS ofrece para Squirrelmail. Vexa o ficheiro /etc/httpd/conf.d/squirrelmail.conf.

Acerca das caixas de correo dos usuarios

Dovecot crea as caixas de correo IMAP no cartafol casa de cada usuario:

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

Tamén se almacenan en / var / mail /

[root @ linuxbox ~] # less / var / mail / legolas
De MAILER_DAEMON Lu 22 de maio 10:28:00 2017 Data: Lu 22 de maio 2017 10:28:00 -0400 De: Datos internos do sistema de correo Asunto: NON BORRE ESTE MENSAXE - DATOS INTERNOS DE CARPETA ID de mensaxe: <1495463280 @ linuxbox> X-IMAP: 1495462351 0000000008 Estado: RO Este texto forma parte do formato interno do seu cartafol de correo e non é unha mensaxe real. Créase automaticamente co software do sistema de correo. Se se eliminan, perderanse os datos importantes do cartafol e volveranse crear co restablecemento dos datos aos valores iniciais. De root@desdelinux.fan lun 22 de maio 10:47:10 2017 Camiño de volta: X-Orixinal-Para: legolas Entregado-Para: legolas@desdelinux.fan Recibido: por desdelinux.fan (Postfix, do usuario 0) id 7EA22C11FC57; Luns, 22 de maio de 2017 10:47:10 -0400 (EDT) Data: luns, 22 de maio de 2017 10:47:10 -0400 Para: legolas@desdelinux.fan Asunto: proba de usuario-axente: Heirloom mailx 12.5 7/5 / 10 Versión MIME: 1.0 Tipo de contido: texto / sinxelo; charset = us-ascii Content-Transfer-Encoding: 7bit Id-Message: <20170522144710.7EA22C11FC57@desdelinux.fan> De: root@desdelinux.fan (root) X-UID: 7 Estado: RO Ola. Esta é unha mensaxe de proba de buzz@deslinux.fan Lu 22 de maio 10:53:08 Camiño de retorno 2017: X-Original-To: legolas@desdelinux.fan Entregado-To: legolas@desdelinux.fan Recibido: de sysadmin.desdelinux.fan (pasarela [172.16.10.1]) por desdelinux.fan (Postfix) co ID ESMTP C184DC11FC57 para ; Luns, 22 de maio de 2017 10:53:08 -0400 (EDT) ID de mensaxe: <739874.219379516-sendEmail@sysadmin> De: "buzz@deslinux.fan" A: "legolas@desdelinux.fan" Asunto: Ola Data: luns, 22 de maio de 2017 14:53:08 +0000 X-Mailer: sendEmail-1.56 Versión MIME: 1.0 Tipo de contido: multiparte / relacionado; boundary = "---- Delimitador MIME para sendEmail-794889.899510057
/ var / mail / legolas

Resumo da miniserie PAM

Miramos o núcleo dun servidor de correo e fixemos un pouco a seguridade. Agardamos que o artigo sirva de punto de entrada a un tema tan complicado e susceptible de cometer erros como é a implementación dun servidor de correo manualmente.

Usamos autenticación de usuario local porque se lemos o ficheiro correctamente /etc/dovecot/conf.d/10-auth.conf, veremos que ao final está incluído -por defecto- o ficheiro de autenticación dos usuarios do sistema ! inclúe auth-system.conf.ext. Precisamente este ficheiro dinos na súa cabeceira que:

[root @ linuxbox ~] # less /etc/dovecot/conf.d/auth-system.conf.ext
# Autenticación para usuarios do sistema. Incluído en 10-auth.conf. # # # # Autenticación PAM. Preferido hoxe en día pola maioría dos sistemas.
# PAM úsase normalmente con userdb passwd ou userdb estático. # LEMBRA: Necesitarás o ficheiro /etc/pam.d/dovecot creado para que a autenticación PAM # funcione realmente. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = yes] [max_requests = ] # [cache_key = ] [ ] #args = pombal}

E o outro ficheiro existe /etc/pam.d/dovecot:

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

Que intentamos transmitir sobre a autenticación PAM?

  • CentOS, Debian, Ubuntu e moitas outras distribucións de Linux instalan Postifx e Dovecot coa autenticación local habilitada por defecto.
  • Moitos artigos en Internet utilizan MySQL - e máis recentemente MariaDB - para almacenar usuarios e outros datos relativos a un servidor de correo. PERO estes son servidores para miles de usuarios e non para unha clásica rede de pemes con - quizais - centos de usuarios.
  • A autenticación a través de PAM é necesaria e suficiente para proporcionar servizos de rede sempre que se executen nun único servidor como vimos nesta miniserie.
  • Os usuarios almacenados nunha base de datos LDAP poden mapearse coma se fosen usuarios locais e a autenticación PAM pode usarse para proporcionar servizos de rede desde diferentes servidores Linux que actúan como clientes LDAP ao servidor de autenticación central. Deste xeito, traballariamos coas credenciais dos usuarios almacenados na base de datos do servidor LDAP central e NON sería esencial manter unha base de datos cos usuarios locais.

Ata a próxima aventura!


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

9 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   lagarto dixo

    Créame que na práctica este é un proceso que provoca dores de cabeza severas a máis dun administrador, estou convencido de que no futuro será unha guía de referencia para calquera que queira xestionar os seus propios correos electrónicos, un caso práctico que se converte nun integrando postfix, pombal, squirrelmail ..

    Moitas grazas pola súa loable contribución,

  2.   Darko dixo

    Por que non usar Mailpile, cando se trata de seguridade, con PGP? Roundcube tamén ten unha interface moito máis intuitiva e tamén pode integrar PGP.

  3.   Martin dixo

    Hai 3 días lin a publicación, sei agradecerche. Non penso instalar un servidor de correo, pero sempre é útil ver a creación de certificados, útiles para outras aplicacións e estes titoriais case non caducan (máis aínda cando se usa centOS).

  4.   federico dixo

    Manuel Cillero: Grazas por vincular ao teu blog este artigo que é o núcleo mínimo dun servidor de correo baseado en Postfix e Dovecot.

    Lagarto: coma sempre, a túa avaliación ten moi boa acollida. Grazas.

    Darko: En case todos os meus artigos expreso máis ou menos que "Todos implementan os servizos cos programas que máis lles gustan". Grazas polo comentario.

    Martin: Grazas a ti tamén por ler o artigo e espero que che axude no teu traballo.

  5.   Carburus do zodíaco dixo

    Tremendo amigo Federico. Moitas grazas por un bo tuto.

  6.   arco dixo

    excelente aínda que usaría "usuarios virtuais" para evitar ter que crear un usuario do sistema cada vez que engado un correo electrónico, grazas aprendín moitas cousas novas e este é o tipo de publicación que estaba esperando

  7.   Wilinton Acevedo Rueda dixo

    Boa tarde,

    Atreveríanse a facer o mesmo con servidor de directorios fedora + postifx + pombal + thunderbird ou outlook.

    Teño unha parte pero estou atascado, gustaríame compartir o documento coa comunidade @desdelinux

  8.   fico dixo

    Non imaxinaba que chegaría a máis de 3000 visitas !!!

    Un saúdo Lagarto!

  9.   Darkend dixo

    Excelente compañeiro de titoría.
    ¿Podería facelo para Debian 10 cos usuarios dun Active Directory montado en Samba4 ???
    Imaxino que sería case o mesmo pero cambiando o tipo de autenticación.
    A sección que dedicas á creación de certificados autofirmados é moi interesante.