Está en la página 1de 7

Inicio

Servidor Correo Postfix Courier Maildir Sasl Squirrelmail Spamassassin


Instalacin y configuracin de los distintos programas. Instalacin simple y rpida, slo usuarios del sistema, con o sin
acceso y directorio de trabajo /home/usuario.
Primero un poquito de conocimientos. Definiciones:
MUA (Mail User Agent): Es el programa usado por el usuario para enviar, recibir, leer y escribir emails. P.e.: Mozilla
Thunderbird, Outlook, etc.
MTA (Mail Transfer Agent): Parte del servidor de correo responsable de la recepcin del mismo y del envo y recepcin de
otros servidores. P.e.: Postfix, sendmail, Exim, Qmail, etc
MDA (Mail Delivery Agent): Programa responsable de la entrega del correo al usuario local. P.e.: Procmail, Maildrop.
La mayora de MTA (Mail Tranfer Agent) pueden entregar el correo al usuario local ellos mismos. Por lo que no siempre es
necesario el uso de un MDA.
PROCMAIL
Por lo general esto ya viene instalado pero si no fuese as instalelo con el siguiente comando:
root@colombialinux:~# apt-get install procmail
POSTFIX
#/usr/bin/apt-get install postfix
Para reconfigurar Postfix podemos utilizar:
#/usr/bin/dpkg-reconfigure postfix
* Configuracin Postfix
o Si tenemos conexin con internet seleccionar 'Internet Site' de lo contrario bastar con 'Local Mode' en Tipo genrico de
configuracin.
o En Nombre de Correo, indicar la parte de la direccin de correo que va seguida de @, p.e. user@ejemplo.com, aqu
pondremos ejemplo.com
o En Otros destinos para los cuales aceptar correo, hay que completar la lista de dominios para los cuales aceptar el correo,
p.e. localhost.ejemplo.com, localhost, ejemplo1.ejemplo.com, ejemplo1
o En Redes locales: 127.0.0.0/8,a.b.c.d/ef donde la red a.b.c.d/ef sera la red local (LAN o WLAN) de la cual formar parte el
servidor (no dejar espacios blancos entre la coma).
o Marcar 'S' en Usar procmail para la entrega local
o De las otras caractersticas nos ocuparemos ms adelante, dejar las por defecto.
Todos estos cambios de configuracin se guardan en /etc/postfix/main.cf, siempre podemos editar, modificar y relanzar
postfix (/etc/init.d/postfix restart) para que tomen efecto.
COURIER
#/usr/sbin/apt-get install courier-authdaemon
Instala por defecto courier-base
#/usr/bin/apt-get install courier-pop
#/usr/bin/apt-get install courier-imap
Como COURIER trabaja con el formato Maildir, deberemos aadir al directorio /etc/skel un archivo de recursos para procmail
y el directorio donde se almacenarn los correos de cada uno de los usuarios.
#/bin/echo -ne "PATH=/usr/bin:/bin:/usr/local/bin:.\n\
MAILDIR=\$HOME/Maildir\nDEFAULT=\$MAILDIR/" > /etc/skel/.procmailrc
Colombia Linux
#/usr/bin/maildirmake /etc/skel/Maildir
Con estos cambios cada vez que creemos un usuario nuevo en el sistema, automticamente se le creara en $HOME el
directorio Maildir y el archivo .procmailrc
Siempre adicione un usuario en el sistema sera con el comando adduser para que tome el skel que acabamos de configurar,
recuerde ademas de cambiar en el archivo /etc/passwd en el bash del usuario o sea al final de la linea del usuario creado que
aparece como :/bin/bash por :/bin/false, tenga en cuenta que esto es solo si el usuario va a ser de correo, si va a ser usuario
de correo y del sistema no modifique nada del usuario en el archivo /etc/passwd
Si va a ser un servicio de correo dedicado debera crear un grupo como por ejemplo correo y agregar todos los usuarios del
servicio de correo a este grupo, eliminando los grupos que se adicionan por cada usuario cuando se crea este con el
comando adduser; ademas puede darle a este grupo un GID por ejemplo 5000, para esto en /etc/postfix/main.cf seria
agregar:
virtual_uid_maps = static:5000
# Id del grupo que tiene permiso en los buzones,
# tambin el que creamos.
virtual_gid_maps = static:5000
Si ya hay usuarios en el sistema, habr que copiar archivo y directorio uno a uno, dndole la propiedad de cada usuario. Con
todo lo expuesto ya debera de funcionar el correo.
SQUIRRELMAIL
Vamos a instalar ahora un visor de correo Webadmin.
#/usr/bin/apt-get install squirrelmail
Para que funcione con distintos idiomas hace falta instalar 'squirrelmail-locales' y que esten definidos en el sistema
'/usr/bin/locale'
#/usr/bin/apt-get install squirrelmail-locales
Por ejemplo para incluir el locale colombia hacemos:
(mirar en /etc/locales.alias para ver los idiomas soportados)
#dpkg-reconfigure locales
[ ] es_CL ISO-8859-1
[ ] es_CL.UTF-8 UTF-8
[*] es_CO ISO-8859-1
[*] es_CO.UTF-8 UTF-8
[ ] es_CR ISO-8859-1
[ ] es_CR.UTF-8 UTF-8
[ ] es_DO ISO-8859-1
[ ] es_DO.UTF-8 UTF-8
[ ] es_EC ISO-8859-1
[ ] es_EC.UTF-8 UTF-8
[*] es_ES ISO-8859-1
[*] es_ES.UTF-8 UTF-8
[ ] es_ES@euro ISO-8859-15
[ ] es_GT.UTF-8 UTF-8
[ ] es_HN.UTF-8 UTF-8
Generating locales...
es_CO.ISO-8859-1... done
Generation complete.
Y para listar los incluidos:
# locale -a
C
es_CO
es_CO.iso88591
es_CO.utf8
es_ES
es_ES.iso88591
es_ES.utf8
POSIX
spanish
Incluir un idioma NO presupone que tenga soporte para Squirrelmail.
Hasta aqu,
Vamos a incorporar las herramienta de filtrado antiSPAM y antiVIRUS desde POSTFIX.
AMAVISD-NEW, CLAMAV, CLAMAV y CLAMAV-DAEMON
Instalaremos primero todos los programas:
#/usr/bin/apt-get install amavisd-new
#/usr/bin/apt-get install clamav
#/usr/bin/apt-get install clamav-daemon
La instalacin de estos programas nos sugiere la instalacin tambin de algn descompresor: arj, zoo, etc. Se recomienda
su instalacin.
Empecemos .....
1.- Comprobar que el LocalSocket 'clamd.ctl' de clamd.conf y de 15-av_scanners apuntan al mismo lugar.
Vease pues /etc/clamav/clamd.conf donde ponemos:
LocalSocket /var/run/clamav/clamd.ctl
tiene que coincidir con el contenido /etc/amavis/conf.d/15-av_scanners
['Clam Antivirus-clamd',
\&ask_daemon,["CONTSCAN{}\n","/var/run/clamav/clamd.ctl"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?:(?!Infected Archive)(.*)FOUND$/],
Si se fijan, es correcto. Los dos apuntan al mismo sitio.
2.- El usuario de amavisd y clamad han de ser el mismo sino no funcionan las cosas.
Para ello editamos /etc/clamav/clamd.conf y cambiamos:
User clamav por User Amavis
Ahora hay que cambiar la propiedad de los directorios y subdirectorios correspondientes:
#/bin/chown -R amavis:amavis /var/run/clamav
#/bin/chown -R amavis:amavis /var/lib/clamav
#/bin/chown -R amavis:amavis /var/log/clamav
3.- El programa de actualizaciones de la base de datos con la definicin de virus 'freshclam' tambin tiene un archivo de
configuracin que hay que modificar.
Abrir /etc/clamav/freshclam.conf y fijese en estas dos lneas:
DatabaseOwner clamav
UpdateLogFile /var/log/clamav/freshclam.log
En la primera hay que cambiar clamav po amavis. Y en la segunda, observar que freshclam.log cuelgue de /var/log/clamv/,
si no es as, basta con cambiar la propiedad de freshclam.log a amavis.
4.- Hay dos archivos ms que tienen que ser modificados. Son /etc/logrotate.d/clamav-daemon y /etc/logrotate.d/clamav-
freshclam, dos archivos de control y mantenimiento de los 'log'.
Editar /etc/logrotate.d/clamav-daemon y cambiar 'create 640 clamav adm' por 'create 640 amavis adm' y en
/etc/logrotate.d/clamav-freshclam, cambiar 'create 640 clamav adm' por 'create 640 amavis adm'
Hasta aqu con la configuracin de AMAVIS y CLAMAV...pero hay ms.
SPAMASSASSIN
#/usr/bin/apt-get install spamassassin
Spamassassin viene desactivado por defecto, hay que activarlo. Para ello editar /etc/default/spamassassin y cambiar
ENABLED=0 por ENABLED=1 y habilitar NICE="--nicelevel 15"
Editar /etc/spamassassin/local.cf y quitar la # de rewrite_header Subject *****SPAM*****
Y reescribir /etc/procmailrc si no existe se crea para que quede:
DROPPRIVS=yes
:0fw
| /usr/bin/spamassassin
ltimas configuraciones
Editar /etc/amavis/conf.d/15-content_filter_mode y quitar las # en las siguientes lneas para habilitar el control antiVIRUS y
antiSPAM:
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
En /etc/amavis/cond.d/20-debian_defaults comprobar estas lneas:
$inet_socket_port = 10024; # default listenting socket
$sa_spam_subject_tag = '***SPAM*** ';
$sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.31; # triggers spam evasive actions
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent
$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)
Fijese que $final_spam_destiny = D_PASS; significa que los mensajes con contenido SPAM llegan a su destinatario, pero
agregando en el SUBJECT la palabra ***SPAM***. Siendo ya responsable de su borrado el usuario final, evitando as la
prdida de falsos positivos.
Ya por ltimo slo nos queda configurar (de nuevo) Postfix para que tengan efecto todas estas modificaciones y nuevas
herramientas. Para ello editamos
#/etc/postfix/main.cf y aadimos la siguiente lnea:
content_filter = smtp_amavis:[localhost]:10024
Y en /etc/postfix/master.cf:
smtp_amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restricti_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8,a.b.c.d/fg
-o strict_rfc821_envelopes=yes
Creo que ya est todo, reiniciamos cada uno de los programas o mejor reiniciamos el sistema y listo.
Soporte SASL y SSL. Proteccin frente a los SPAMMERS
A groso modo, SASL nos sirve para la autenticacin en protocolos de internet y SSL para cifrar el contenido que se
transfiere.
Instalamos todo lo siguiente (la versin 2.2.10-1 de postfix, y las nuevas, lleva integrado postfix-tls, por lo que nos es
necesaria su instalacin):
#/usr/bin/apt-get install openssl
#/usr/bin/apt-get install courier-ssl
#/usr/bin/apt-get install courier-imap-ssl
#/usr/bin/apt-get install courier-pop-ssl
#/usr/bin/apt-get install libsasl2-2
#/usr/bin/apt-get install libsasl2-modules
#/usr/bin/apt-get install sasl2-bin
Primero vamos a crear un usuario autenticado en el servicio saslpaswd2, que es el equivalente de los buzones en el servicio
de correo, para ello ejecutar:
#/usr/sbin/saslpasswd2 -c nombre_de_usuario
cuando nos pregunte por el password, responder y volver a confirmar, tener en cuenta que esta clave debe ser igual a la
que se dio cuando se creo el usuario con el comando adduser, si esto no se hace as, tendr problemas para la cuenta de
correo creada.
Para ver el listado de usuarios en el servicio saslpaswd2, podemos ejecutar:
#sasldblistusers2
Para que funcionen las cosas hay que realizar algunas modificaciones en algunos archivos:
- En /etc/default/saslauthd, descomentar la lnea START=yes y modificar MECHANISMS="lo_que_sea" por
MECHANISMS="sasldb"
- Agregar el usuario postfix al grupo sasl, #/usr/sbin/adduser postfix sasl
- Modificar usuario y grupo del archivo /etc/sasldb2: #/bin/chown root.sasl /etc/sasldb2
- Editar /etc/postfix/sasl/smtpd.conf, si no existe crearlo, y dejar el contenido de esta manera:
mech_list: PLAIN LOGIN
pwcheck_method: saslauthd
saslauthd_path: /var/run/saslauthd/mux
- Arrancar SASL, #/etc/init.d/saslauthd start
Un detalle a tener en cuenta es que postfix se ejecuta en un entorno chroot (por defecto), por lo que la solucin ms rpida
(no la mejor), para no tener problemas, es sacarlo de la jaula. Para ello modificamos las siguientes lneas en
/etc/postfix/master.cf :
#
==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
#
==========================================================================
smtp inet n - n - - smtpd
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes -o smtpd_sasl2_auth_enable=yes
Si se da cuenta en las dos lneas (debajo de donde pone chroot(yes)) he modificado el guon (-) por una 'n', as de fcil.
Ya por ltimo nos queda modificar /etc/postfix/main.cf agregando lo siguiente:
----------------------------------------------------------------------------------
## SOPORTE SASL
smtp_sasl_auth_enable=no
smtpd_sasl_auth_enable=yes
smtpd_sasl_security_options=noanonymous
broken_sasl_auth_clients=yes
smtpd_sasl_local_domain=
smtpd_helo_required=yes
disable_vrfy_command=yes
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks
smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
## SOPORTE TLS
smtpd_use_tls=yes
smtpd_tls_auth_only=yes
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl_cert-snakeoil.key
smtpd_tls_loglevel=1
smtpd_tls_received_header=yes
---------------------------------------------------------------------------------
No me he molestado en crear los certificados, he aprovechado los que veienen con 'openssl' pero si quiere crear sus propios
certificados este link le servir http://www.postfix.org/TLS_README.html
Reiniciamos Postfix, #/etc/init.d/postfix restart y ya tenemos el equipo listo para usar la autenticacin y la encriptacin de
datos.
Vamos a comprobar como el servidor smtp acepta comunicaciones cifradas al validarse:
root@colombialinux:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 colombialinux.org ESMTP Postfix (Debian/GNU)
ehlo localhost
250-colombialinux.org
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250 8BITMIME
starttls
220 Ready to start TLS
quit
quit
Connection closed by foreign host.
Colombia Linux
Navegacin
OAuth test 1 - Token Request
OAuth test 2 - Token Access
OAuth test 3 - Web Service
Envos recientes

También podría gustarte