Postfix + Dovecot + Squirrelmail e usuários locais - Redes SME

Índice geral da série: Redes de computadores para PMEs: introdução

Este artigo é a continuação e o último da minissérie:

Olá amigos e amigos!

Os entusiastas Eles querem ter seu próprio servidor de e-mail. Eles não querem usar servidores onde “Privacidade” esteja entre pontos de interrogação. O responsável pela implementação do serviço no seu pequeno servidor não é especialista no assunto e tentará inicialmente instalar o núcleo de um futuro e completo servidor de e-mail. Acontece que as "equações" para fazer um Full Mailserver são um pouco difíceis de entender e aplicar. 

Anotações de margem

  • É necessário ter clareza sobre quais funções cada programa envolvido em um Mailserver executa. Como um guia inicial, fornecemos uma série de links úteis com o propósito declarado de que são visitados.
  • Implementar manualmente e do zero um Complete Mail Service é um processo cansativo, a menos que você seja um dos “Escolhidos” que realizam este tipo de tarefa diariamente. Um servidor de e-mail é formado -de forma geral- por vários programas que controlam separadamente SMTP, POP / IMAP, Armazenamento Local de Mensagens, tarefas relacionadas ao tratamento do SPAM, Antivírus, etc. TODOS esses programas devem se comunicar uns com os outros corretamente.
  • Não há um tamanho único para todos ou "melhores práticas" sobre como gerenciar usuários; onde e como armazenar mensagens ou como fazer com que todos os componentes funcionem como um todo.
  • A montagem e o ajuste fino de um Mailserver tende a ser desagradável em questões como permissões e proprietários de arquivos, escolha de qual usuário será o responsável por um determinado processo e em pequenos erros cometidos em algum arquivo de configuração esotérico.
  • A menos que você saiba muito bem o que está fazendo, o resultado final será um servidor de email inseguro ou um pouco não funcional. Que no final da implementação Não funcione, possivelmente será o menor dos males.
  • Podemos encontrar na Internet um bom número de receitas de como fazer um Mail Server. Um dos mais completos -na minha opinião muito pessoal- é o oferecido pelo autor ivar abrahamsen em sua décima terceira edição de janeiro de 2017 «Como configurar um servidor de e-mail em um sistema GNU / Linux".
  • Também recomendamos a leitura do artigo «Um servidor de email no Ubuntu 14.04: Postfix, Dovecot, MySQL«, ou «Um servidor de email no Ubuntu 16.04: Postfix, Dovecot, MySQL".
  • Verdadeiro. A melhor documentação a esse respeito pode ser encontrada em inglês.
    • Embora nunca façamos um Mailserver fielmente guiado pelo Como… citado no parágrafo anterior, o simples fato de segui-lo passo a passo já nos dará uma ideia muito boa do que estaremos enfrentando.
  • Se você deseja ter um Mailserver completo em apenas alguns passos, você pode baixar a imagem iRedOS-0.6.0-CentOS-5.5-i386.isoou procure um mais moderno, seja iRedOS ou iRedMail. É a forma que eu pessoalmente recomendo.

Vamos instalar e configurar:

Resta ser feito:

Restariam pelo menos os seguintes serviços para serem implementados:

  • pós-cinza: Políticas de servidor Postfix para listas de cinza e rejeição de lixo eletrônico.
  • amavisd-novo: script que cria uma interface entre o MTA e os antivírus e filtros de conteúdo.
  • Clamav Antivírus: pacote de antivírus
  • SpamAssassin: extrair lixo eletrônico
  • Navalha (pyzor): Captura de SPAM por meio de uma rede distribuída e colaborativa. A rede Vipul Razor mantém um catálogo atualizado da propagação de spam ou lixo eletrônico.
  • Registro DNS "DomainKeys Identified Mail" ou DKIM.

Os pacotes postgrey, amavisd-new, clamav, spamassassin, navalha y Pyzor Eles são encontrados nos repositórios do programa. Também encontraremos o programa openkim.

  • A declaração correta dos registros DNS "SPF" e "DKIM" é imprescindível se não queremos que nosso servidor de e-mail apenas colocado em operação, seja declarado indesejável ou produtor de SPAM ou Lixo Eletrônico, por outros serviços de e-mail como Gmail, Yah, Hotmailetc.

Verificações iniciais

Lembre-se de que este artigo é uma continuação de outros que começam em Autenticação Squid + PAM no CentOS 7.

Interface Ens32 LAN 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
ZONE = public

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

