Configuração do Postfix para segurança máxima: um guia completo

Definições básicas de segurança

Antes de analisarmos as medidas de segurança avançadas, devemos certificar-nos de que as definições básicas estão corretas. Isso inclui restringir o acesso ao servidor Postfix. No ficheiro /etc/postfix/main.cf deve acrescentar ou ajustar as seguintes linhas:

inet_interfaces = loopback-only
mynetworks = 127.0.0.0/8 [::1]/128

Estas definições restringem o acesso ao anfitrião local e impedem que o servidor seja utilizado indevidamente como um retransmissor aberto. Uma retransmissão aberta pode ser utilizada por spammers para enviar mensagens de correio eletrónico indesejadas, o que pode prejudicar gravemente a reputação do seu servidor. Por conseguinte, é crucial efetuar esta proteção básica.

Ativar a encriptação TLS

A utilização de TLS (Transport Layer Security) é essencial para garantir a confidencialidade da comunicação por correio eletrónico. Adicione as seguintes linhas ao ficheiro main.cf-arquivo:

smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtp_tls_security_level = may

Estas definições activam o TLS para ligações de entrada e de saída. Certifique-se de que utiliza certificados SSL válidos, idealmente de uma autoridade de certificação (CA) fiável. Um TLS corretamente implementado protege os seus e-mails de interceção e manipulação durante a transmissão. Mais informações sobre a configuração do TLS podem ser encontradas na [Documentação do Postfix] oficial (https://www.postfix.org/TLS_README.html).

Configurar a autenticação SASL

O Simple Authentication and Security Layer (SASL) fornece uma camada adicional de segurança. Adicione estas linhas ao ficheiro main.cf acrescentado:

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

Esta configuração pressupõe que está a utilizar o Dovecot como o seu fornecedor SASL. Ajuste as definições em conformidade se estiver a utilizar um fornecedor diferente. A autenticação SASL impede que utilizadores não autorizados enviem e-mails através do seu servidor, o que aumenta significativamente a segurança.

Proteção contra ataques de negação de serviço

Para proteger o seu servidor de sobrecargas, pode definir limites de ligação. Adicione essas linhas ao arquivo main.cf acrescentado:

smtpd_client_connection_rate_limit = 50
smtpd_client_message_rate_limit = 100
anvil_rate_time_unit = 60s

Estas definições limitam o número de ligações e mensagens que um cliente pode enviar por minuto. Ao limitar este número, pode evitar que o seu servidor seja sobrecarregado por pedidos em massa ou mensagens de correio eletrónico não solicitado. Este é um passo importante para garantir a disponibilidade do seu servidor de correio eletrónico.

Implementar restrições HELO/EHLO

Muitos remetentes de spam utilizam nomes de anfitrião HELO/EHLO inválidos ou falsificados. Pode bloquear essas ligações com as seguintes definições:

smtpd_helo_required = sim
smtpd_helo_restrictions =
 permit_mynetworks,
 reject_invalid_helo_hostname,
 reject_non_fqdn_helo_hostname

Estas regras exigem um nome de anfitrião HELO/EHLO válido e rejeitam ligações com nomes de domínio inválidos ou incompletamente qualificados. Isto torna mais difícil para os remetentes de spam enviar e-mails falsos, uma vez que têm de fornecer informações HELO/EHLO corretas.

Introduzir restrições para os emissores

Para evitar a utilização indevida do seu servidor, pode definir restrições para os remetentes:

smtpd_sender_restrictions =
 permitir_redes,
 reject_non_fqdn_sender,
 reject_unknown_sender_domain,
 reject_unauth_pipelining

Estas regras rejeitam mensagens de correio eletrónico provenientes de endereços de remetente com qualificações incompletas ou de domínios de remetente desconhecidos. Isto reduz a probabilidade de o seu servidor ser utilizado para spam ou phishing e, ao mesmo tempo, melhora a qualidade geral das mensagens de correio eletrónico recebidas.

Configurar restrições de destinatários

À semelhança das restrições do remetente, também é possível definir regras para os destinatários:

smtpd_recipient_restrictions =
 permitir_redes,
 reject_unauth_destination,
 reject_non_fqdn_recipient,
 reject_unknown_recipient_domain

Estas definições impedem que o seu servidor seja utilizado indevidamente como retransmissor para destinos não autorizados e rejeitam mensagens de correio eletrónico para endereços de destinatários inválidos. Isto aumenta ainda mais a segurança do seu servidor e, ao mesmo tempo, garante a integridade da comunicação por correio eletrónico.

Implementar greylisting

Greylisting é um método eficaz para reduzir o spam. Primeiro, instale o pacote Postgrey:

sudo apt install postgrey

Em seguida, adicione a seguinte linha ao ficheiro main.cf acrescentado:

smtpd_recipient_restrictions =
 ... (definições existentes)
 check_policy_service unix:private/postgrey

Esta configuração encaminha primeiro os emails recebidos para o serviço Postgrey, que gera rejeições temporárias para remetentes desconhecidos. Os servidores de correio eletrónico que enviam correio eletrónico legítimo tentam novamente a entrega após um atraso, eliminando eficazmente os remetentes de spam que, frequentemente, apenas tentam enviar uma vez.

Ativar a verificação SPF

O Sender Policy Framework (SPF) ajuda a evitar a falsificação de correio eletrónico. Primeiro, instale o pacote necessário:

sudo apt install postfix-policyd-spf-python

Em seguida, adicione estas linhas ao ficheiro main.cf acrescentado:

policyd-spf_time_limit = 3600s
smtpd_recipient_restrictions =
 ... (definições existentes)
 check_policy_service unix:private/policyd-spf

Esta configuração ativa a verificação SPF para as mensagens de correio eletrónico recebidas. O SPF verifica se o correio eletrónico foi enviado de um servidor autorizado para o domínio especificado, o que ajuda a evitar falsificações e a aumentar a credibilidade da sua comunicação por correio eletrónico.

Implementar a assinatura DKIM

O DomainKeys Identified Mail (DKIM) adiciona uma assinatura digital aos e-mails enviados. Primeiro, instale o OpenDKIM:

sudo apt install opendkim opendkim-tools

Em seguida, configure o OpenDKIM e adicione estas linhas ao arquivo main.cf acrescentado:

milter_protocol = 2
milter_default_action = accept
smtpd_milters = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock

Estas definições activam a assinatura DKIM para os e-mails de saída. O DKIM aumenta a segurança ao garantir que os e-mails não foram alterados sem serem notados e reforça a confiança na autenticidade das mensagens.

Configurar diretrizes DMARC

O DMARC (Domain-based Message Authentication, Reporting and Conformance) baseia-se no SPF e no DKIM. Adicione uma entrada DNS DMARC para o seu domínio e instale o OpenDMARC:

sudo apt install opendmarc

Configure o OpenDMARC e adicione esta linha ao main.cf acrescentado:

smtpd_milters = ... (definições existentes), inet:localhost:8893

Esta configuração ativa a verificação DMARC para e-mails recebidos. O DMARC permite que os proprietários de domínios definam políticas sobre a forma como os servidores receptores devem lidar com verificações SPF ou DKIM falhadas e fornece relatórios detalhados sobre a autenticação de correio eletrónico.

Actualizações e acompanhamento regulares

A segurança é um processo contínuo. Certifique-se de que actualiza regularmente o seu sistema Postfix:

sudo apt update
sudo apt upgrade

Monitorize também os registos do Postfix para detetar actividades suspeitas:

tail -f /var/log/mail.log

As actualizações regulares colmatam as falhas de segurança conhecidas e melhoram a estabilidade do seu servidor de correio. A monitorização contínua dos registos permite-lhe reconhecer actividades invulgares numa fase inicial e reagir rapidamente.

Medidas de segurança adicionais

Para além das medidas de segurança básicas e avançadas, existem passos adicionais que pode tomar para aumentar ainda mais a segurança do seu servidor Postfix:

Configuração da firewall

Certifique-se de que a sua firewall abriu apenas as portas necessárias para o servidor de correio eletrónico. Normalmente, estas são a porta 25 (SMTP), a porta 587 (envio) e a porta 993 (IMAP via SSL). Utilize ferramentas como ufw ou iptablespara controlar o acesso a estas portas e bloquear ligações indesejadas.

Sistemas de deteção de intrusão (IDS)

Implementar um sistema de deteção de intrusão, como Fail2Banpara detetar repetidas tentativas de início de sessão falhadas e bloquear automaticamente endereços IP que apresentem um comportamento suspeito. Isto reduz o risco de ataques de força bruta ao seu servidor de correio eletrónico.

Cópias de segurança e restauro

Efectue regularmente cópias de segurança dos seus ficheiros de configuração e dados importantes. Na eventualidade de um incidente de segurança, pode restaurar rapidamente e minimizar as interrupções de serviço. Guarde as cópias de segurança num local seguro e verifique regularmente a integridade dos dados de cópia de segurança.

Gestão de utilizadores e direitos

Faça uma gestão cuidadosa das contas de utilizador e atribua apenas os direitos necessários. Utilize palavras-passe fortes e considere a possibilidade de implementar a autenticação multifactor (MFA) para proteger ainda mais o acesso ao servidor de correio.

Melhores práticas para a manutenção do Postfix

A manutenção contínua do seu servidor Postfix é fundamental para manter a segurança e o desempenho. Aqui estão algumas práticas recomendadas:


  • Verificar regularmente a configuração: Verificar regularmente o seu main.cf e outros ficheiros de configuração para garantir que todas as medidas de segurança são implementadas corretamente.

  • Análise de registos: Utilize ferramentas para analisar automaticamente os seus registos de correio para identificar rapidamente anomalias e potenciais incidentes de segurança.

  • Actualizações de software: Actualize regularmente não só o Postfix, mas também todos os componentes dependentes, como o Dovecot, o OpenDKIM e o OpenDMARC.

  • Monitorização e alertas: Implemente um sistema de monitorização que o notifique de actividades invulgares ou mensagens de erro.

Evitar erros comuns na configuração do Postfix

Ao configurar o Postfix para maximizar a segurança, há erros comuns que devem ser evitados:


  • Relé aberto: Certifique-se de que o seu servidor não está configurado como uma retransmissão aberta, definindo o parâmetro inet_interfaces e minhas redes-configurações corretamente.

  • Certificados TLS inválidos: Utilize sempre certificados SSL válidos e actualizados para utilizar eficazmente a encriptação TLS.

  • Falta de autenticação: Active a autenticação SASL para evitar a utilização indevida do seu servidor.

  • Limites de taxa insuficientes: Definir limites de ligação adequados para evitar ataques de negação de serviço.

  • Falta de SPF/DKIM/DMARC: Implemente métodos abrangentes de autenticação de correio eletrónico para garantir a integridade e a autenticidade das suas mensagens.

Resumo

A configuração do Postfix para máxima segurança requer um planeamento cuidadoso e uma manutenção regular. Ao implementar as medidas descritas neste artigo, pode melhorar significativamente a segurança do seu servidor de correio eletrónico. Lembre-se de que a segurança é um processo contínuo. Mantenha-se atualizado sobre novas ameaças e práticas recomendadas para manter seu servidor Postfix protegido. Aproveite os recursos e as comunidades disponíveis para se educar e manter-se na vanguarda da tecnologia.

Para obter mais informações e instruções detalhadas, visite a [Documentação do Postfix] oficial (https://www.postfix.org/documentation.html) e outras fontes fiáveis no domínio da segurança do correio eletrónico.

Artigos actuais