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.
-
Linux
- ¿Por qué Torvalds eliminó a los encargados rusos del mantenimiento del núcleo de Linux?
- 10 cosas que siempre hago después de instalar Linux (y por qué tú también deberías hacerlo)
- 7 cosas que nunca hago después de instalar Linux (y por qué tú tampoco deberías)
- Detección de Intrusos: Snort, Base, MySQL, y Apache2 en Ubuntu Linux 7.10
- He utilizado Linux durante 30 años. Aquí hay 5 razones por las que nunca cambiaré a Windows o MacOS
- ¿Por qué no más personas usan Linux en el escritorio? Tengo una teoría que quizás no te guste.
- Los países occidentales ricos lideran la expansión mundial del petróleo y el gas
- Systemd 256.1 aborda la queja de que 'systemd-tmpfiles' podría eliminar inesperadamente su directorio /home
- Por qué un kernel Linux de distribución 'congelada' no es la mejor opción para la seguridad
- RebornOS es una versión hermosa y fácil de usar de Arch Linux con abundantes opciones de escritorio
- Linus Torvalds sobre el 'hilarante' bombo de la IA
- Cambiar la hora en Linux con Chrony
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- Linux 6.9 será el primero en superar los 10 millones de objetos Git
- Zorin OS 17.1 lanzado con soporte mejorado para aplicaciones de Windows, edición educativa