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
  • MAILBOX
    • Limitar el buzon con la siguiente variable mailbox_size_limit = 10240000
    • Limitar el tamaño del correo con message_size_limit = 10240000
  • MAILDIR
    • No podemos limitar el tamaño del buzón desde postfix
    • Podemos limitar el tamaño del correo mediante la variable mailbox_size_limit = 10240000 usada antes para mailbox (en este caso al usar maildir la variable limita el correo individual)


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

Imagen:Ssmtp.png

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

Herramientas personales