GNU/Linux >> Tutoriales Linux >  >> Cent OS

7 consejos efectivos para bloquear el spam de correo electrónico con Postfix en CentOS/RHEL

En este tutorial, me gustaría compartir con ustedes mis 7 consejos para bloquear el correo no deseado con el servidor Postfix SMTP en CentOS/RHEL. Durante los últimos cuatro años de ejecutar mi propio servidor de correo electrónico, recibí mucho spam, también conocido como correo electrónico comercial no solicitado. El spam existe porque es muy barato enviar un gran volumen de correos electrónicos en Internet. Postfix le permite bloquear el spam antes de que llegue a su buzón de correo, para que pueda ahorrar ancho de banda y espacio en disco.

Nota :Si planea ejecutar su propio servidor de correo, le recomiendo usar iRedmail, que realmente simplifica el proceso de configuración de un servidor de correo. También se envía con reglas antispam. Si prefiere configurar un servidor de correo desde cero, consulte mi serie de tutoriales sobre servidores de correo.

Características del correo basura

A continuación se muestra lo que encontré sobre el correo electrónico no deseado. Estos spam son fáciles de bloquear.

  1. Sus direcciones IP no tienen registros PTR.
  2. El spammer no proporciona un nombre de host válido en la cláusula HELO/EHLO.
  3. Falsifican la dirección MAIL FROM.
  4. Por lo general, no vuelven a enviar el correo electrónico después de una entrega de correo electrónico fallida.

Los servidores de correo legítimos nunca deberían tener estas características. Así que aquí vienen mis 7 consejos, que bloquearán el 90 % del spam.

Realidad:Alrededor del 93 % al 95 % de los correos electrónicos en el mundo se rechazan en la puerta de enlace SMTP, nunca llegan a la bandeja de entrada o a la carpeta de correo no deseado.

Sugerencia n.º 1:rechace el correo electrónico si el cliente SMTP no tiene registro PTR

El registro PTR asigna una dirección IP a un nombre de dominio. Es la contraparte de un registro. En CentOS/RHEL, puede consultar el nombre de dominio asociado con una dirección IP ejecutando el siguiente comando:

host <IP address>

Si host no se puede encontrar el comando, entonces necesita instalar bind-utils paquete.

sudo dnf install bind-utils

Por ejemplo, el siguiente comando devuelve el nombre de host de mi servidor de correo.

host 23.254.225.226

Salida:

226.225.254.23.in-addr.arpa domain name pointer mail.linuxbabe.com.

Debido a la prevalencia del spam, muchos servidores de correo (como Gmail, gmx.com, gmx.net, facebook.com) requieren que los clientes SMTP tengan registros PTR válidos asociados con sus direcciones IP. Cada administrador del servidor de correo debe establecer un registro PTR para sus servidores SMTP. Si el cliente SMTP tiene un registro PTR, puede encontrar una línea en el registro de Postfix (/var/log/maillog) como a continuación.

connect from mail.linuxbabe.com[23.254.225.226]

Si el cliente SMTP no tiene un registro PTR, el nombre de host se identificará como unknown en el registro de Postfix.

connect from unknown[120.41.196.220]

Para filtrar correos electrónicos sin registros PTR, abra el archivo de configuración principal de Postfix.

sudo nano /etc/postfix/main.cf

Agregue la siguiente línea en smtpd_sender_restrictions . Esta directiva rechaza un correo electrónico si la dirección IP del cliente no tiene registro PTR.

reject_unknown_reverse_client_hostname

Ejemplo:

smtpd_sender_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   reject_unknown_reverse_client_hostname

Guarde y cierre el archivo. Luego reinicie Postfix para que el cambio surta efecto.

sudo systemctl restart postfix

Sugerencia n.º 2:habilite las restricciones de nombre de host HELO/EHLO en Postfix

Algunos spammers no proporcionan un nombre de host HELO/EHLO válido en el cuadro de diálogo SMTP. Pueden ser nombres de dominio no calificados por completo, no existe un nombre de dominio o solo para la red interna. Por ejemplo, un spammer que usa una instancia de Amazon EC2 para enviar spam se registra en mi servidor de la siguiente manera:

