Postfijo mínimo master.cf

Postfijo mínimo master.cf

Actualmente estoy implementando otro Postfix MTA y esta vez me gustaría reducir master.cfy deshabilitar servicios innecesarios para reducir la posible superficie de ataque y comprenderlo mejor en el proceso.

El MTA debe recibir correos electrónicos de usuarios virtuales, entregarlos al maildir apropiado y finalmente retransmitir el correo de los usuarios autenticados.

Cambiar a OpenSMTPd (con el que toda mi configuración se puede expresar en un solo archivo de 15 líneas) no es posible en este momento (no hay soporte para milter), así que estoy atrapado con Postfix.

El horror en cuestión:

# ==========================================================================
# 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

No existe ninguna página de manual que describa una configuración mínima, y ​​las páginas de manual de cada servicio realmente no indican si se requiere o no un módulo (para algunos es bastante fácil resolverlo, para otros es casi imposible sin prueba y error interminables).

Mi intento fallido actual es el siguiente (puerto de envío omitido, por ahora solo estoy intentando que funcione la entrega de correo):

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

Esto funciona un poco, excepto que todo el correo recibido solo se entrega (a maildir) al reiniciar Postfix, y estoy bastante seguro de que está incompleto y no puede manejar los rebotes, así que todavía estoy buscando una respuesta.

Respuesta1

No te recomendaría que elimines el servicio delpor defecto maestro.cf. Te mordió cuando probaste la configuración minimalista.

Una de las razones por las que Postfix tiene muchos servicios esseguridad. Una de las ventajas es que postfix se ejecuta mediante un demonio/servicio independiente para realizar una tarea específica. Entonces, postfijomaster puede ajustar los permisos y privilegios por servicio postfix. Por ejemplodemonio qmgr(8)no habla con el mundo exterior y se puede ejecutar con privilegios bajos fijos en un entorno chroot.

De todos modos, no tengo tiempo para hacer pruebas y errores interminables para saber qué servicio postfix se puede desactivar. Entonces te doy información sobre algún servicio y lo agrupo en varios 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

información relacionada