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 http://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.

-
Hardware
- ¿Qué son los entornos SAN y NAS y cómo distinguirlos?
- Cómo Imprimir desde la Línea de Comandos en Linux y Solucionar Problemas con Impresoras en Red
- Los 5 mejores comandos de Linux para solucionar problemas (y cómo los uso)
- 5 comandos de Linux para encontrar rápidamente la información de tu Sistema Operativo
- El controlador de gráficos NVIDIA 560 Linux adoptará completamente módulos de kernel de GPU de código abierto
- El 84% de los usuarios de PC no están dispuestos a pagar más por un hardware con soporte para IA, según una encuesta
- ¿PC con Linux o Windows 11 Copilot+? TUXEDO presenta el portátil Snapdragon X Elite ARM
- La startup finlandesa 'Flow' afirma que puede multiplicar por 100 la potencia de cualquier CPU con su chip complementario
- China lanza el buque portacontenedores eléctrico más grande del mundo
- Testar el rendimiento de discos duros en Linux
- ¿Por qué los portátiles están soldando sus RAM a la placa?
- TUXEDO Sirius 16 Gen2, el portátil de juegos Linux completamente AMD, recibe un CPU Ryzen 7 más rápido
- Clonezilla Live ahora está parcheado contra la puerta trasera XZ, con tecnología Linux 6.7
- La computadora de escritorio LXQt 2.0 se lanza en abril con un nuevo menú de aplicaciones y portado a Qt 6
- Lanzamiento del controlador de gráficos NVIDIA 550.54.14 para Linux con muchas mejoras