GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Postfijo de endurecimiento para ISPConfig 3

Postfix de endurecimiento para ISPConfig 3

Autor:Jesús Córdoba
Email:j.cordoba [arroba] gmx [punto] net
Usuario del foro:pititis

Versión:1.2

El objetivo de este tutorial es reforzar el sufijo del servidor de correo que utiliza ISPConfig para los servidores de correo de Internet en los que se confía en los usuarios autenticados. Con esta configuración, rechazará una gran cantidad de spam antes de que pase a su cola de correo, ahorrando una gran cantidad de recursos del sistema y fortaleciendo su servidor de correo contra los spammers y las botnets de spam. Vamos.

DNS inverso, (Registro DNS PTR)

Para configurar rdns encontrarás dos situaciones:

- Tu ISP te permite cambiarlo tú mismo. Echa un vistazo a tu panel de control.

- Tu ISP no te permite cambiarlo. Simplemente envíe un correo electrónico con su solicitud.

Pregunte o apunte su registro rdns a su servidor. es decir server.example.com Puede verificar sus rdns con el comando host:
[email protected] / #  host 149.20.4.69
  69.64-27.4.20.149.in-addr.arpa domain name pointer pub2.kernel.org.

Recuerde que dns debe propagar los cambios.

SPF para su dominio (registro DNS TXT)

SPF es un sistema de validación de correo electrónico diseñado para evitar el correo no deseado mediante la detección de la suplantación de correo electrónico, una vulnerabilidad común, mediante la verificación de las direcciones IP del remitente.

Para configurar spf, deberá agregar un registro TXT a su zona dns, pero primero puede generar su registro aquí:http://www.mailradar.com/spf/

Copie el resultado spf, luego vaya a ISPConfig -> dns -> zonas -> haga clic en su nombre de dominio -> haga clic en la pestaña de registros -> y haga clic en TXT

Nombre de host -> ejemplo.com. (¡con un punto al final!)

Texto -> Pegue aquí el resultado spf (sin " ").

Ejemplo:v=spf1 a mx ptr ip4:11.222.333.444 -all       …y haga clic en Guardar.

Recuerde que dns debe propagar los cambios.

Postfijo principal.cf

Agreguemos/cambiemos algo a /etc/postfix/main.cf

Restricciones de Helo:

smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname

Restricciones de Helo en acción:

Jan 12 01:57:08 server postfix/smtpd[4687]: NOQUEUE: reject: RCPT from unknown[186.43.77.153]: 450 4.7.1 Client host rejected: cannot find your hostname, [186.43.77.153]; from=
<[email protected]> to=<[email protected]> proto=ESMTP helo=<[186.43.77.153]>
Jan  8 00:32:22 server postfix/smtpd[17504]: NOQUEUE: reject: RCPT from 201-93-87-2.dial-up.telesp.net.br[201.93.87.2]: 504 5.5.2 <lan-32204df3031>: Helo command rejected: need fully-qualified hostname; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<lan-32204df3031>

Estricto rfc:

strict_rfc821_envelopes = yes

Restricciones de clientes:

smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf

Restricciones de destinatarios:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unknown_recipient_domain

Restricciones de datos:

smtpd_data_restrictions = reject_unauth_pipelining

Retraso smtpd:

smtpd_delay_reject = yes

No olvides recargar el postfijo:

/etc/init.d/postfix reload

Comprobación de SPF para Postfix (Debian y Ubuntu)

Instalar paquete spf:

apt-get install postfix-policyd-spf-python

o

apt-get install postfix-policyd-spf-perl

Agregue esto a /etc/postfix/main.cf :

policy-spf_time_limit = 3600s

y agregue check_policy_service unix:private/policy-spf al final de smtpd_recipient_restrictions:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination, reject_unknown_recipient_domain, check_policy_service unix:private/policy-spf

Ahora edite master.cf y agregue al final esto (para la versión de python):

policy-spf  unix  -       n       n       -       -       spawn
     user=nobody argv=/usr/bin/policyd-spf 

o esto para la versión perl:

policy-spf  unix  -       n       n       -       -       spawn
     user=nobody argv=/usr/sbin/postfix-policyd-spf-perl

…recargar postfijo.

/etc/init.d/postfix reload

Comprobación de SPF en acción:

Jan  4 15:50:11 server postfix/smtpd[19096]: NOQUEUE: reject: RCPT from g230068165.adsl.alicedsl.de[92.230.68.165]: 550 5.7.1 <[email protected]>: Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.openspf.org/Why?s=helo;id=paxxxxxn.com;ip=92.230.68.165;[email protected]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=
<paxxxxxn.com>

Lista gris

Greylisting es un método para defender a los usuarios de correo electrónico contra el spam. Un agente de transferencia de correo (MTA) que utilice listas grises "rechazará temporalmente" cualquier correo electrónico de un remitente que no reconozca. Si el correo es legítimo, el servidor de origen lo intentará de nuevo después de un retraso y, si ha transcurrido suficiente tiempo, se aceptará el correo electrónico.

Instalación de postgrey (Debian, Ubuntu):

apt-get install postgrey

Las opciones de configuración están en /etc/default/postgrey (el retraso predeterminado es de 5 min).

Edite main.cf y agregue check_policy_service inet:127.0.0.1:10023 al final de smtpd_recipient_restrictions:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination, reject_unknown_recipient_domain, check_policy_service unix:private/policy-spf,check_policy_service inet:127.0.0.1:10023

