Postfix: deshabilitar la autenticación a través del puerto 25

12

Al usar Postfixy IMAPen un servidor de correo, generalmente se abren al menos 3 puertos

25 smtp   : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap  : imap for authorized users

Me gustaría configurar postfix, para que los usuarios autorizados solo puedan enviar correos electrónicos a través de 465. Por defecto, esto no es así. Los usuarios también pueden usar STARTTLS a través del puerto 25. Me gustaría deshabilitar eso.

Mi plan es usar el puerto 25 para que el público me envíe un correo electrónico

usar el puerto 465 para mis usuarios (puedo usar el firewall para permitir rangos de IP específicos, o usar un puerto personalizado)

Esto evitaría que el puerto 25 sea explotable por ataques de fuerza bruta, donde los piratas informáticos intentan adivinar el usuario / contraseña. El puerto 25 simplemente no aceptaría usuario / contraseña, incluso si fuera válido. Y dado que el puerto 465 está restringido por firewall, los hackers tampoco pueden explotar 465.

¿Es esto posible en Postfix?

Estoy usando Postfix 2.9.6-2 en Debian Wheezy

Martin Vegter
fuente
1
Sé que esto es antiguo, pero siempre debe permitir el puerto 587 (envío) ya que este es el puerto adecuado.
lbutlr

Respuestas:

14

ADVERTENCIA:
La solicitud no sigue las mejores prácticas de seguridad porque deshabilita TLS (cifrado) en su puerto principal de retransmisión de correo, exponiendo los datos enviados a través de ese puerto a escuchas de terceros y / o modificaciones en vuelo. La respuesta a continuación satisface la solicitud, pero la mejor práctica requiere STARTTLS para la conexión del puerto 25 también.

El master.cfarchivo (generalmente /etc/postfix/master.cf) controla el inicio y la configuración de servicios específicos de Postfix. Una configuración como esta en ese archivo, de acuerdo con la documentación, hará lo que desee:

smtp  inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=none
  -o smtpd_sasl_auth_enable=no

smtps inet  n  -  -  -  -  smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Esta configuración desactiva la autenticación y la opción STARTTLS en el puerto 25. Activa la opción STARTTLS en el puerto 465, requiere el uso de STARTTLS, habilita la autenticación y solo permite que los clientes se conecten si están autenticados.

También puede buscar la smtpd_tls_wrappermodeopción de forzar conexiones TLS verdaderas (y no conexiones STARTTLS).

Tenga en cuenta que este tipo de configuración puede hacer que la configuración de Postfix sea algo difícil de seguir (las opciones pueden establecerse main.cfy luego anularse master.cf). La otra opción es ejecutar múltiples instancias de Postfix, cada una con sus propios main.cfarchivos de configuración que especifican estas opciones.

cazando
fuente
1
si se establecieran opciones conflictivas main.cf, ¿cuáles preferirían? Por lo que dices, parece que master.cfanula main.cf. ¿Es esto correcto?
Martin Vegter
1
Las -oopciones anulan las de los archivos de configuración. El master.cfarchivo coordina el inicio de los procesos, y si tuviera que iniciar los procesos manualmente con las -oopciones, anularían cualquier archivo de configuración especificado.
cazando el
¿No -o smtpd_tls_security_level=nonematará TLS / hará que todo sea texto simple en caso de que algún servidor esté tratando de retransmitir correo electrónico o alguna otra conexión SMTP de servidor a servidor al puerto 25?
TCB13
De -o smtpd_tls_security_level=nonehecho, evitará que STARTTLS funcione en el puerto 25 y, por lo tanto, realice todas las comunicaciones en texto sin formato. Eso es lo que solicitó la pregunta.
cazando
Todavía estoy rechazando esto por la razón anterior. Cumplir con la solicitud de OP está bien, pero debe agregar una advertencia de mayúscula que es una muy mala idea. (Por favor, déjame votarte en su lugar, agregando eso. ;-))
ntninja