Postfix + sasl2 + courier-pop-ssl + cuentas UNIX
De Wikillano
paquetes
apt-get install postfix apt-get install sasl2-bin libsasl2-modules
sasl2-bin instala el demonio saslauthd que autentificara contra pam los users
modificamos el main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
# TLS parameters -- despues deberemos crear nuestros certificados para nuestro servidor
smtpd_tls_cert_file=/etc/ssl/certs/server.crt
smtpd_tls_key_file=/etc/ssl/certs/server.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = orion.ballano.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
mydestination = orion.ballano.net, localhost.ballano.net, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#le diremos que por defecto postfix utilice maildir y no mailbox
home_mailbox = Maildir/
#esta dos lineas nos permiter utilizar dominios virtuales
virtual_alias_domains = ballano.net
virtual_alias_maps = hash:/etc/postfix/virtual
#estas lineas activan la autentificacion sasl2
smtpd_sasl_path = smtpd
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
| |
el servidor de correo por defecto sólo envia hacia fuera desde localhost , ya que si desde fuera pudireamos enviar mail querria decir que tenemos el
servidor de correo abierto (openrelay)
pondremos al usuario postfix dentro del grupo sasl
reiniciaremos postfix
para poder enviar desde cualquier sitio necesitamos un mecanismo de autentificacion SASL2 (mediante el deminio saslauthd) una vez pasada la autentificacion podrmos enviar desde
el servidor.
este autentificación se realiza mediante varios mecanismos PLAIN, MD5 etc...
para ello necesitamos crear un fichero de configuracion que se llama smtpd.conf, lo tenemos que crear en /etc/postfix/sasl
en el pondrmos lo siguiente:
pwcheck_method: saslauthd mech_list: plain login
arrancaremos el demonio saslauthd
/etc/init.d/saslauthd start
independientemente del metodo que utilizemos deberiamos securizar la conexion (ecnriptar) con TLS, creando unos certificados SSL, (como en https) de esta manera nuestros datos, user , pass, mensaje viajaran encriptados.
despues instalaremos imap , tendremos el mismo probblema, primero la autentificacion mediante courier-authdaemon para que autentique contra pam (usuarios UNIX en texto plano) y luego la encriptacion de los datos. mediante certificados y utilizando la versión ssl de pop3 e imap
estos son los paquetes que tengo instalados:
orion:/etc/courier# dpkg -l | grep courier ii courier-authdaemon 0.00-0 Courier authentication daemon ii courier-authlib 0.00-0 Courier authentication library ii courier-authlib-userdb 0.00-0 userdb support for the Courier authenticatio ii courier-base 0.00.0-0 Courier Mail Server - Base system ii courier-imap 0.0.0.00000000-0 Courier Mail Server - IMAP server ii courier-imap-ssl 0.0.0.00000008-0 Courier Mail Server - IMAP over SSL ii courier-pop 0.00.0-0 Courier Mail Server - POP3 server ii courier-pop-ssl 0.00.0-0 Courier Mail Server - POP3 over SSL ii courier-ssl 0.00.0-0 Courier Mail Server - SSL/TLS Support
instalamos courier-pop-ssl el mismo nos generará un certificado ssl mediante la conf por defecto que tiene en este fichero vim /etc/courier/pop3d.cnf
borraremos el cert /usr/lib/courier/pop3d.pem modificaremos el fichero /etc/courier/pop3d.cnf y regeneraremos nuestro nuevo cert con mkpop3dcert
también deberemos modificar el fichero de conf de pop-ssl en /etc/courier para decirle donde esta el certificado
/etc/courier/pop3d-ssl
##NAME: TLS_CERTFILE:0 # # TLS_CERTFILE - certificate to use. TLS_CERTFILE is required for SSL/TLS # servers, and is optional for SSL/TLS clients. TLS_CERTFILE is usually # treated as confidential, and must not be world-readable. # TLS_CERTFILE=/etc/ssl/certs/pop3d.pem
para imapd-ssl utilizo el mismo cert
##NAME: TLS_CERTFILE:0 # # TLS_CERTFILE - certificate to use. TLS_CERTFILE is required for SSL/TLS # servers, and is optional for SSL/TLS clients. TLS_CERTFILE is usually # treated as confidential, and must not be world-readable. # TLS_CERTFILE=/etc/ssl/certs/pop3d.pem
por ultimo lo que queda es instalar los certs en nuestro cliente outlook o lo que sea, para que confie en ellos.
mediante este comanso podemos pasar el certificado de courier a crt para que outlook lo reconozca.
openssl x509 -in pop3d.pem -inform PEM -outform DER -out poped.crt
en outlook y en cualquier otro cliente de correo debemos configurar que el servidor smtp va por TLS y el servidor pop por SSL puerto 995

