Postfix mínimo master.cf

Postfix mínimo master.cf

Atualmente, estou implantando outro MTA Postfix e, desta vez, gostaria de reduzir master.cfe desabilitar serviços desnecessários para reduzir a superfície de ataque potencial e obter uma melhor compreensão disso no processo.

O MTA deve receber emails de usuários virtuais, entregá-los ao maildir apropriado e, finalmente, retransmitir emails de usuários autenticados.

Mudar para OpenSMTPd (com o qual toda a minha configuração pode ser expressa em um único arquivo de 15 linhas) não é possível no momento (sem suporte a milter), então estou preso ao Postfix.

O horror em questão:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

Não existe nenhuma página de manual que descreva uma configuração mínima, e as páginas de manual de cada serviço não dizem realmente se um módulo é necessário ou não (para alguns é fácil de descobrir, para outros é quase impossível sem tentativa e erro sem fim).

Minha tentativa atual com falha é a seguinte (porta de envio omitida, por enquanto estou apenas tentando fazer a entrega de correio funcionar):

smtp inet n - - - - smtpd
cleanup unix n - - - 0 cleanup
qmgr unix - - - 300 1 qmgr
rewrite unix - - - - - trivial-rewrite
proxymap unix - - - - - proxymap
virtual unix - n - - - virtual
anvil unix - - - - 1 anvil
local unix - n - - - local

Isso meio que funciona, exceto que todos os e-mails recebidos são entregues apenas (para o maildir) ao reiniciar o Postfix, e tenho certeza de que estão incompletos e não podem lidar com devoluções, então ainda estou procurando uma resposta.

Responder1

Eu não recomendo que você remova o serviço dopadrão mestre.cf. Você foi mordido por isso quando tentou uma configuração minimalista.

Uma razão pela qual o postfix tem muitos serviços ésegurança. Uma das vantagens é o postfix executado por um daemon/serviço separado para realizar tarefas específicas. Portanto, o postfix masterpode ajustar permissões e privilégios por serviço postfix. Por exemplodaemon qmgr(8)não se comunica com o mundo exterior e pode ser executado com privilégios fixos e baixos em um ambiente chroot.

De qualquer forma, não tenho tempo para fazer tentativas e erros intermináveis ​​para saber qual é o serviço postfix que pode ser desativado. Então dou algumas informações sobre algum serviço e agrupá-lo por vários grupos.

# INPUT SERVICE
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup

# PROCESSING SERVICE
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite

# OUTPUT SERVICE
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp

# HELPER
# Generate bounce
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce

# For postfix recipient/sender verification See www.postfix.org/ADDRESS_VERIFICATION_README.html
verify    unix  -       -       n       -       1       verify

# Outgoing Connection manager 
scache    unix  -       -       n       -       1       scache

# TLS Cache Manager
tlsmgr    unix  -       -       n       1000?   1       tlsmgr

# maintains statistics about client connection counts or client request rates
anvil     unix  -       -       n       -       1       anvil

# Needed by mailq command
showq     unix  n       -       n       -       -       showq

# Needed by postqueue -f
flush     unix  n       -       n       1000?   0       flush

# Proxymap
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap

informação relacionada