LinuxParty
Este tutorial muestra cómo implementar SPF (Sender Policy Framework) en una instalación de Postfix 2.x. Sender Policy Framework es un estándar abierto que especifica un método técnico para evitar la falsificación de direcciones de remitentes (consulte https://www.openspf.org/Introduction). Hay muchas extensiones y parches SPF disponibles para Postfix, pero la mayoría requiere que volver a compilar Postfix. Por lo tanto, instalaremos el paquete postfix-policyd-spf-perl de openspf.org, que es un paquete Perl y se puede implementar en instalaciones Postfix existentes (no se requiere compilación de Postfix).
Esto, ha funcinado perfectamente en CentOS 8, RHEL 8 y Debian
Empezaremos por buscar los paquetes a instalar con yum search spf
[root@server ~]# yum search spf Última comprobación de caducidad de metadatos hecha hace 1:51:55, el vie 08 ene 2021 18:12:17 CET. ================= Coincidencia en Nombre , Resumen: spf ================= libspf2.x86_64 : An implementation of the SPF specification libspf2-apidocs.noarch : API documentation for the libspf2 library libspf2-devel.x86_64 : Development tools needed to build programs that use libspf2 libspf2-progs.x86_64 : Programs for making SPF queries using libspf2 perl-Mail-SPF_XS.x86_64 : An XS implementation of Mail::SPF pypolicyd-spf.noarch : SPF Policy Server for Postfix (Python implementation) python3-pyspf.noarch : Python module and programs for SPF (Sender Policy Framework) ================= Coincidencia en Nombre: spf ================= perl-Mail-SPF.noarch : Object-oriented implementation of Sender Policy Framework [root@server ~]#
Vamos a instalar los paquetes: mos por buscar los paquetes a instalar con yum search spf (en CentOS,RHEL, en Debian apt-cache search spf)
Si usas CentOS, RedHat, etc... usas p.ej.: yum install python3-pyspf
Si usas Debian, Ubuntu, etc... usas p.ej.: apt-get install python3-pyspf
pypolicyd-spf python3-pyspf perl-Mail-SPF
Editaremos, si conviene el fichero:
/etc/python-policyd-spf/policyd-spf.conf
Podemos usar el editor "vi" o "vim"
vim /etc/python-policyd-spf/policyd-spf.conf
Podemos incluir las WhiteList para incluir las IP, o Domain_Whitelist, para incluir sólo algunos dominios, o todo junto... por ejemplo
### WhiteList = 81.88.48.32/27,81.88.50.224/27,195.110.124.132 Domain_Whitelist = linuxpary.es,extrehost.com ####
Debe existir el fichero: /usr/bin/policyd-spf, que en este caso debe ser un enlace a: /usr/libexec/postfix/policyd-spf
[root@arash ~]# ll /usr/bin/policyd-spf lrwxrwxrwx [...] /usr/bin/policyd-spf -> /usr/libexec/postfix/policyd-spf Para lo que crearemos en enlace de la siguiente manera: Primero, debemos asegurarnos que existe: /usr/libexec/postfix/policyd-spf, así: ll /usr/libexec/postfix/policyd-spf Una vez comprobado que existe, creamos el enlace:
ln -sf /usr/libexec/postfix/policyd-spf /usr/bin/policyd-spf
Volveremos al punto anterior, para comprobar que existe: /usr/bin/policyd-spf, y es un enlace creado al punto anterior.
[root@arash ~]# ll /usr/bin/policyd-spf
lrwxrwxrwx [...] /usr/bin/policyd-spf -> /usr/libexec/postfix/policyd-spf
Ahora, editaremos el fichero /etc/postfix/master.cf e incluiremos al final del fichero:
policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/policyd-spf
Y en el fichero /etc/postfix/main.cf incluiremos... en la linea: smtpd_recipient_restrictions, al final: check_policy_service unix:private/policyd-spf
Quedando de la siguiente manera:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service unix:private/policyd-spf
En el fichero /etc/postfix/main.cf y busque la directiva smtpd_recipient_restrictions . Debería contener accept_unauth_destination en esa directiva, y justo después de accept_unauth_destination agrega check_policy_service unix:private/policyd-spf. Pero la verdad, es que yo tengo reject_unauth_destination, y funciona igualmente bien.
Después reiniciamos postfix
service postfix restart
Comprobamos que las cosas funcionan...
tail -f /var/log/maillog
Con esto, habríamos terminado de instalar y configurarlo todo.
Si te ha gustado, puntúa el artículo y compártelo en tus redes sociales.

-
Linux
- Zorin OS 18 supera el millón de descargas: el Linux más elegante conquista el escritorio Windows
- Woof: intercambie fácilmente archivos a través de una red local en Linux
- Usando systemctl para controlar systemd
- 🧰 Cómo reparar el error “Transport endpoint is not connected” en Linux (y por qué ocurre)
- Can’t read superblock: recuperando una partición con el primer superbloque dañado con Linux
- Comprobar el estado de salud del disco duro con Smartmontools, smartctl buscando sectores ilegibles
- 7 características y herramientas útiles de seguridad de Linux para principiantes
- Ejecutar Aplicaciones Gráficas Remotas en Local: Guía Completa en Linux
- Las 8 mejores herramientas para acceder a Linux por remoto
- Clientes de acceso remoto, desde y para el escritorio Linux
- ¡Histórico! Linux Supera el 6% de Cuota de Mercado en Escritorios: ¿El Año de Linux Ha Llegado?
- Woof: Compartir archivos/ficheros fácilmente en su LAN o red local, sin Samba, entre Linux, Mac, Windows, Android e iPhone



