Este artículo describe como configurar un servidor de correo OpenBSD para que los usuarios puedan sacar sus correos usando POP3-SSL e IMAP-SSL ambos autenticandose con un servidor LDAP. INTRODUCCIÓNPOP3 e IMAP son protocolos que permiten sacar/examinar correos de un servidor de correos, para eventualmente transferirlos y permitir al usuario final manejarlos en su estación de trabajo con su MUA (Mail User Agent - Agente de Correo para el Usuario). POP3 se describe en el RFC 1939 e IMAP4 en el RFC 1730. Tipicamente los clientes y servidores de POP3 e IMAP transmiten la información sin encriptar (incluyendo login y clave del usuario), por esto es buena práctica emplear estos servicios sobre un canal SSL. En el momento de este escrito, el único servidor POP3 de fuentes abiertas
que soporta autenticación con LDAP que conocemos es Suponemos que el sistema donde está el correo ya cuenta con una configuración de LDAP como la presentada en el artículo [Autenticacion con OpenLDAP]. INSTALACIÓN Y CONFIGURACIÓNInstale los paquetes Todos estos paquetes se configuran en el directorio # cp /usr/local/share/examples/courier-imap/* /etc/courier-ldap y editelos. En IMAPDSTART=YES MAILDIRPATH=maildir En pop3d POP3DSTART=YES MAILDIRPATH=maildir En LDAP_SERVER correo.pasosdeJesus.org LDAP_BASEDN ou=gente,dc=correo,dc=pasosdeJesus,dc=org LDAP_BINDDN ou=sendmail,dc=correo,dc=pasosdeJesus.org LDAP_BINDPW secret LDAP_AUTHBIND 1 LDAP_FILTER (!(quota=-1)) LDAP_DOMAIN correo.pasosdeJesus.org LDAP_MAILDIR maildir #LDAP_DEFAULTDELIVERY defaultDelivery LDAP_UID uidNumber LDAP_GID gidNumber Para emplear SSL requiere certificados. Si tiene certificados firmados por Autoridades Certificadoras para esto, úselos, pero si requiere generar certificados autofirmados modifique también la información de los archivos imapd.cnf y pop3d.cnf y ejecute: # mkimapdcert # mkpop3dcert FORMA DE USO Y PRUEBAS!POP3-SSL Para iniciar POP3S ejecute: sudo mkdir -p /var/run/courier-imap sudo /usr/local/libexec/pop3d-ssl.rc start líneas que se recomienda agregue a Para detener POP3S: sudo /usr/local/libexec/pop3d-ssl.rc stop POP3 usa por defecto el puerto 110, al encriptarse sobre SSL es estándar
emplear el puerto 995. Para abrir ese puerto en el contrafuegos en
pass in on $ext_if proto tcp to ($ext_if) port pop3s keep state Puede probar el funcionamiento del servidor con: $ openssl s_client -connect localhost:995 Una sesión típica puede ser (lo que está en negrillas es lo que sumerce debería teclear haciendo los cambios de acuerdo a login y clave): +OK Hello there. user ejem2 +OK Password required. pass ejem2 +OK logged in. list +OK POP3 clients that break here, they violate STD53. 1 17559 2 1128 3 2430 . Para que pop3s maneje cuentas virtuales deben usarse en LDAP_UID uidNumber LDAP_GID gidNumber !IMAP-SSL Para iniciar IMAPS: sudo mkdir -p /var/run/courier-imap sudo /usr/local/libexec/imapd-ssl.rc start y para detenerlo: sudo /usr/local/libexec/imapd-ssl.rc stop En conexiones no encriptadas emplea el puerto 143, y para conexiones sobre SSL el puerto 993 es estándar. Puede probarlo de manera análoga a POP3, aunque el protocolo es diferente: $ openssl s_client -connect localhost:993 ... AB LOGIN pablo MiClave AB OK LOGIN Ok. BC SELECT "Inbox" * FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent) * OK ![PERMANENTFLAGS (\* ... * 19 EXISTS * 19 RECENT * OK [UIDVALIDITY 1119870003] Ok * OK [MYRIGHTS "acdilrsw"] ACL BC OK [READ-WRITE] Ok ZZZZ LOGOUT * BYE Courier-IMAP server shutting down ZZZZ OK LOGOUT completed ACOPLAMIENTO CON sendmailHay diversos métodos para lograr que sendmail guarde en formato Maildir, una
sencilla solución que no requiere mayores cambios es emplear para esto
Instale el paquete En /home/pablo/.forward "| exec /usr/local/bin/procmail" En LINEBUF=4096 #VERBOSE=on PMDIR=/home/pablo/ MAILDIR=$PMDIR/maildir/ FORMAIL=/usr/local/bin/formail SENDMAIL=/usr/sbin/sendmail #LOGFILE=$PMDIR/log :0 * .* /home/pablo/maildir/ Deje además listo un directorio en formato Maildir en maildirmake /home/pablo/maildir chown -R pablo:estudiante /home/pablo/maildir De esta forma cada vez que sendmail reciba un correo para el usuario local
El usuario pablo podría probar su archivo de configuración de VERBOSE=on y ejecutando: $ cd /home/pablo $ procmail Mensaje de prueba Terminelo con Control-D . procmail: [21024] Fri Jul 1 18:32:30 2005 procmail: Assigning "PMDIR=/home/pablo/" procmail: Assigning "MAILDIR=/home/pablo//maildir/" procmail: Assigning "FORMAIL=/usr/local/bin/formail" procmail: Assigning "SENDMAIL=/usr/sbin/sendmail" procmail: Assigning "LOGFILE=/home/pablo/log" Tras lo cual debe encontrar un nuevo archivo en CONCLUSIÓN
Aunque el registro de seguridad de Por otra parte la configuración de sendmail es bien compleja, su licencia es GPL y su registro de seguridad no es el mejor. Sin embargo es un servidor muy configurable y la versión incorporada en OpenBSD ha sido auditada y parchada, por lo que no ha presentado fallas de seguridad desde Septiembre de 2003 (la última conocida fue para OpenBSD 3.3). Vale la pena evaluar otros servidores con excelente registro de seguridad como Postfix (IBM Public License – puede encontrarse una discusión de las razones por las que no se incorporó en OpenBSD base buscando Postfix license OpenBSD). BIBLIOGRAFÍAhttp://dantams.sdf-eu.org/guides/obsd_courier_imap.html http://es.tldp.org/Manuales-LuCAS/doc-tutorial-postfix-ldap-courier-spamassassin-amavis-squirrelmail !PROCMAIL http://pm-doc.sourceforge.net/pm-tips.html http://structio.sourceforge.net/guias/basico_OpenBSD/correo.html#procmail !IMAP http://www.linux-sec.net/Mail/SecurePop3/ http://talk.trekweb.com/~jasonb/articles/exim_maildir_imap.shtml Información dedicada a Dios y liberada al dominio público. 2005. vtamara?pasosdeJesus |