Aug 16 04:21:13 email postfix/smtpd[7070]: connect from ec2-54-237-201-103.compute-1.amazonaws.com[54.237.201.103]
Aug 16 04:21:13 email policyd-spf[7074]: prepend Received-SPF: None (mailfrom) identity=mailfrom; client-ip=54.237.201.103; helo=ip-172-30-0-149.ec2.internal; [email protected]; receiver=<UNKNOWN>

Como puede ver, el nombre de host HELO es ip-172-30-0-149.ec2.internal , que solo es válido en la red interna de AWS. No tiene registro A ni registro MX válido.

Para habilitar la restricción de nombre de host HELO/EHLO, edite el archivo de configuración principal de Postfix.

sudo nano /etc/postfix/main.cf

Primero, agregue la siguiente línea para solicitar al cliente que proporcione un nombre de host HELO/EHLO.

smtpd_helo_required = yes

Luego agregue las siguientes 3 líneas para habilitar smtpd_helo_restrictions .

smtpd_helo_restrictions = 
    permit_mynetworks
    permit_sasl_authenticated

Utilice la siguiente línea para rechazar clientes que proporcionen un nombre de host HELO/EHLO mal formado.

reject_invalid_helo_hostname

Use la siguiente línea para rechazar el nombre de host HELO/EHLO no calificado completamente.

reject_non_fqdn_helo_hostname

Para rechazar el correo electrónico cuando el nombre de host HELO/EHLO no tiene un registro DNS A ni un registro MX, utilice

reject_unknown_helo_hostname

Así:

smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_invalid_helo_hostname
    reject_non_fqdn_helo_hostname
    reject_unknown_helo_hostname

Guarde y cierre el archivo. Luego recarga Postfix.

sudo systemctl reload postfix

Tenga en cuenta que aunque la mayoría de los servidores de correo legítimos tienen un registro A válido para el nombre de host HELO/EHLO, ocasionalmente un servidor de correo legítimo no cumple con este requisito. Debe incluirlos en la lista blanca con check_helo_access .

smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access hash:/etc/postfix/helo_access
    reject_invalid_helo_hostname
    reject_non_fqdn_helo_hostname
    reject_unknown_helo_hostname

Luego necesitas crear el /etc/postfix/helo_access archivo.

sudo nano /etc/postfix/helo_access

Incluya en la lista blanca el nombre de host HELO/EHLO del servidor de correo legítimo como se muestra a continuación.

optimus-webapi-prod-2.localdomain      OK
va-massmail-02.rakutenmarketing.com    OK

Es probable que no sepa qué nombres de host incluir en la lista blanca, simplemente copie las dos líneas anteriores, que son las únicas líneas en mi helo_access expediente. Siempre puede agregar más nombres de host más tarde. Guarde y cierre el archivo. Luego ejecute el siguiente comando para crear el archivo /etc/postfix/helo_access.db.

sudo postmap /etc/postfix/helo_access

Y recarga Postfix.

sudo systemctl reload postfix

Sugerencia n.º 3:rechace el correo electrónico si el nombre de host del cliente SMTP no tiene un registro A válido

Un servidor de correo electrónico legítimo también debe tener un registro A válido para su nombre de host. La dirección IP devuelta desde un registro debe coincidir con la dirección IP del servidor de correo electrónico. Para filtrar correos electrónicos de hosts que no tienen un registro A válido, edite el archivo de configuración principal de Postfix.

sudo nano /etc/postfix/main.cf

Agregue las siguientes dos líneas en smtpd_sender_restrictions .

reject_unknown_reverse_client_hostname
reject_unknown_client_hostname

Ejemplo:

smtpd_sender_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   reject_unknown_reverse_client_hostname
   reject_unknown_client_hostname

Guarde y cierre el archivo. Luego reinicie Postfix para que el cambio surta efecto.

sudo systemctl restart postfix
Tenga en cuenta que reject_unknown_client_hostname no requiere HELO del cliente SMTP. Obtendrá el nombre de host del registro PTR, luego verificará el registro A.

Sugerencia n.º 4:rechace el correo electrónico si el dominio MAIL FROM no tiene un registro MX ni un registro

El MAIL FROM la dirección también se conoce como envelope from dirección. Algunos spammers usan un dominio inexistente en el MAIL FROM dirección. Si un nombre de dominio no tiene un registro MX, Postfix encontrará el registro A del dominio principal y enviará un correo electrónico a ese host. Si el dominio del remitente no tiene registro MX ni registro A, Postfix no puede enviar correo electrónico a ese dominio. Entonces, ¿por qué no rechazar los correos electrónicos a los que no puede responder?

