5.7. Protegendo o Sendmail

Sendmail é um Agente de Transporte de Correspondência (Mail Transport Agent - MTA) que utiliza o Protocolo de Transporte de Correspondência Simples (Simple Mail Transport Protocol - SMTP) para entregar mensagens eletrônicas entre outros MTAs e para enviar emails a clientes ou agentes de entrega. Apesar de muitos MTAs serem capazes de criptografar tráfego entre eles, a maioria não o faz, portanto enviar email através de qualquer rede pública é considerado uma forma de comunicação essencialmente insegura.

Para mais informações sobre o funcionamento do e-mail e uma visão geral dos ajustes de configuração comuns, veja o capítulo Email no Guia de Referência do Red Hat Enterprise Linux. Esta seção assume um conhecimento básico de como gerar um /etc/mail/sendmail.cf válido, editando o /etc/mail/sendmail.mc e executando o comando m4, conforme explicado no Guia de Referência do Red Hat Enterprise Linux.

É recomendado a qualquer um planejando implementar um servidor Sendmail, resolver as seguintes questões.

5.7.1. Limitar Ataque de Proibição de Serviço (Denial of Service Attack)

Devido à natureza do email, um determinado atacante pode facilmente lotar o servidor com correspondência e causar um ataque 'denial of service'. Ao determinar limites para as diretivas a seguir em /etc/mail/sendmail.mc, a efetividade de ataques deste tipo é limitada.

5.7.2. NFS e Sendmail

Nunca coloque o diretório spool de correspondência, /var/spool/mail/, em um volume NFS compartilhado.

Já que o NFS não mantém controle sobre IDs de usuário e grupo, dois ou mais usuários podem ter o mesmo UID e portanto receber e ler a correspondência do outro.

5.7.3. Usuários Mail-only

Para ajudar a prevenir exploits locais no servidor Sendmail, é melhor que usuários de mail acessem o Sendmail usando apenas um programa de email. Contas shell não devem ser permitidas no servidor de mail e todos os usuários shell do arquivo /etc/passwd devem ser definidos para /sbin/nologin (com a possível exceção do usuário root).