Queremos dejar nuestro puerto SMTP de postfix abierto a internet, sin correr el riesgo de espionajes, ni de que spammers utilicen nuestro servicio para enviar correos masivos.
Para utilizar el servicio los usuarios deberán autenticarse user/pswd y además hacerlo mediante TLS (encriptando las conexiones hacia él).
Para cumplir este requsito configuraremos las tres tecnologías siguientes:
- TLS: Encriptación SSL de la conexión.
- SASL: Sistema de autenticación.
- PAM: Autenticación hacia el sistema de usuario de linux.
Podemos ver que en Etch el TLS viene completamente activado (cat /usr/share/doc/postfix/README.Debian):
- Es importante notar (para un futuro cuando se compre un certificado real) que los certificados que toma por defecto en main.cf son:
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Instalamos Cyrus-sasl para autenticación:
elite:~# apt-get install libsasl2-modules sasl2-bin Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Paquetes sugeridos: libsasl2-modules-otp libsasl2-modules-ldap libsasl2-modules-sql libsasl2-modules-gssapi-mit Se instalarán los siguientes paquetes NUEVOS: libsasl2-modules sasl2-bin 0 actualizados, 2 se instalarán, 0 para eliminar y 1 no actualizados. Se necesita descargar 0B/271kB de archivos. Se utilizarán 733kB de espacio de disco adicional después de desempaquetar.
- Configuramos postfix para que autentique en SASL en main.cf:
# Configuración para que autentique en SASL ## Configuración de la Autentificación smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes ## Acciones a seguir para autentificar: ## permit_sasl_autenticated: permitir mandar mail a los autentificados por sasl ## permit_mynetworks: permite saltear el control a los de mynetworks smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_relay_domains
Seguimos las instrucciones /usr/share/doc/sasl2-bin/README.Debian para configurar postfix:
- Activamos el Demonio de SASL para que este avizor para autenticar cuando postfix se lo pida. Como postfix se ejecuta en una jaula, debemos decir que el demonio se ejecute en ella. En /etc/default/saslauthd ponemos:
START=yes OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
elite:~# dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
elite:~# adduser postfix sasl
Hacemos las conexiones postfix-sasl-pam
- Decimos a Postfix como queremos que valide SASL, creamos /etc/postfix/sasl/smtpd.conf:
pwcheck_method: saslauthd mech_list: login plain
#%PAM-1.0 @include common-auth @include common-account @include common-session
elite:~# /etc/init.d/saslauthd start elite:~# /etc/init.d/postfix restart
En /etc/postfix/main.cf
- Solo tengo mi localhost como zona de confianza, fuera de ahí, todos a autenticarse.:
mynetworks = 127.0.0.0/8
Una consulta, como puedo hacer la comunicacion del eclipse con la autenticacion pam, osea estoy desarrollando una aplicacion que nesecita leer los usuarios y los pasword desde un archivo plano con autenticacion pam como logro que mi eclipse con servidor apache se comunique
hola buenas tardes me gustaria preguntarle una cosa y es que estoy trabajando en un servidor de correo en debian, para una practica de grado medio y he seguido los pasos uno a uno pero al enviar un mail a parte de que tarda mucho me sale:
ERROR:
Message not sent. Server replied:
Estoy trabajando con postfix, squirrelmail, apache2, courier-imap etc.. espero su respuesta lo antes posible.
Gracias