Para filtrar este tipo de spam, edite el archivo de configuración principal de Postfix.

sudo nano /etc/postfix/main.cf

Agregue la siguiente línea en smtpd_sender_restrictions . Rechazará el correo electrónico si el nombre de dominio de la dirección proporcionada con el comando MAIL FROM no tiene registro MX ni registro A.

reject_unknown_sender_domain

Ejemplo:

smtpd_sender_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   reject_unknown_sender_domain
   reject_unknown_reverse_client_hostname
   reject_unknown_client_hostname

Guarde y cierre el archivo. Luego reinicie Postfix para que el cambio surta efecto.

sudo systemctl restart postfix

Tenga en cuenta que coloqué esta restricción por encima de otros reject restricciones Según mi experiencia, si está debajo de otros reject restricciones, no funcionará. (Tal vez esto solo suceda en mi servidor de correo electrónico).

Consejo n.° 5:habilite la inclusión en listas grises en Postfix

Según lo exige el protocolo SMTP, cualquier cliente SMTP legítimo debe poder volver a enviar correos electrónicos si falla la entrega. (De forma predeterminada, Postfix está configurado para reenviar correos electrónicos fallidos durante 4 o 5 días antes de informar al remitente que el mensaje no se pudo entregar).

Postgrey es un servidor de políticas de listas grises para Postfix. Los usuarios de CentOS/RHEL pueden instalarlo desde el repositorio de EPEL.

sudo dnf install epel-release
sudo dnf install postgrey

Una vez que esté instalado, inícielo con systemctl.

sudo systemctl start postgrey

Habilite el inicio automático en el momento del arranque.

sudo systemctl enable postgrey

En CentOS/RHEL, Postgrey escucha en un socket de Unix (/var/spool/postfix/postgrey/socket ).

A continuación, necesitamos editar el archivo de configuración principal de Postfix para que use el servidor de políticas de listas grises.

sudo nano /etc/postfix/main.cf

Agregue la siguiente línea en smtpd_recipient_restrictions .

check_policy_service unix:postgrey/socket

En caso de que no lo sepa, la directiva check_policy_service unix:private/policyd-spf en la captura de pantalla anterior, Postfix verificará el registro SPF en el dominio del remitente. Esta directiva requiere que instale y configure el paquete pypolicyd-spf.

Guarde y cierre el archivo. Luego reinicie Postfix.

sudo systemctl restart postfix

A partir de ahora, Postgrey rechazará un correo electrónico si el triplete de remitentes (dirección IP del remitente, dirección de correo electrónico del remitente, dirección de correo electrónico del destinatario) es nueva. El siguiente mensaje de registro en /var/log/maillog muestra un nuevo triplete emisor. La acción “greylist ” significa que este mensaje de correo electrónico fue rechazado.

postgrey[1016]: action=greylist, reason=new, client_name=unknown, client_address=117.90.24.148/32, [email protected], [email protected]

Según mi experiencia, a los spammers de correo electrónico chinos les gusta usar una dirección de remitente falsa, de aspecto extraño y generada aleatoriamente para cada correo electrónico, por lo que agregar estas direcciones de correo electrónico falsas a la lista negra no los detendrá. Por otro lado, nunca intentan reenviar un correo electrónico rechazado con la misma dirección de remitente, lo que significa que las listas grises pueden ser muy efectivas para detener este tipo de spam.

Cómo minimizar la mala experiencia del usuario

La creación de listas grises puede resultar en una mala experiencia para el usuario final, ya que el usuario tiene que esperar varios minutos más para que llegue el correo electrónico. Para minimizar esta mala experiencia, puede crear una lista blanca y usar un segundo registro MX que apunte al mismo host.

Lista blanca

Postgrey se envía con dos archivos de lista blanca (/etc/postfix/postgrey_whitelist_clients y /etc/postfix/postgrey_whitelist_recipients ). El primero contiene una lista de nombres de host y el segundo contiene una lista de direcciones de destinatarios.

De forma predeterminada, los servidores de correo de Google están en la lista blanca. No importa que el remitente esté usando una dirección @gmail.com u otra dirección, siempre que el remitente esté usando el servidor de correo de Google, Postgrey no rechazará el correo electrónico. La siguiente línea en mi /var/log/maillog archivo muestra esto.

