No postfix, como aplicar tls + auth acima de 587, deixando tls opcional para 25

9

Gostaria de hospedar serviços de correio para alguns domínios. Eu configurei com êxito o postfix para consultar o sql para esses domínios virtuais. O que eu gostaria de fazer é:

  • Para conexões em 25:

    1. Negar retransmissão (entregar apenas aos destinatários dos meus domínios virtuais)
    2. Deixe tls opcional, mas ofereça auth somente se o cliente fizer tls
    3. Aceitar apenas clientes não incluídos na lista negra (por exemplo, restringir XBL + SBL + PBL do spamhaus) ou clientes que executam tls e auth ("servidores de correio de amigos" configurados para se autenticar comigo com auth e tls)
  • Para conexões no 587:

    1. Aplicar tls e auth
    2. Retransmissão de permissão.
    3. Aceite apenas clientes não incluídos na lista negra (listas negras como acima, mas deixe de fora a verificação PBL)

Minhas perguntas:

  • R. Conheço as opções de postfix acima, mas não consigo diferenciá-las com base na porta de escuta.

  • B. Terei problemas amplamente conhecidos com clientes supostamente legítimos com a política acima?

Eu sou novo na configuração do servidor de correio, desculpe-me por qualquer pergunta / suposição sem sentido (por favor, aponte). Obrigado.

Paralife
fonte

Respostas:

15

Isso é fácil,

  1. Em /etc/postfix/main.cfvocê irá adicionar / alterar

    smtpd_tls_security_level=may
    

    para que, por padrão, o TLS esteja disponível (mas opcional).

  2. Em seguida, /etc/postfix/master.cfvocê o substituirá pela porta 587 (a submissionporta) substituindo o parâmetro:

    submission inet n       -       n       -       -       smtpd
      -o smtpd_tls_security_level=encrypt
    

    Isso requer TLS para todas as conexões de envio (porta 587).

Quanto à negação de retransmissão, esse é o padrão; a retransmissão é permitida apenas para usuários autenticados e os endereços IP especificados em mynetworks.

Finalmente, você pode adicionar listas negras main.cfanexando a smtpd_recipient_restrictions:

    reject_rbl_client zen.spamhaus.org,

ou qualquer lista negra que você desejar. Elas devem aparecer perto do final da lista, pouco antes da final permit.


Uma última coisa. Para obter mais idéias sobre como evitar spam, consulte Combate ao spam - O que posso fazer como: Administrador de email, Proprietário do domínio ou Usuário?

Michael Hampton
fonte
Obrigado, apenas um ponto embaçado: Na porta 25, quero negar incondicionalmente a retransmissão, não importa se o cliente foi autenticado ou não.
Paralife
A autenticação na porta 25 está desativada por padrão. Mas, para ter certeza, verifique se smtpd_sasl_auth_enableNÃO está no seu main.cfe também que NÃO está presente na smtpseção do seu master.cf(mas DEVE ser definido yesna submissionseção). O master.cfdeve ser muito parecido com isso .
Michael Hampton
Correto, mas quero habilitar o auth + tls opcional em 25. Só não quero retransmitir em 25. Essencialmente, quero ser liberal sobre como alguém se conecta, mas muito rigoroso em retransmitir (negar todas as retransmissões). Nenhuma retransmissão deve ser permitida, a menos que ocorra no 587 e o cliente seja autenticado via tls. Qualquer outra combinação deve rejeitar a retransmissão. Provavelmente, apenas removo o allow_sasl_authenticated do smtpd_relay_restrictions e o coloco apenas em substituições para o 587 no master.cf. Obrigado.
Paralife
As pessoas não devem nem tentar se autenticar em 25. Você pode habilitá-lo se quiser, mas realmente não deveria.
22613 Michael Hampton
3

Não sei a resposta para a pergunta B, mas para A:

no postfix, geralmente master.cfvocê define onde todos os processos em execução, geralmente o /etc/postfix. Nesse arquivo que você tem uma entrada por executar serviço de postfix, por isso há dois diferentes para a porta 25e porta 587. Para cada um deles, você também pode passar parâmetros smtpdpara que eles tenham configurações diferentes.

Esse é um exemplo do meu servidor de correio:

4.3.2.1:25      inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
4.3.2.1:10027   inet  n       -       -       -       -       smtpd
  -o mynetworks=91.190.245.4/32 127.0.0.0/8
  -o smtpd_client_restrictions=permit_mynetworks,reject
repetição
fonte