1 Andago 2008 1 1 Cómo montar una solución profesional de correo electrónico con Software Libre --------- Cursos GUL Marzo::2009 Javier Turégano Molina
2 Andago 2008 2 2 Indice INDICE – Introducción – MTAs – Postfix – Buzones – Listas de correo – Solución en cluster – Visión de conjunto – Otras herramientas
3 Andago 2008 3 3 Introducción COMO MONTAR SOLUCIONES PROFESIONALES DE CORREO COMO MONTAR SOLUCIONES PROFESIONALES DE CORREO
4 Andago 2008 4 4 MTAs ¿Qué es un MTA? MAIL TRANSFER AGENT ¿Qué es un MTA? MAIL TRANSFER AGENT
5 Andago 2008 5 5 Sendmail Muy maduro Bien documentado Monolítico Configuración muy compleja (m4) Rendimiento bajo Poco seguro Muy maduro Bien documentado Monolítico Configuración muy compleja (m4) Rendimiento bajo Poco seguro
6 Andago 2008 6 6 Postfix Muy flexible Arquitectura Modular Fácil de instalar y configurar Muy flexible Arquitectura Modular Fácil de instalar y configurar Seguro Buen rendimiento y estabilidad Seguro Buen rendimiento y estabilidad
7 Andago 2008 7 7 Qmail Muy seguro y robusto DJB Instalación más compleja No se distribuyen binarios empaquetados Funcionalidad limitada Ampliable mediante parches Muy seguro y robusto DJB Instalación más compleja No se distribuyen binarios empaquetados Funcionalidad limitada Ampliable mediante parches
8 Andago 2008 8 8
9 9 9 Arquitectura de Postfix
10 Andago 2008 10 Fuentes de datos BDD Ficheros LDA P Mysql Postgre s Mysql Postgre s Postma p Openldap Sun Directory Active Directory Openldap Sun Directory Active Directory
11 Andago 2008 11 Ficheros de configuración Ficheros de configuración de Postfix: main.cf master.cf
12 Andago 2008 12 Dominios @dominio1.com @dominio2.com @sub.dominio1.co m @dominio3.net @dominio.es @dominio1.com @dominio2.com @sub.dominio1.co m @dominio3.net @dominio.es
13 Andago 2008 13 Dominios [/etc/postfix/main.cf]... virtual_mailbox_domains = hash:/etc/postfix/vmaildomains [/etc/postfix/vmaildomains] barriosesamo.comrequired nasa.govrequired $ posmap vmaildomains
14 Andago 2008 14 Usuarios virtuales Nombre usuario a usar: blas epi [email protected] [email protected] [email protected] Nombre usuario a usar: blas epi [email protected] [email protected] [email protected]
15 Andago 2008 15 Usuarios virtuales [/etc/postfix/main.cf]... #Usuarios virtuales virtual_transport = virtual virtual_mailbox_base = /home/vmail virtual_mailbox_maps= ldap:ldapvirtualmap ldapvirtualmap_server_host = ldap://ldap.barriosesamo.com ldapvirtualmap_server_port = 389 ldapvirtualmap_search_base = dc=com ldapvirtualmap_query_filter = (&(mail=%s)(objectClass=CourierMailAccount)) ldapvirtualmap_result_attribute = mailbox
16 Andago 2008 16 Alias [/etc/postfix/main.cf] # ALIAS DATABASE alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases #Alias virtuales virtual_maps = ldap:valiases valiases_server_host = ldap://ldap.barriosesamo.com valiases_search_base = dc=com valiases_query_filter = (&(mail=%s)(objectClass=CourierMailAlias)) valiases_result_attribute = maildrop
17 Andago 2008 17 Autenticación en el envío
18 Andago 2008 18 Autenticación en el envío [/etc/postfix/main.cf]... #SASL smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes #Restricciones smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
19 Andago 2008 19 Autenticación en el envío - SASL $ apt-get install libsasl2 sasl2-bin libsasl2-modules [/etc/default/saslauthd] START=yes MECHANISMS="ldap" PARAMS="-O /etc/saslauthd.conf" [/etc/saslauthd.conf] ldap_servers: ldap://ldap.barriosesamo.com ldap_search_base: dc=com ldap_filter: mail=%u@%r [/etc/postfix/sasl/smtpd.conf] pwcheck_method: saslauthd mech_list: plain login
20 Andago 2008 20 Cifrado [/etc/postfix/main.cf]... smtpd_use_tls = yes smtpd_tls_key_file = /etc/ssl/key.pem smtpd_tls_cert_file = /etc/ssl/cert.pem smtpd_tls_CAfile = /etc/ssl/cacert.pem smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom [/etc/postfix/master.cf]... smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
21 Andago 2008 21 Enrutado de correo
22 Andago 2008 22 Localizar el buzón local [/etc/postfix/main.cf]... virtual_mailbox_base = /home/vmail virtual_minimum_uid = 100 virtual_uid_maps = static:1001 virtual_gid_maps = static:1001 Entrada LDAP para epi: maildrop: barriosesamo.com/epi/ Su buzón estará ubicado en: /home/vmail/barriosesamo.com/epi
23 Andago 2008 23 Formatos de buzón mailbox maildir
24 Andago 2008 24 A otros sistemas Transport Mailrelay
25 Andago 2008 25 Filtrado
26 Andago 2008 26 Amavis
27 Andago 2008 27 Flujo de Escaneo [email protected] ----> [email protected] POSTFIX ClamAV Otros Antivirus Otros Antivirus SpamAssassi n Amavi s A su destino Cliente 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 Buzon
28 Andago 2008 28 Amavis [/etc/amavis/amavisd.conf]... $unix_socketname = undef; $inet_socket_port = 10024; $inet_socket_bind = '127.0.0.1'; $final_virus_destiny = D_DISCARD; $final_banned_destiny = D_BOUNCE; $final_spam_destiny = D_PASS; $final_bad_header_destiny = D_PASS; $sa_tag_level_deflt = 0.5; # add spam info headers $sa_tag2_level_deflt = 5.5; # add 'spam detected' $sa_kill_level_deflt = $sa_tag2_level_deflt; $sa_dsn_cutoff_level = 10;
29 Andago 2008 29 Amavis [/etc/amavis/amavisd.conf]... @decoders = ( ['gz', \&do_gunzip], ['gz', \&do_uncompress, 'gzip -d'], ['bz2', \&do_uncompress, 'bzip2 -d'], ['zip', \&do_unzip], ['rar', \&do_unrar, ['rar','unrar'] ], ['arj', \&do_unarj, ['arj','unarj'] ],); @av_scanners = ( ['ClamAV-clamd', \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"], qr/\bOK$/, qr/\bFOUND$/, qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ] );
30 Andago 2008 30 Spamassassin
31 Andago 2008 31 Spamassasin Chequeo de cabeceras Test de frases en el cuerpo del mensaje. Filtros bayesianos. Listas blancas y negras automáticas Listas blancas y negras manuales Uso de base de datos colaborativas de spam (DCC, Pyzor, Razor2) Bloques de direcciones DNS, también conocidas cómo RBLs (Realtime Blackhole Lists). Configuraciones regionales y de codificación de caracteres.
32 Andago 2008 32 clamav Motor antivirus + Base de datos de firmas Soportado por la comunidad /etc/clamav/clamav.conf /etc/clamav/freshclam Motor antivirus + Base de datos de firmas Soportado por la comunidad /etc/clamav/clamav.conf /etc/clamav/freshclam
33 Andago 2008 33 Otros antivirus Network Associates Virus Scan DrSolomon H+BEDV AntiVir/X Sophos Sweep Kaspersky Lab AntiViral Toolkit Pro CyberSoft VFind Trend Micro FileScanner CAI InoculateIT F-Secure AV
34 Andago 2008 34 Gestionando la cola
35 Andago 2008 35 Gestionando la cola Algunas herramientas útiles para gestionar las colas de correo: Mailq Postsuper Qshape
36 Andago 2008 36 Buzones Protocolos de acceso a los buzones POP3 POP3S IMAP IMAPS Software de Servidor: Courier Cyrus Protocolos de acceso a los buzones POP3 POP3S IMAP IMAPS Software de Servidor: Courier Cyrus
37 Andago 2008 37 Courier Authdaemon [ /etc/authlib/authdaemonrc ]... authmodulelist="authldap" [ /etc/authlib/authldaprc ] LDAP_URI ldap://ldap.barriosesamo.com LDAP_BASEDN c=com LDAP_MAIL mail LDAP_FILTER (objectClass=CourierMailAccount) LDAP_GLOB_UID vmail LDAP_GLOB_GID vmail LDAP_HOMEDIR homeDirectory LDAP_MAILDIR mailbox LDAP_MAILDIRQUOTA quota LDAP_CLEARPW clearPassword LDAP_CRYPTPW userPassword
38 Andago 2008 38 Courier-imap [/etc/courier/imapd]... ADDRESS=0 PORT=143 MAXDAEMONS=40 MAXPERIP=512 PIDFILE=/var/run/imapd.pid TCPDOPTS="-nodnslookup -noidentlookup" IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE" IMAP_IDLE_TIMEOUT=60 AUTH=PLAIN" IMAP_TRASHFOLDERNAME=Trash IMAPDSTART=YES MAILDIRPATH=Maildir
39 Andago 2008 39 Courier-imap [/etc/courier/imapd]... ADDRESS=0 PORT=143 MAXDAEMONS=40 MAXPERIP=512 PIDFILE=/var/run/imapd.pid TCPDOPTS="-nodnslookup -noidentlookup" IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE" IMAP_IDLE_TIMEOUT=60 AUTH=PLAIN" IMAP_TRASHFOLDERNAME=Trash IMAPDSTART=YES MAILDIRPATH=Maildir
40 Andago 2008 40 Courier-imap-ssl [/etc/courier/imapd-ssl]... TLS_CERTFILE=/etc/ssl/key-cert.pem TLS_TRUSTCERTS=/etc/ssl/cacert.pem
41 Andago 2008 41 Maildir http://cr.yp.to/proto/maildir.html /home/vmail/barriosesamo.com/epi/Maildir tmp/ new/ cur/ maildirsize courierimapsubscribed.Sent/.Trash/.Drafts/.Trabajo/.Amigos/ 1236710984.V9806I800036M27243.mail.barriosesamo1:2,ST
42 Andago 2008 42 Perdition
43 Andago 2008 43 Perdition
44 Andago 2008 44 Listas de correo
45 Andago 2008 45 Webmail Squirrelmai l
46 Andago 2008 46 Webmail Egroupware
47 Andago 2008 47 Cluster VS
48 Andago 2008 48 IPVS
49 Andago 2008 49 Keepalived
50 Andago 2008 50 Cluster Balanceador Frontal3 Almacenamient o Frontal2 Frontal1 Balanceador Back3 Back2 Back1
51 Andago 2008 51 Frontal Correo POSTFIX ClamAV Otros Antivirus Otros Antivirus SpamAssassi n Amavi s Perdition Smtp, Smtps Pop3, Pop3s Imap, Imaps
52 Andago 2008 52 Backend Correo POSTFIX Courier Buzones Pop3, Pop3s Imap, Imaps Smtp Almacenamiento Compartido LDA P Servidor Backend
53 Andago 2008 53 Cluster Opciones DRBD SAN + GFS SAN + OCFS NAS NFS Buzones Almacenamiento Compartido
54 Andago 2008 54 Otras aplicaciones interesantes
55 Andago 2008 55 Otras aplicaciones interesantes Estadísticas (mailgraph)
56 Andago 2008 56 Otras aplicaciones interesantes Gestión de usuarios (phpldapadmin) Fetchmail Pruebas de carga (postal)
57 Andago 2008 57 Otras aplicaciones interesantes Enviando correo desde la línea de comando con autenticación: $ printf "%s\0%s\0%s" user user password | mmencode dXNlcgB1c2VyAHBhc3N3b3Jk $ telnet server 25 ehlo barriosesamo.com AUTH PLAIN dXNlcgB1c2VyAHBhc3N3b3Jk mail from: [email protected]@barriosesamo.com rcpt to: [email protected] Subject: Hola blas ¿Qué tal estás?.
58 Andago 2008 58 Otras aplicaciones interesantes Leer correo por pop3s a través de la línea de comandos: openssl s_client -connect mail.barriosesamo.com:995 user [email protected] pass oyeblas list retr 1
59 Andago 2008 59 Preguntas y Contacto ¿?¿? ¿?¿? www.turegano.net www.twitter.com/setoid e www.turegano.net www.twitter.com/setoid e Licencia Creative Commons Reconocimiento 2.5 de España
60 Andago 2008 60 Imágenes usadas Las imágenes usadas en esta presentación han sido recolectadas de flickr entre aquellas que tenían una licencia CC que permitieran su uso. A continuación encontramos el listado de todas ellas: * Buzon R2D2: http://www.flickr.com/photos/70323761@N00/428744829/http://www.flickr.com/photos/70323761@N00/428744829/ * Muchos buzones: http://www.flickr.com/photos/30352125@N00/208497785/ http://www.flickr.com/photos/30352125@N00/208497785/ * Buzon Helado: http://www.flickr.com/photos/7481945@N04/3156498390/ http://www.flickr.com/photos/7481945@N04/3156498390/ * Pesona en una caja: http://www.flickr.com/photos/26959234@N00/290987247/ http://www.flickr.com/photos/26959234@N00/290987247/ * Monolito: http://www.flickr.com/photos/10114354@N00/194306926/http://www.flickr.com/photos/10114354@N00/194306926/ * Gimnasta: http://www.flickr.com/photos/90935137@N00/351684037/http://www.flickr.com/photos/90935137@N00/351684037/ * Perro verde: http://www.flickr.com/photos/51035555243@N01/2349146897/ http://www.flickr.com/photos/51035555243@N01/2349146897/ * Super dogs: http://www.flickr.com/photos/7315825@N04/3178055491/http://www.flickr.com/photos/7315825@N04/3178055491/ * Arroba: http://www.flickr.com/photos/53763120@N00/493461004/http://www.flickr.com/photos/53763120@N00/493461004/
61 Andago 2008 61 Imágenes usadas * Viagra: http://www.flickr.com/photos/35034346572@N01/8263476/http://www.flickr.com/photos/35034346572@N01/8263476/ * Virus: http://www.flickr.com/photos/96123571@N00/520201209/http://www.flickr.com/photos/96123571@N00/520201209/ * Tubería: http://www.flickr.com/photos/53611153@N00/2368699531/http://www.flickr.com/photos/53611153@N00/2368699531/ * Dinosaur tail: http://www.flickr.com/photos/95118988@N00/106396537/ http://www.flickr.com/photos/95118988@N00/106396537/ * Postman http://www.flickr.com/photos/21895046@N08/2112334377/http://www.flickr.com/photos/21895046@N08/2112334377/ * Epis: http://www.flickr.com/photos/76481180@N00/21797427/http://www.flickr.com/photos/76481180@N00/21797427/ * Huellas: http://www.flickr.com/photos/43822137@N00/1632483851/http://www.flickr.com/photos/43822137@N00/1632483851/ * Director http://www.flickr.com/photos/60584823@N00/402708916/http://www.flickr.com/photos/60584823@N00/402708916/ * Candado: http://www.flickr.com/photos/53611153@N00/896429958/http://www.flickr.com/photos/53611153@N00/896429958/ Para facilitar la búsqueda de las mismas se utilizó la herramienta de búsqueda de la web de: http://compfight.com/