postgrey[1032]: action=pass, reason=client whitelist, client_name=mail-yb0-f190.google.com

Nota :También puede ver los registros de postgrey con este comando sudo journalctl -u postgrey .

Puede agregar otros nombres de host en /etc/postfix/postgrey_whitelist_clients archivo, como

facebook.com
bounce.twitter.com
blogger.com
email.medium.com

Puede obtener estos nombres de host con una herramienta llamada pflogsumm , que discutiré más adelante en este artículo. Guarde y cierre el archivo, luego reinicie Postgrey.

sudo systemctl restart postgrey

Cree otro nombre de host MX con la misma dirección IP

Puede especificar más de un registro MX para su nombre de dominio como se muestra a continuación.

Record Type    Name      Mail Server            Priority

MX             @         mail.yourdomain.com     0
MX             @         mail2.yourdomain.com    5

El remitente probará con el primer servidor de correo (con prioridad 0). Si mail.yourdomain.com rechaza el correo electrónico mediante una lista gris, el remitente intentará inmediatamente con el segundo servidor de correo (con prioridad 5).

Si los dos nombres de host del servidor de correo tienen la misma dirección IP, cuando el remitente intente con el segundo nombre de host del servidor de correo, el correo electrónico se aceptará de inmediato (si se aprueban todas las demás comprobaciones) y los usuarios finales no notarán el retraso del correo electrónico causado por la lista gris.

Tenga en cuenta que esto requiere que establezca un tiempo de retraso muy pequeño como 1 segundo en /etc/sysconfig/postgrey archivo como a continuación. El tiempo de retraso le dice al cliente SMTP cuántos segundos debe esperar antes de enviarlo nuevamente. Si el tiempo de demora no es lo suficientemente pequeño, la segunda entrega de correo electrónico aún se rechazará.

POSTGREY_DELAY="--delay=1"

Guarde y cierre el archivo. Luego reinicie Postgrey.

sudo systemctl restart postgrey

Tenga en cuenta que no todos los servidores de correo probarán inmediatamente el segundo host MX.

Consejo n.º 6:uso de listas negras públicas en tiempo real

Hay correos electrónicos no deseados que se envían desde servidores que tienen un nombre de host válido, un registro PTR válido y pueden pasar por la lista gris. En este caso, puede utilizar la lista negra para rechazar el spam. Hay muchas listas negras públicas en tiempo real (RBL), también conocidas como DNSBL (listas basadas en DNS). Por tiempo real, significa que la lista siempre está cambiando. Una dirección IP o nombre de dominio podría estar en la lista hoy y fuera de la lista mañana, por lo que podría obtener diferentes resultados dependiendo de cuándo consulte la lista.

Puede usar múltiples listas negras para bloquear el spam. Vaya a https://www.debouncer.com y mxtoolbox.com, ingrese el dominio y la dirección IP del spammer para ver qué listas negras los están bloqueando, luego puede usar esas listas negras. Por ejemplo, descubrí que los spammers están en la lista negra de una de las siguientes listas negras:

  • dbl.spamhaus.org
  • zen.spamhaus.org
  • multi.uribl.com
  • ivmURI
  • URI de valor

Entonces puedo agregar las siguientes configuraciones en /etc/postfix/main.cf expediente. Algunos servicios públicos de listas negras requieren una tarifa mensual. Por ahora, estoy usando el servicio gratuito de spamhaus.org.

smtpd_recipient_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   check_policy_service unix:private/policyd-spf
   check_policy_service unix:postgrey/socket
   reject_rhsbl_helo dbl.spamhaus.org
   reject_rhsbl_reverse_client dbl.spamhaus.org
   reject_rhsbl_sender dbl.spamhaus.org
   reject_rbl_client zen.spamhaus.org

donde:

  • rhs significa lado derecho, es decir, el nombre de dominio.
  • reject_rhsbl_helo hace que Postfix rechace el correo electrónico cuando el nombre de host del cliente HELO o EHLO está en la lista negra.
  • reject_rhsbl_reverse_client :rechaza el correo electrónico cuando el nombre de host del cliente inverso no verificado está en la lista negra. Postfix obtendrá el nombre de host del cliente del registro PTR. Si el nombre de host está en la lista negra, rechace el correo electrónico.
  • reject_rhsbl_sender hace que Postfix rechace el correo electrónico cuando el dominio MAIL FROM está en la lista negra.
  • reject_rbl_client :Esta es una lista negra basada en IP. Cuando la dirección IP del cliente esté en la lista negra, rechace el correo electrónico.