…recargar sufijo:

/etc/init.d/postfix reload

Lista gris en acción:

Jan 10 17:38:57 server postfix/smtpd[21302]: NOQUEUE: reject: RCPT from mailout-de.gmx.net[213.165.64.22]: 451 4.7.1 <[email protected]>: Recipient address rejected: Greylisting in effect, please come back later; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<mailout-de.gmx.net>

DNSBL (lista negra/lista de bloqueo basada en DNS)

Un DNSBL es una lista de direcciones IP publicadas a través del Servicio de nombres de dominio (DNS) de Internet, ya sea como un archivo de zona que puede usar el software del servidor DNS o como una zona DNS activa que se puede consultar en tiempo real. Los DNSBL se utilizan con mayor frecuencia para publicar las direcciones de las computadoras o redes vinculadas al spam; la mayoría del software del servidor de correo se puede configurar para rechazar o marcar los mensajes que se han enviado desde un sitio incluido en una o más de esas listas. Estos pueden incluir enumerar las direcciones de computadoras zombies u otras máquinas que se utilizan para enviar spam, enumerar las direcciones de los ISP que voluntariamente alojan a los spammers o enumerar las direcciones que han enviado spam a un sistema trampa. Simplemente agregue alguna zona de dns en vivo para consultas en el archivo main.cf.

En mi ejemplo usaré dos listas con muy buena reputación (agregadas al final de smtpd_client_restrictions):

smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf,  reject_rbl_client cbl.abuseat.org,  reject_rbl_client b.barracudacentral.org

rbl en acción:

Jan 12 01:52:42 server postfix/smtpd[4616]: NOQUEUE: reject: RCPT from 89.pool85-49-26.dynamic.orange.es[85.49.26.89]: 554 5.7.1 Service unavailable; Client host [85.49.26.89] blocked using cbl.abuseat.org; Blocked - see http://cbl.abuseat.org/lookup.cgi?ip=85.49.26.89; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<colossus.home>
Jan 11 20:13:58 server postfix/smtpd[29591]: NOQUEUE: reject: RCPT from 93-87-122-56.dynamic.isp.telekom.rs[93.87.122.56]: 554 5.7.1 Service unavailable; Client host [93.87.122.56] blocked using b.barracudacentral.org; http://www.barracudanetworks.com/reputation/?pr=1&ip=93.87.122.56; from=
<[email protected]> to=<[email protected]> proto=ESMTP helo=

Postscreen

Nota:esta función está disponible en Postfix 2.8 y versiones posteriores

El demonio postscreen de Postfix brinda protección adicional contra la sobrecarga del servidor de correo. Un proceso posterior a la pantalla maneja múltiples conexiones SMTP entrantes y decide qué clientes pueden comunicarse con un proceso de servidor SMTP de Postfix. Al mantener alejados a los robots de spam, la función de filtrado posterior deja más procesos de servidor SMTP disponibles para clientes legítimos y retrasa la aparición de condiciones de sobrecarga del servidor.

El principal desafío para la evaluación posterior es tomar una decisión de si es un zombi basada en una sola medición. Esto es necesario porque muchos zombis intentan pasar desapercibidos y evitan enviar spam al mismo sitio repetidamente. Una vez que Postscreen decide que un cliente no es un zombi, lo incluye temporalmente en la lista blanca para evitar más demoras en el correo legítimo.

Usaremos para este tutorial la configuración predeterminada con una excepción. Estos ajustes están bien para la mayoría de las situaciones

Primero, agregamos una línea a main.cf con el comando:

postscreen_greet_action = enforce

En segundo lugar, agregamos postscreen y algunos servicios nuevos a master.cf. Nota:esta configuración ya puede existir, simplemente elimine el comentario. También asegúrese de que la línea "smtp inet ... smtpd", incluidos los parámetros, esté comentada (si los hay, los parámetros deben moverse al nuevo servicio smtpd).

# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
#smtp      inet  n       -       -       -       -       smtpd
#          -o ...
smtpd     pass  -       -       n       -       -       smtpd
     -o ... # Parameters moved from smtp service to the new smtpd service.(if any)
smtp      inet  n       -       n       -       1       postscreen
tlsproxy  unix  -       -       n       -       0       tlsproxy
dnsblog   unix  -       -       n       -       0       dnsblog

Ahora, recargamos postfix:

/etc/init.d/postfix reload

Panels
  1. Instale Horde 5 Webmail para ISPConfig en Debian Jessie a través de PEAR

  2. 15 pasos de refuerzo de Linux para el servidor CentOS 7

  3. ¿Administrador de listas de correo recomendado para usar con Postfix?

  4. Instale Horde 4 Webmail para ISPConfig en Debian Squeeze a través de PEAR

  5. Cómo instalar ISPConfig 3 en Ubuntu 18.04

Cómo instalar PHP 5.6 como PHP-FPM y FastCGI adicionales para ISPConfig 3.1 en Ubuntu 16.04

Cómo instalar PHP 7.1.16 como PHP-FPM y FastCGI para ISPConfig 3.1 en Debian 8 (Jessie)

Cómo instalar PHP 7.1, 7.2 y 5.6 como PHP-FPM y FastCGI para ISPConfig 3 en Debian 9

¿Cómo configurar Tls para Postfix en Ubuntu?

Configuración de SiteApps para Joomla

Aplicación ISPConfig Monitor para Android