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
ouço =*, ::
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 Fingerprint=5F:4A:0C:44:EC:EC:EF:95:73:3E:1E:37:D5:05:F8:23:7E:E1:A4:5A

[root @ linuxbox dovecot] # ls -l certs /
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
---
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 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, É a 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!


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

      Lagarto dito

    Acredite em mim que na prática este é um processo que dá fortes dores de cabeça a mais de um administrador de sistema, estou convencido de que no futuro será um guia de referência para quem deseja gerenciar seus próprios e-mails, um caso prático que se torna em um abc ao integrar postfix, dovecot, squirrelmail ..

    Muito obrigado pela sua contribuição meritória,

      Darko dito

    Por que não usar o Mailpile, quando se trata de segurança, com PGP? Além disso, o Roundcube tem uma interface muito mais intuitiva e também pode integrar PGP.

      Martin dito

    3 dias atrás li o post, sei como agradecer. Não pretendo instalar um servidor de e-mail, mas é sempre útil ver a criação de certificados, úteis para outras aplicações e esses tutoriais dificilmente expiram (especialmente quando você usa centOS).

      federico dito

    Manuel Cillero: Obrigado por criar um link de e para o seu blog este artigo que é o núcleo mínimo de um servidor de e-mail baseado em Postfix e Dovecot.

    Lagarto: Como sempre, sua avaliação foi muito bem recebida. Obrigado.

    Darko: Em quase todos os meus artigos digo mais ou menos que "Todos implementam os serviços com os programas que mais gostam." Obrigado por comentar.

    Martin: Obrigado também por ler o artigo e espero que ajude em seu trabalho.

      Carburo do Zodíaco dito

    Artigo tremendo amigo Federico. Muito obrigado por um tuto tão bom.

      arqueado dito

    Excelente, embora eu usasse "usuários virtuais" para evitar a criação de um usuário do sistema toda vez que adiciono um e-mail, obrigado, aprendi muitas coisas novas e esse é o tipo de postagem que estava esperando

      Willinton Acevedo Rueda dito

    Boa tarde,

    Eles ousariam fazer o mesmo com o servidor de diretórios fedora + postifx + dovecot + thunderbird ou outlook.

    Eu tenho uma parte, mas estou preso, ficaria feliz em compartilhar o documento com a comunidade @desdelinux

      fico dito

    Não imaginava que chegasse a mais de 3000 visitas !!!

    Saudações, lagarto!

      Darkend dito

    Excelente colega tutorial.
    Você poderia fazer isso para o Debian 10 com usuários de um Active Directory montado no Samba4 ???
    Imagino que seria quase o mesmo, mas mudando o tipo de autenticação.
    A seção que você dedica à criação de certificados autoassinados é muito interessante.