Algunos spammers utilizan el servidor de correo de Google, por lo que reject_rhsbl_helo es ineficaz, pero la mayoría de ellos usan sus propios nombres de dominio en el encabezado MAIL FROM, por lo que reject_rhsbl_sender será efectivo.

Crear una lista blanca

A veces hay servidores de correo electrónico legítimos en la lista negra. Puede crear una lista blanca para que no se bloqueen. Cree el siguiente archivo.

sudo nano /etc/postfix/rbl_override

En este archivo, incluya nombres de dominio en la lista blanca como los siguientes.

dripemail2.com  OK           //This domain belongs to drip.com

mlsend.com      OK           //This domain belongs to mailerlite email marketing service

Guarde y cierre el archivo. Luego ejecute el siguiente comando para crear el rbl_override.db archivo.

sudo postmap /etc/postfix/rbl_override

Edite el archivo de configuración principal de Postfix.

sudo nano /etc/postfix/main.cf

En smtpd_recipient_restrictions , agregue la siguiente línea.

check_client_access hash:/etc/postfix/rbl_override

Como abajo. Debe colocarse por encima de otros controles RBL.

smtpd_recipient_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   check_policy_service unix:private/policyd-spf
   check_policy_service unix:postgrey/socket
   check_client_access hash:/etc/postfix/rbl_override
   reject_rhsbl_helo dbl.spamhaus.org
   reject_rhsbl_reverse_client dbl.spamhaus.org
   reject_rhsbl_sender dbl.spamhaus.org
   reject_rbl_client zen.spamhaus.org

Vuelva a cargar Postfix para que los cambios surtan efecto.

sudo systemctl reload postfix

Uso de la lista blanca pública para reducir los falsos positivos

A veces es necesario mantener una lista blanca privada, pero también puede usar listas blancas públicas, la más famosa de las cuales es dnswl.org. Actualmente, solo hay una lista blanca para la dirección IP. La lista blanca de nombres de dominio está en versión beta. Para usarlo, coloque la siguiente línea en smtpd_recipient_restrictions .

permit_dnswl_client list.dnswl.org=127.0.[0..255].[1..3]

Como abajo. Debe colocarse encima de reject_rbl_client verificar.

smtpd_recipient_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   check_policy_service unix:private/policyd-spf
   check_policy_service unix:postgrey/socket
   check_client_access hash:/etc/postfix/rbl_override
   reject_rhsbl_helo dbl.spamhaus.org
   reject_rhsbl_reverse_client dbl.spamhaus.org
   reject_rhsbl_sender dbl.spamhaus.org
   permit_dnswl_client list.dnswl.org=127.0.[0..255].[1..3]
   reject_rbl_client zen.spamhaus.org

Otra lista blanca muy conocida es swl.spamhaus.org , para que también puedas agregarlo a tu configuración.

permit_dnswl_client swl.spamhaus.org

Es imposible que una dirección IP aparezca en la lista blanca y la lista negra de Spamhaus al mismo tiempo, por lo que si solo usa la lista negra de Spamhaus en Postfix, entonces no es necesario verificar la lista blanca de Spamhaus.

Mis filtros de spam de Postfix

Aquí hay una captura de pantalla de mis filtros de spam de Postfix.

Informe de registro de sufijos

Pflogsumm es una gran herramienta para crear un resumen de los registros de Postfix. En CentOS/RHEL, pflogsumm es proporcionado por postfix-perl-scripts paquete.

sudo dnf install postfix-perl-scripts

Use el siguiente comando para generar un informe para hoy.

sudo pflogsumm -d today /var/log/maillog

Genere un informe para ayer.

sudo pflogsumm -d yesterday /var/log/maillog

Si desea generar un informe para esta semana.

sudo pflogsumm /var/log/maillog

Para emitir informes de "problemas" (rebotes, aplazamientos, advertencias, rechazos) antes de las estadísticas "normales", use --problems-first bandera.

sudo pflogsumm -d today /var/log/maillog --problems-first