Interface Ens34 WAN conectada à 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 # O roteador ADSL está conectado a # esta interface com # o seguinte endereço IP GATEWAY=172.16.10.1 DOMÍNIO=desdelinux.fan DNS1 = 127.0.0.1
ZONA = externa

Resolução DNS da LAN

[root@linuxbox ~]# cat /etc/resolv.conf pesquisa desdelinux.fan servidor de nomes 127.0.0.1 servidor de nomes 172.16.10.30 [root@linuxbox ~]# host mail
correio.desdelinux.fan é um apelido para Linuxbox.desdelinux.fã. linuxbox.desdelinux.fan tem endereço 192.168.10.5 linuxbox.desdelinuxO correio .fan é tratado por 1 correios.desdelinux.fã.

[root@linuxbox ~]#hostmail.desdelinux.ventilador
correio.desdelinux.fan é um apelido para Linuxbox.desdelinux.fã. linuxbox.desdelinux.fan tem endereço 192.168.10.5 linuxbox.desdelinuxO correio .fan é tratado por 1 correios.desdelinux.fã.

Resolução DNS da Internet

buzz@sysadmin:~$hostmail.desdelinux.ventilador 172.16.10.30
Usando servidor de domínio: Nome: 172.16.10.30 Endereço: 172.16.10.30#53 Aliases: mail.desdelinux.fan é um apelido para desdelinux.fã.
desdelinux.fan tem endereço 172.16.10.10
desdelinuxO correio .fan é tratado por 10 correios.desdelinux.fã.

Problemas para resolver o nome do host localmente «desdelinux.fã"

Se você tiver problemas para resolver o nome do host «desdelinux.ventilador" desde a LAN, tente comentar a linha do arquivo /etc/dnsmasq.conf onde é declarado locais=/desdelinux.fã/. Em seguida, reinicie o Dnsmasq.

[root @ linuxbox ~] # nano /etc/dnsmasq.conf # Comente a linha abaixo:
#local=/desdelinux.fã/

[root @ linuxbox ~] # service dnsmasq restart
Redirecionando para / bin / systemctl restart dnsmasq.service

[root @ linuxbox ~] # serviço dnsmasq status

[root@linuxbox ~]#host desdelinux.ventilador
desdelinux.fan tem endereço 172.16.10.10
desdelinuxO correio .fan é tratado por 10 correios.desdelinux.fã.

Postfix e Dovecot

A extensa documentação do Postfix e Dovecot pode ser encontrada em:

