Como posso desabilitar a autenticação de texto sem formatação do SMTP para ficar no OS X 10.10 Server.app do Yosemite

4

Eu tenho um servidor de retransmissão SMTP que substituí recentemente pelo OS X 10.10 Yosemite executando o Server.app. Ele está sendo executado como um relé somente SMTP, permitindo que apenas hosts da LAN sejam transmitidos através dele. Fazemos isso para que todos os e-mails da nossa sub-rede sejam enviados corretamente de um host verificado para o nosso domínio para o Sender Policy Framework (SPF) e outros.

Configurar para retransmitir foi bem fácil. Seguindo a documentação da Apple para Desabilitando serviços de email no OS X Server , fiz o seguinte:

sudo serveradmin settings mail:global:skip_enable_service_check = yes
sudo serveradmin settings mail:imap:enable_imap = no
sudo serveradmin settings mail:imap:enable_pop = no
sudo serveradmin settings mail:imap:enable_sieve = no
sudo serveradmin stop mail
sudo serveradmin start mail

Isso garante que somente o SMTP esteja em execução e continue sendo o caso após a reinicialização ou a reinicialização do serviço de email. Como o nome do host do servidor de retransmissão SMTP é subdomínio no domínio para o qual ele está retransmitindo, eu também tive que modificar /Library/Server/Mail/Config/postfix/main.cf para remover $myhostname & $mydomain de "mydestination", a linha resultante é a seguinte:

mydestination = localhost.$mydomain, localhost

Isso também funcionou, o Server.app reconheceu e reteve a mudança (conforme verificado executando sudo serveradmin settings mail:postfix ). O mesmo vale para ajustes na linha mynetworks para limitar quais sub-redes foram aceitas.

O problema que estou enfrentando é que as modificações na linha smtpd_pw_server_security_options (especificamente, para remover os tipos de autenticação LOGIN & PLAIN ) não irão permanecer e reverter para o padrão (que inclui a autenticação de texto sem formatação indesejada tipos) ao iniciar o serviço de email. A documentação da Apple sobre opções de postfix específicas da Apple no Mac OS X Server sugere que pular o LOGIN & As opções PLAIN devem ser válidas.

Eu tentei:

  1. as modificações mencionadas acima para smtpd_pw_server_security_options in /Library/Server/Mail/Config/postfix/main.cf
  2. Como mencionado na documentação de opções do postfix específicas da Apple, executar sudo serveradmin settings mail:postfix:smtpd_use_pw_server = no ( mail:postfix:smtpd_use_pw_server parece ser um dicionário vazio no Yosemite)
  3. Executando sudo serveradmin settings postfix:smtp_sasl_auth_enable = yes (o padrão é 'não' no Yosemite, então presumo que a Apple apenas tenha trocado a funcionalidade desta opção da opção mail:postfix:smtpd_use_pw_server acima)
  4. Usando serveradmin para excluir o login & plain elementos da matriz mail:postfix:smtpd_pw_server_security_options (por exemplo, sudo serveradmin settings mail:postfix:smtpd_pw_server_security_options:_array_index:2 = delete ), mas como Charles Edge menciona em seu post no blog kyrpted sobre Removendo as 'configurações serveradmin' Entradas no OS X Server , essa funcionalidade parece estar quebrada. E, não, essas configurações não são espelhadas em /Library/Server/Mail/Config/MailServicesOther.plist ou qualquer outro .plist, então modificá-las manualmente não parece ser uma opção.

Eu obtive a autenticação de texto sem formatação temporariamente desativada usando Server.app alternando a configuração de autenticação de texto simples de uma caixa de seleção parcialmente selecionada (presumivelmente porque o IMAP está desabilitado) para uma caixa de seleção totalmente desmarcada, mas é inconsistente e não fica após reiniciar o Mail serviço.

Qualquer sugestão ou solução seria muito apreciada, com a exceção de aconselhar a não usar o Server.app no OS X. Isto é para uma loja totalmente Apple que deve ração para os produtos da Apple por razões que eu não posso entrar aqui. Naturalmente, deixar a autenticação em texto simples ativada também não é uma opção para segurança óbvia & Motivos de conformidade com o PCI DSS.

    
por morgant 10.03.2015 / 23:54

1 resposta

2

Eu posso - com alguns futzing - obter a autenticação SMTP de texto sem formatação desabilitada via Server.app, embora ela não fique muito bem (certamente não sobrevive a uma reinicialização ou reinicialização do serviço Mail, e às vezes até se perde enquanto cutucando no Server.app). Percebi que, como uma solução temporária, posso pelo menos notificar automaticamente se o 'PLAIN' & A autenticação SMTP de texto simples 'LOGIN' é reativada.

Preparei o seguinte script rápido que faz o trabalho:

#!/bin/bash

# 
# smtp_plaintext_auth_check - check to see if plaintext auth is supported by SMTP service and warn if it is
# 
# v0.1   2015-03-12 - Morgan Aldridge <http://serverfault.com/users/13496/morgant>
#                     Initial version.
# 

admin_emails="[email protected]"
debug=false

host=$(hostname)
date=$(date +%Y-%m-%d-%H%M)

plaintext_auth_enabled=false

# check via serveradmin to see if plaintext auth is allowed by the SMTP server
if $debug; then echo "Checking Mail service to see if SMTP plaintext auth is supported..."; fi
while IFS= read -r line; do
    if [[ "$line" =~ (plain|login) ]]; then
        if $debug; then echo "  Found '${BASH_REMATCH[1]}' SMTP auth method which is plaintext!"; fi
        plaintext_auth_enabled=true
    fi
done <<< "$(serveradmin settings mail:postfix:smtpd_pw_server_security_options)"

# if plaintext auth is enabled, notify admins
if $plaintext_auth_enabled; then
    if $debug; then echo "Notifying admins via email that SMTP plaintext auth IS supported. That's bad!"; fi
    mail -s "Error on $host: SMTP plaintext auth is allowed! $date" $admin_emails <<-EOM
        ERROR on $host: SMTP plaintext auth appears to be allowed by the Mail service! This is a security risk and against PCI DSS compliance!

        Please resolve ASAP!
    EOM
else
    if $debug; then echo "Phew, SMTP plaintext auth doesn't appear to be supported. That's good."; fi
fi

Novamente, é uma solução alternativa e eu prefiro muito mais desativar programaticamente a autenticação em texto sem formatação SMTP.

    
por 13.03.2015 / 00:18