Para agregar la dirección de correo electrónico del remitente a cada listado en el informe de rechazo, use --rej-add-from bandera.

sudo pflogsumm -d today /var/log/maillog --rej-add-from

Para mostrar el motivo completo en los resúmenes de rechazo, use --verbose-msg-detail bandera.

sudo pflogsumm -d today /var/log/maillog --rej-add-from --verbose-msg-detail

Puede agregar un trabajo cron para hacer que pflogsumm envíe un informe a su dirección de correo electrónico todos los días.

sudo crontab -e

Agregue la siguiente línea, que generará un informe todos los días a las 4:00 a. m.

0 4 * * * /usr/sbin/pflogsumm -d yesterday /var/log/maillog --problems-first --rej-add-from --verbose-msg-detail -q

Para recibir el informe por correo electrónico, agregue la siguiente línea sobre todos los trabajos cron.

MAILTO="your-email-address"

Debe prestar atención al message reject detail sección, donde se puede ver por qué se rechazan esos correos y si hay algún falso positivo. Es seguro ignorar los rechazos de la lista gris.

Si ya se configuró la variable MAILTO pero desea que se envíe el resumen de registro de Postfix a una dirección de correo electrónico diferente, puede colocar la siguiente línea en su trabajo Cron.

0 4 * * * /usr/sbin/pflogsumm -d yesterday /var/log/maillog --problems-first --rej-add-from --verbose-msg-detail -q | mutt -s "Postfix log summary"  your-email-address

La salida de pflogsumm el comando se redirige a mutt , un agente de usuario de correo de línea de comandos, que usará la salida como el cuerpo del correo electrónico y lo enviará a la dirección de correo electrónico que especifique al final. Por supuesto, debe instalar mutt en su servidor CentOS/RHEL.

sudo dnf install mutt

Sugerencia n.º 7:configure OpenDMARC para rechazar correos electrónicos que no superen la verificación de DMARC

DMARC (Domain-based Message Authentication, Reporting and Conformance) es un estándar de Internet que permite a los propietarios de dominios evitar que sus nombres de dominio sean utilizados por falsificadores de correo electrónico. Lea una de las siguientes guías para configurar OpenDMARC.

  • Configure OpenDMARC con Postfix en CentOS/RHEL para bloquear la falsificación de correo electrónico

Ejecución del solucionador de DNS local para acelerar las búsquedas de DNS

Como puede ver, Postfix necesitará buscar registros DNS para analizar cada diálogo SMTP. Para acelerar las búsquedas de DNS, puede ejecutar una resolución de DNS local. Y la mayoría de las listas negras de DNS tienen un límite de consultas. Ejecutar su propio solucionador de DNS local para almacenar en caché los registros de DNS puede ayudarlo a mantenerse por debajo del límite de consultas.

Podemos instalar el servidor DNS bind9.

sudo dnf install bind

Inicie BIND 9 con:

sudo systemctl start named

Y habilite el inicio automático en el momento del arranque:

sudo systemctl enable named

Puede comprobar su estado con:

systemctl status named

Salida de muestra:

● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disable>
   Active: active (running) since Sun 2020-05-17 11:07:34 EDT; 9s ago
  Process: 7203 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TE>
  Process: 7218 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited,>
  Process: 7215 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; the>
 Main PID: 7220 (named)
    Tasks: 4 (limit: 5045)
   Memory: 55.5M
   CGroup: /system.slice/named.service
           └─7220 /usr/sbin/named -u named -c /etc/named.conf -4

Sugerencia:si el comando anterior no se cierra de inmediato, presione Q.

Configuración de la resolución de DNS predeterminada en el servidor de correo CentOS/RHEL

Necesitamos configurar 127.0.0.1 como el solucionador de DNS predeterminado. Puede verificar la resolución de DNS actual en CentOS/RHEL con el siguiente comando.

cat /etc/resolv.conf

Salida de muestra:

# Generated by NetworkManager
nameserver 192.168.0.1
nameserver 8.8.8.8

Para configurar BIND como el solucionador predeterminado, primero debe encontrar el nombre de su interfaz de red principal con el siguiente comando.

ip addr

El mio es ens3 . A continuación, ejecute el siguiente comando para editar el archivo de configuración de la interfaz de red. Reemplazar ens3 con su propio nombre de interfaz.

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens3