[root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/
bounce.cf.default LICENÇA README-Postfix-SASL-RedHat.txt COMPATIBILITY 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 NEWS wiki COPYING ChangeLog example-config README COPYING.LGPL documentation.txt mkcert.sh solr-schema.xml

No CentOS 7, o Postfix MTA é instalado por padrão quando escolhemos a opção Servidor de infraestrutura. Devemos verificar se o contexto SELinux permite a gravação no Potfix na fila de mensagens local:

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

Modificações no FirewallD

Usando a interface gráfica para configurar o FirewallD, devemos garantir que os seguintes serviços e portas estejam habilitados para cada Zona:

# ------------------------------------------------- -----
# Correções no FirewallD
# ------------------------------------------------- -----
#firewall
# Zona pública: serviços http, https, imap, pop3, smtp
# Zona pública: portas 80, 443, 143, 110, 25

# Zona externa: http, https, imap, pop3s, serviços smtp
# Zona externa: portas 80, 443, 143, 995, 25

Instalamos o Dovecot e os programas necessários

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

Configuração mínima Dovecot

[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
protocolos =imap pop3 lmtp
  =*, ::
login_greeting = Dovecot está pronto!

Desabilitamos explicitamente a autenticação de texto simples do Dovecot:

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

Declaramos o Grupo com os privilégios necessários para interagir com o Dovecot, e a localização das mensagens:

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

Certificados para o Dovecot

O Dovecot gera automaticamente seus certificados de teste com base nos dados do arquivo /etc/pki/dovecot/dovecot-openssl.cnf. Para que novos certificados sejam gerados de acordo com nossos requisitos, devemos realizar as seguintes etapas:

[root @ linuxbox ~] # cd / etc / pki / dovecot /
[root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[req] default_bits = 1024 encrypt_key = sim distinto_name = req_dn x509_extensions = cert_type prompt = não [ req_dn ] # país (código de 2 letras) C=CU # Nome do estado ou província (nome completo) ST=Cuba # Nome da localidade (por exemplo, cidade ) L=Havana # Organização (por exemplo, empresa) O=FromLinux.Fan # Nome da unidade organizacional (por exemplo, seção) OU=Entusiastas # Nome comum (*.example.com também é possível) CN=*.desdelinux.fan # E-mail de contato emailAddress=buzz@desdelinux.fan [cert_type] nsCertType = servidor

Eliminamos certificados de teste

[root @ linuxbox dovecot] # rm certs / dovecot.pem 
rm: deletar o arquivo regular "certs / dovecot.pem"? (s / n) s
[root @ linuxbox dovecot] # rm private / dovecot.pem 
rm: deletar o arquivo regular "private / dovecot.pem"? (s / n) s

Copiamos e executamos o script mkcert.sh do diretório de documentação

[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh 
Gerando uma chave privada RSA de 1024 bits ......++++++ ................++++++ escrevendo uma nova chave privada em '/etc/ pki/dovecot/private/dovecot.pem' ----- subject= /C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Enthusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan SHA1 Impressão digital = 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 root 1029 May 22 16:08 dovecot.pem
[root @ linuxbox dovecot] # ls -l private /
total 4 -rw -------. 1 root 916 May 22 16:08 dovecot.pem

[root @ linuxbox dovecot] # service dovecot restart
[root @ linuxbox dovecot] # service 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 privado/desdelinux.fan.key

Gerando uma chave privada RSA de 4096 bits .........++ ..++ escrevendo uma nova chave privada em 'private/domain.tld.key' ----- Você está prestes a ser solicitado a inserir informações que será incorporado à sua solicitação de certificado. O que você está prestes a inserir é o que é chamado de Nome Distinto ou DN. Existem alguns campos, mas você pode deixar alguns em branco. Para alguns campos haverá um valor padrão. Se você inserir '.', o campo será deixado em branco. ----- Nome do país (código de 2 letras) [XX]: Nome do estado ou província da CU (nome completo) []: Nome da localidade de Cuba (por exemplo, cidade) [Cidade padrão]: Havana Nome da organização (por exemplo, empresa) [ Default Company Ltd]:FromLinux.Fan Nome da unidade organizacional (por exemplo, seção) []:Nome comum dos entusiastas (por exemplo, seu nome ou o nome do host do seu servidor) []:desdelinuxEndereço de e-mail .fan []:buzz@desdelinux.ventilador

Configuração mínima do Postfix

Adicionamos ao final do arquivo / etc / aliases seguinte:

root: buzz

Para que as alterações tenham efeito, executamos o seguinte comando:

[root @ linuxbox ~] # newaliases

A configuração do Postifx pode ser feita editando diretamente o arquivo /etc/postfix/main.cf ou por comando pós-conf -e tomando cuidado para que todos os parâmetros que desejamos modificar ou adicionar sejam refletidos em uma única linha do console:

  • Cada um deve declarar as opções que entende e precisa!.
[root@linuxbox ~]# postconf -e 'meuhostname = desdelinux.fã'
[root@linuxbox ~]# postconf -e 'meudominio = desdelinux.fã'
[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)'

Adicionamos ao final do arquivo /etc/postfix/main.cf as opções fornecidas abaixo. Para saber o significado de cada um deles, recomendamos a leitura da documentação que acompanha.

biff = não
append_dot_mydomain = não
delay_warning_time = 4h
readme_directory = não
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

# Tamanho máximo da caixa de correio de 1024 megabytes = 1 ge g
caixa_tamanho_limite = 1073741824

destinatário_delimitador = +
maximal_queue_lifetime = 7d
header_checks = regexp: / etc / postfix / header_checks
body_checks = regexp: / etc / postfix / body_checks

# Contas que enviam uma cópia do correio recebido para outra conta
destinatário_bcc_maps = hash: / etc / postfix / accounts_ forwarding_copy

As linhas a seguir são importantes para determinar quem pode enviar e-mail e retransmitir para outros servidores, de forma que não configuremos acidentalmente um "retransmissão aberta" que permite que usuários não autenticados enviem e-mail. Devemos consultar as páginas de ajuda do Postfix para entender o que cada opção significa.

  • Cada um deve declarar as opções que entende e precisa!.
smtpd_helo_restrictions = permit_mynetworks,
 warn_if_reject rejeitar_non_fqdn_hostname,
 rejeitar_inválido_hostname,
 autorização

smtpd_sender_restrictions = permit_sasl_authenticated,
 permitir_minhasredes,
 warn_if_reject rejeitar_non_fqdn_sender,
 rejeitar_desconto_sender_dominio,
 rejeitar_unauth_pipelining,
 autorização

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

# NOTA: A opção "check_policy_service inet: 127.0.0.1: 10023"
# ativa o programa Postgrey e não devemos incluí-lo
# caso contrário, vamos usar Postgrey

smtpd_recipient_restrictions = rejeitar_unauth_pipelining,
 permitir_minhasredes,
 permit_sasl_autenticado,
 rejeitar_non_fqdn_recipient,
 rejeitar_unknown_recipient_domain,
 rejeitar_unauth_destino,
 check_policy_service inet: 127.0.0.1: 10023,
 autorização

smtpd_data_restrictions = rejeitar_unauth_pipelining

smtpd_relay_restrictions = rejeitar_unauth_pipelining,
 permitir_minhasredes,
 permit_sasl_autenticado,
 rejeitar_non_fqdn_recipient,
 rejeitar_unknown_recipient_domain,
 rejeitar_unauth_destino,
 check_policy_service inet: 127.0.0.1: 10023,
 autorização
 
smtpd_helo_required = sim
smtpd_delay_reject = sim
disable_vrfy_command = sim

Nós criamos os arquivos / etc / postfix / body_checks y / etc / postfix / accounts_forwarding_copy, e modificamos o arquivo / etc / postfix / header_checks.

  • Cada um deve declarar as opções que entende e precisa!.
[root @ linuxbox ~] # nano / etc / postfix / body_checks
# Se este arquivo for modificado, não é necessário # executar o postmap # Para testar as regras, execute como root: # postmap -q 'super new v1agra' regexp: / etc / postfix / body_checks
# Deve retornar: # REJEITAR o corpo da mensagem anti-spam da regra nº 2
/ viagra / REJECT Regra # 1 Anti-spam do corpo da mensagem
/ super new v [i1] agra / REJECT Regra nº 2 do corpo da mensagem anti-spam

[root @ linuxbox ~] # nano / etc / postfix / accounts_ forwarding_copy
# Depois de modificar, você deve executar: # postmap / etc / postfix / accounts_ forwarding_copy
# e o arquivo é criado ou medido: # /etc/postfix/accounts_forwarding_copy.db
# ------------------------------------------ # UMA conta para encaminhar um BCC copiar # BCC = cópia carbono preto # Exemplo: # webadmin@desdelinux.fã buzz@desdelinux.ventilador

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

[root @ linuxbox ~] # nano / etc / postfix / header_checks
# Adicione no final do arquivo # NÃO REQUER Postmap, pois são expressões regulares
/ ^ Assunto: =? Big5? / REJECT Codificação chinesa não aceita por este servidor
/ ^ Assunto: =? EUC-KR? / REJECT Codificação coreana não permitida por este servidor
/ ^ Assunto: ADV: / REJECT Anúncios não aceitos por este servidor
/^From:.*\@.*\.cn/ REJEITAR Desculpe, correio chinês não é permitido aqui
/^From:.*\@.*\.kr/ REJECT Desculpe, correio coreano não é permitido aqui
/^From:.*\@.*\.tr/ REJECT Desculpe, correio turco não é permitido aqui
/^From:.*\@.*\.ro/ REJECT Desculpe, correio romeno não é permitido aqui
/^(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 | Pronto Aim Fire | WindoZ | WorldMerge | Yourdora | Lite) \ b / REJECT Nenhum envio em massa permitido.
/ ^ De: "spammer / REJECT
/ ^ De: "spam / REJEITAR
/^Assunto:.*viagra/ DESCARTAR
# Extensões perigosas
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / REJEITAR REJEITAR Não aceitamos anexos com essas extensões

Nós verificamos a sintaxe, reiniciamos o Apache e Postifx, e ativamos e iniciamos o Dovecot

[root @ linuxbox ~] # verificação de postfix
[root @ linuxbox ~] #

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

[root @ linuxbox ~] # systemctl restart postfix
[root @ linuxbox ~] # systemctl status postfix

[root @ linuxbox ~] # systemctl status dovecot
● dovecot.service - servidor de e-mail Dovecot IMAP / POP3 Carregado: carregado (/usr/lib/systemd/system/dovecot.service; desativado; predefinição do fornecedor: desativado) Ativo: inativo (morto)

[root @ linuxbox ~] # systemctl enable dovecot
[root @ linuxbox ~] # systemctl start dovecot
[root @ linuxbox ~] # systemctl restart dovecot
[root @ linuxbox ~] # systemctl status dovecot

Verificações no nível do console

  • É muito importante antes de continuar com a instalação e configuração de outros programas, fazer as verificações mínimas necessárias dos serviços SMTP e POP.

Local do próprio servidor

Enviamos um email para o usuário local Legolas.

[root @ linuxbox ~] # echo "Olá. Esta é uma mensagem de teste" | mail -s "Teste" legolas

Nós verificamos a caixa de correio de Legolas.

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

Depois da mensagem Dovecot está pronto! nós procedemos:

---
+ OK Dovecot está pronto!
USUÁRIO legolas +OK PASSAR legolas +OK Conectado. STAT +OK 1 559 LIST +OK 1 mensagens: 1 559 . RETR 1 +OK 559 octetos Caminho de retorno:desdelinux.fan> X-Original-Para: legolas Entregue-Para: legolas@desdelinux.fan Recebido: por desdelinux.fan (Postfix, do ID do usuário 0) id 7EA22C11FC57; Seg, 22 de maio de 2017 10:47:10 -0400 (EDT) Data: Seg, 22 de maio de 2017 10:47:10 -0400 Para: legolas@desdelinux.fan Assunto: Agente de usuário de teste: Heirloom mailx 12.5 7/5/10 Versão MIME: 1.0 Tipo de conteúdo: texto/sem formatação; charset=us-ascii Codificação de transferência de conteúdo: ID de mensagem de 7 bits: <20170522144710.7EA22C11FC57@desdelinux.fan> De: root@desdelinux.fan (raiz) Olá. Esta é uma mensagem de teste . SAIR FEITO
[root @ linuxbox ~] #

Remotos de um computador na LAN

Vamos enviar outra mensagem para Legolas de outro computador na LAN. Observe que a segurança TLS NÃO é estritamente necessária na Rede SME.

buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \
-t legolas@desdelinux.fã\
-u "Olá" \
-m "Saudações Legolas de seu amigo Buzz" \
-s e-mail.desdelinux.fan -o tls = não
22 de maio 10:53:08 sysadmin sendemail [5866]: Email enviado com sucesso!

Se tentarmos nos conectar através de telnet De um host na LAN - ou da Internet, é claro - para o Dovecot, o seguinte acontecerá porque desabilitamos a autenticação de texto simples:

buzz@sysadmin:~$ correio telnet.desdelinux.fan 110 Tentando 192.168.10.5...
Conectado ao linuxbox.desdelinux.fã. O caractere de escape é '^]'. +OK Dovecot está pronto! usuário Legolas
-ERR [AUTH] Autenticação de texto simples não permitida em conexões não seguras (SSL / TLS).
quit + OK Efetuando logoff Conexão fechada por host estrangeiro.
buzz @ sysadmin: ~ $

Devemos fazer isso através openssl. A saída completa do comando seria:

buzz@sysadmin:~$ openssl s_client -crlf -connect mail.desdelinux.fan:110 -starttls pop3
CONECTADO (00000003)
profundidade=0 C = CU, ST = Cuba, L = Havana, O = FromLinux.Fan, OU = Entusiastas, CN = *.desdelinux.fan, emailAddress = buzz@desdelinux.ventilador
verificar erro: num = 18: certificado autoassinado verificar retorno: 1
profundidade=0 C = CU, ST = Cuba, L = Havana, O = FromLinux.Fan, OU = Entusiastas, CN = *.desdelinux.fan, emailAddress = buzz@desdelinux.fan verificar retorno:1
--- Cadeia de certificados 0 s:/C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Enthusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan i:/C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Entusiastas/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- Certificado do servidor -----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= -----CERTIFICADO FINAL----- assunto=/C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Entusiastas/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan emissor=/C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Entusiastas/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- Nenhum nome de CA de certificado de cliente enviado Chave temporária do servidor: ECDH, secp384r1, 384 bits --- O handshake SSL leu 1342 bytes e gravou 411 bytes --- Novo, TLSv1/SSLv3, a cifra é ECDHE-RSA-AES256 -GCM-SHA384 A chave pública do servidor é de 1024 bits A renegociação segura é suportada Compressão: NONE Expansão: NONE Sessão SSL: Protocolo: TLSv1.2 Cifra: ECDHE-RSA-AES256-GCM-SHA384 ID da sessão: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB 6 C5295BF4E2D73A ID de sessão- ctx: Chave mestra: 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 Chave-Arg: Nenhum Krb5 Principal: Nenhum Identidade PSK: Nenhuma Dica de identidade PSK: Nenhuma T Dica vitalícia do ticket de sessão LS: 300 (segundos) Ticket de sessão TLS: 0000 - 4e 3a f8 29 7a 4f 63 72- ee f7 a6 4f fc ec 7e 1c 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. ....<. Hora de início: 1495484262 Tempo limite: 300 (seg) Verifique o código de retorno: 18 (certificado autoassinado) ---
+ OK Dovecot está pronto!
USUÁRIO legolas
+ OK
PASSAR legolas
+ OK Conectado.
LISTA
+ OK 1 mensagens: 1 1021.
RETIRAR 1
+OK 1021 octetos Caminho de retorno: X-Original-Para: legolas@desdelinux.fan entregue para: legolas@desdelinux.fan Recebido: do sysadmin.desdelinux.fan (gateway [172.16.10.1]) por desdelinux.fan (Postfix) com ID ESMTP 51886C11E8C0 paradesdelinux.fã>; Seg, 22 de maio de 2017 15:09:11 -0400 (EDT) ID da mensagem: <919362.931369932-sendEmail@sysadmin> De: "buzz@deslinux.fan" Para: "legolas@desdelinux.fã"desdelinux.fan> Assunto: Olá Data: Seg, 22 de maio de 2017 19:09:11 +0000 X-Mailer: sendEmail-1.56 Versão MIME: 1.0 Tipo de conteúdo: multipart/relacionado; border="----MIME delimiter for sendEmail-365707.724894495" Esta é uma mensagem de várias partes no formato MIME. Para exibir esta mensagem corretamente, você precisa de um programa de e-mail compatível com MIME versão 1.0. ------Delimitador MIME para sendEmail-365707.724894495 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Saudações Legolas do seu amigo Buzz ------Delimitador MIME para sendEmail-365707.724894495-- .
SAIR
+ OK Saindo. fechadas
buzz @ sysadmin: ~ $

correio de esquilo

correio de esquilo é um cliente web escrito inteiramente em PHP. Inclui suporte nativo a PHP para os protocolos IMAP e SMTP e fornece compatibilidade máxima com os diferentes navegadores em uso. Ele funciona corretamente em qualquer servidor IMAP. Possui todas as funcionalidades de que você precisa em um cliente de e-mail, incluindo suporte a MIME, catálogo de endereços e gerenciamento de pastas.

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

[root @ linuxbox ~] # nano /etc/squirrelmail/config.php
$domínio = 'desdelinux.fã';
$imapServerAddress = 'mail.desdelinux.fã';
$ imapPort = 143;
$smtpServerAddress = 'desdelinux.fã';

[root @ linuxbox ~] # serviço httpd reload

DNS Send Policy Framenwork ou registro SPF

No artigo Servidor DNS Autoritário NSD + Shorewall Vimos que a Zona «desdelinux.fan» foi configurado da seguinte forma:

root@ns:~# nano /etc/nsd/desdelinux.fan.zona
$ ORIGEM desdelinux.fã. $TTL 3H @ IN SOA nos.desdelinux.fã. raiz.desdelinux.fã. (1; serial 1D; atualização 1H; nova tentativa 1W; expiração 3H); mínimo ou ; Tempo de vida do cache negativo; @V NS ns.desdelinux.fã. @ IN MX 10 e-mail.desdelinux.fã.
@ IN TXT "v=spf1 a:mail.desdelinux.fã -todos"
; ; Registro para resolver dúvidas de escavação desdelinux.fan@IN A 172.16.10.10 ; ns IN A 172.16.10.30 mail IN CNAME   desdelinux.fã. conversar EM CNAME   desdelinux.fã. www EM CNAME   desdelinux.fã. ; ; Registros SRV relacionados ao XMPP
_xmpp-server._tcp IN SRV 0 0 5269 desdelinux.fã. _xmpp-client._tcp IN SRV 0 0 5222 desdelinux.fã. _jabber._tcp IN SRV 0 0 5269 desdelinux.fã.

Nele o registro é declarado:

@ IN TXT "v=spf1 a:mail.desdelinux.fã -todos"

Para ter o mesmo parâmetro configurado para a Rede SME ou LAN, devemos modificar o arquivo de configuração Dnsmasq da seguinte maneira:

# registros TXT. Também podemos declarar um registro SPF txt-record=desdelinux.fan,"v=spf1 a:mail.desdelinux.fã -todos"

Em seguida, reiniciamos o serviço:

[root @ linuxbox ~] # service dnsmasq restart
[root@linuxbox ~]# status dnsmasq do serviço [root@linuxbox ~]# host -t correio TXT.desdelinux.carta de fã.desdelinux.fan é um apelido para desdelinux.fã.
desdelinux.fan texto descritivo "v=spf1 a:mail.desdelinux.fã -todos"

Certificados autoassinados e Apache ou httpd

Mesmo que o seu navegador diga que «O proprietário do correio.desdelinux.ventilador Você configurou seu site incorretamente. Para evitar que suas informações sejam roubadas, o Firefox não se conectou a este site ”, o certificado gerado anteriormente É VALIDO, e permitirá que as credenciais entre o cliente e o servidor viajem criptografadas, depois de aceitarmos o certificado.

Se desejar, e como forma de unificar os certificados, você pode declarar para o Apache os mesmos certificados que você declarou para o Postfix, o que está correto.

[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 ~] # serviço de reiniciar httpd
[root @ linuxbox ~] # status do serviço httpd

Grupo Diffie-Hellman

O assunto Segurança se torna mais difícil a cada dia na Internet. Um dos ataques mais comuns às conexões SSL, isso é o Engarrafamento e para se defender contra isso é necessário adicionar parâmetros não padronizados à configuração SSL. Para isso existe RFC-3526 «Mais Exponencial Modular (MODP) Diffie-Hellman grupos para 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

De acordo com a versão do Apache que instalamos, usaremos o Grupo Diffie-Helman do arquivo /etc/pki/tls/dhparams.pem. Se for uma versão 2.4.8 ou posterior, teremos que adicionar ao arquivo /etc/httpd/conf.d/ssl.conf a seguinte linha:

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

A versão do Apache que estamos usando é:

[root @ linuxbox tls] # yum info httpd
Plugins carregados: mais rápido, espelho langpacks Carregando velocidades de espelho do arquivo host em cache Pacotes instalados Nome: httpd Arquitetura: x86_64
Versão: 2.4.6
Versão: 45.el7.centos Tamanho: 9.4 M Repositório: instalado Do repositório: Base-Repo Resumo: Servidor HTTP Apache URL: http://httpd.apache.org/ Licença: ASL 2.0 Descrição: O Servidor HTTP Apache é um poderoso, eficiente e extensível: servidor web.

Como temos uma versão anterior a 2.4.8, adicionamos ao final do certificado CRT gerado anteriormente, o conteúdo do Grupo Diffie-Helman:

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

Se você deseja verificar se os parâmetros DH foram adicionados corretamente ao certificado CRT, execute os seguintes comandos:

[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]# certificados de gato/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 -----

Após essas mudanças, devemos reiniciar os serviços Postfix e httpd:

[root @ linuxbox tls] # reinicialização do postfix do serviço
[root @ linuxbox tls] # status do postfix do serviço
[root @ linuxbox tls] # service httpd restart
[root @ linuxbox tls] # status do serviço httpd

A inclusão do Grupo Diffie-Helman em nossos certificados TLS pode tornar a conexão por HTTPS um pouco mais lenta, mas a adição de segurança vale a pena.

Verificando Squirrelmail

después se os certificados foram gerados corretamente e se verificamos seu funcionamento correto como fizemos usando os comandos do console, aponte seu navegador preferido para o URL http://mail.desdelinux.fan/webmail e ele se conectará ao cliente web após aceitar o certificado correspondente. Observe que, embora você especifique o protocolo HTTP, ele será redirecionado para HTTPS, e isso se deve à configuração padrão que o CentOS oferece para o Squirrelmail. Veja o arquivo /etc/httpd/conf.d/squirrelmail.conf.

Sobre as caixas de correio dos usuários

Dovecot cria as caixas de correio IMAP na pasta Início de cada usuário:

[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 May 22 12:39 dovecot-uidvalidity -r - r - r--. 1 legolas legolas 0 22 de maio 10:12 dovecot-uidvalidity.5922f1d1 drwxrwx ---. 2 legolas mail 56 May 22 10:23 INBOX drwx ------. 2 legolas legolas 56 22 de maio 12:39 Enviado drwx ------. 2 legolas legolas 30 de maio de 22 11h34 Lixo

Eles também são armazenados em / var / mail /

[root @ linuxbox ~] # less / var / mail / legolas
De MAILER_DAEMON Seg, 22 de maio 10:28:00 2017 Data: Seg, 22 de maio de 2017 10:28:00 -0400 De: Dados internos do sistema de correio Assunto: NÃO EXCLUA ESTA MENSAGEM - PASTA DE DADOS INTERNOS ID da mensagem: <1495463280@linuxbox> . Ele é criado automaticamente pelo software do sistema de correio. Se excluídos, os dados importantes da pasta serão perdidos e serão recriados com os dados redefinidos para os valores iniciais. De raiz@desdelinux.fan Segunda-feira, 22 de maio 10:47:10 Caminho de retorno de 2017:desdelinux.fan> X-Original-Para: legolas Entregue-Para: legolas@desdelinux.fan Recebido: por desdelinux.fan (Postfix, do ID do usuário 0) id 7EA22C11FC57; Seg, 22 de maio de 2017 10:47:10 -0400 (EDT) Data: Seg, 22 de maio de 2017 10:47:10 -0400 Para: legolas@desdelinux.fan Assunto: Agente de usuário de teste: Heirloom mailx 12.5 7/5/10 Versão MIME: 1.0 Tipo de conteúdo: texto/sem formatação; charset=us-ascii Codificação de transferência de conteúdo: ID de mensagem de 7 bits: <20170522144710.7EA22C11FC57@desdelinux.fan> De: root@desdelinux.fan (root) X-UID: 7 Status: RO Olá. Esta é uma mensagem de teste de buzz@deslinux.fan Segunda-feira, 22 de maio, 10:53:08 Caminho de retorno de 2017: X-Original-Para: legolas@desdelinux.fan entregue para: legolas@desdelinux.fan Recebido: do sysadmin.desdelinux.fan (gateway [172.16.10.1]) por desdelinux.fan (Postfix) com ID ESMTP C184DC11FC57 paradesdelinux.fã>; Seg, 22 de maio de 2017 10:53:08 -0400 (EDT) ID da mensagem: <739874.219379516-sendEmail@sysadmin> De: "buzz@deslinux.fan" Para: "legolas@desdelinux.fã"desdelinux.fan> Assunto: Olá Data: Seg, 22 de maio de 2017 14:53:08 +0000 X-Mailer: sendEmail-1.56 Versão MIME: 1.0 Tipo de conteúdo: multipart/relacionado; limite = "---- Delimitador MIME para sendEmail-794889.899510057
/ var / mail / legolas

Resumo da minissérie do PAM

Vimos o núcleo de um servidor de email e colocamos um pouco de ênfase na segurança. Esperamos que o artigo sirva de ponto de entrada para um tópico tão complicado e suscetível a erros quanto a implementação de um servidor de correio manualmente.

Usamos autenticação de usuário local porque se lermos o arquivo corretamente /etc/dovecot/conf.d/10-auth.conf, veremos que no final está incluído -por padrão- o arquivo de autenticação dos usuários do sistema ! inclua auth-system.conf.ext. Precisamente esse arquivo nos diz em seu cabeçalho que:

[root @ linuxbox ~] # less /etc/dovecot/conf.d/auth-system.conf.ext
# Autenticação para usuários do sistema. Incluído em 10-auth.conf. # # # # Autenticação PAM. Preferido hoje em dia pela maioria dos sistemas.
# O PAM é normalmente usado com userdb passwd ou userdb static. # LEMBRE-SE: Você precisará do arquivo /etc/pam.d/dovecot criado para que a autenticação PAM # realmente funcione. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = yes] [max_requests = ] # [cache_key = ] [ ] #args = dovecot}

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

[root @ linuxbox ~] # cat /etc/pam.d/dovecot 
#% PAM-1.0 auth necessário pam_nologin.so auth inclui conta de autenticação de senha inclui sessão de autenticação de senha inclui autenticação de senha

O que estamos tentando transmitir sobre a autenticação PAM?

  • CentOS, Debian, Ubuntu e muitas outras distribuições Linux instalam Postifx e Dovecot com autenticação local habilitada por padrão.
  • Muitos artigos na Internet usam MySQL - e mais recentemente MariaDB - para armazenar usuários e outros dados relativos a um Mailserver. MAS estes são servidores para MILHARES DE USUÁRIOS, e não para uma rede SME clássica com - talvez - centenas de usuários.
  • A autenticação por meio do PAM é necessária e suficiente para fornecer serviços de rede, desde que sejam executados em um único servidor, como vimos nesta minissérie.
  • Os usuários armazenados em um banco de dados LDAP podem ser mapeados como se fossem usuários locais e a autenticação PAM pode ser usada para fornecer serviços de rede de diferentes servidores Linux que atuam como clientes LDAP para o servidor de autenticação central. Dessa forma, trabalharíamos com as credenciais dos usuários armazenadas no banco de dados do servidor LDAP central, e NÃO seria essencial manter um banco de dados com usuários locais.

Até a próxima aventura!