Encuentra el DNS1 parámetro y cambie su valor a 127.0.0.1 . Tenga en cuenta que si los valores de otros parámetros en este archivo están envueltos entre comillas dobles, también debe envolver 127.0.0.1 con comillas dobles.

DNS1="127.0.0.1"

Si no puede encontrar el DNS1 parámetro, luego agregue la línea anterior en la parte inferior de este archivo. Se recomienda especificar una resolución de DNS secundaria agregando la siguiente línea en este archivo, para reducir la probabilidad de fallas de DNS.

DNS2="8.8.8.8"

Guarde y cierre el archivo. Luego reinicie NetworkManager para que el cambio surta efecto.

sudo systemctl restart NetworkManager

Ahora puede comprobar el contenido de /etc/resolv.conf otra vez. Como puede ver, 127.0.0.1 (BIND) es ahora el solucionador de DNS predeterminado en CentOS/RHEL.

Cómo deshabilitar IPv6 en BIND

Si su servidor de correo no tiene una dirección IPv6 pública, es una buena idea desactivar IPv6 en BIND; de lo contrario, habrá muchos errores sobre IPv6 en el registro de BIND, como se muestra a continuación.

network unreachable resolving 'mirrors.fedoraproject.org/A/IN': 2001:4178:2:1269:dead:beef:cafe:fed5#53
network unreachable resolving 'mirrors.fedoraproject.org/AAAA/IN': 2001:4178:2:1269:dead:beef:cafe:fed5#53
network unreachable resolving 'mirrors.fedoraproject.org/A/IN': 2610:28:3090:3001:dead:beef:cafe:fed5#53
network unreachable resolving 'mirrors.fedoraproject.org/AAAA/IN': 2610:28:3090:3001:dead:beef:cafe:fed5#53

Para deshabilitar IPv6 en BIND en CentOS/RHEL, simplemente abra /etc/sysconfig/named archivo

sudo nano /etc/sysconfig/named

Y agregue la siguiente línea al final del archivo.

OPTIONS="-4"

Guarde y cierre el archivo. Luego reinicie named y listo.

sudo systemctl restart named

Ahora ejecuta el siguiente comando. Puede ver que BIND ya no está escuchando en la dirección IPv6.

sudo netstat -lnptu | grep named

Error de búsqueda inversa de DNS de Postfix

Si su servidor Postfix SMTP se ejecuta en un entorno chroot, es posible que no pueda realizar una búsqueda DNS inversa. En este caso, una dirección IP que tenga un registro PTR aún se identificará como unknown .

postfix/smtpd[14734]: connect from unknown[23.254.225.226]

Para solucionar esto, necesitamos copiar las bibliotecas necesarias para la búsqueda inversa de DNS dentro del entorno chroot.

sudo mkdir /var/spool/postfix/lib64

sudo cp -vl /usr/lib64/libnss_* /var/spool/postfix/lib64

Luego reinicie Postfix.

sudo systemctl restart postfix

Siguiente paso

Espero que estas 7 medidas antispam de Postfix le hayan ayudado a bloquear el correo no deseado. También puede implementar un filtro de contenido como SpamAssassin para detectar mejor el spam.

  • Configure SpamAssassin en CentOS/RHEL para bloquear el spam de correo electrónico

Como siempre, si encuentra útil esta publicación, suscríbase a nuestro boletín gratuito para obtener más consejos y trucos. Cuídate 🙂


Cent OS
  1. Los 7 mejores consejos para reforzar la seguridad del servidor CentOS 8/RHEL 8

  2. Bloqueo de botnets de spam internacionales con un complemento de Postfix

  3. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  4. CentOS / RHEL:Cómo habilitar SSL para Apache

  5. No se puede iniciar sesión con GUI en CentOS/RHEL 7

Cómo instalar phpMyAdmin con Apache en CentOS 8 / RHEL 8

Cómo proteger el servidor de correo electrónico contra la piratería con VPN (CentOS/RHEL)

Configure SpamAssassin en CentOS/RHEL para bloquear el spam de correo electrónico

Configure OpenDMARC con Postfix en CentOS/RHEL para bloquear la falsificación de correo electrónico

7 consejos efectivos para bloquear el spam de correo electrónico con Postfix en CentOS/RHEL

Instale Ruby en CentOS/RHEL 8 con 3 métodos diferentes