Mostrando entradas con la etiqueta servidor de correos. Mostrar todas las entradas
Mostrando entradas con la etiqueta servidor de correos. Mostrar todas las entradas

lunes, 22 de noviembre de 2010

Servidor de Correos Corporativo en CentOS - 4ta parte (Seguridad)

Hasta aquí, les mostré como configurar Postfix, Dovecot y Squirrelmail. Ahora agregaremos seguridad a nuestro Servidor de correos, a través de MailScanner, para que pueda trabajar junto con ClamAV(Antivirus) y SpamAssassin(Antispam).
Si aún no haz configurado nada, te dejo los enlaces:
Servidor SMTP con Postfix
Servidor IMAP, POP3 con Dovecot
Webmail con Squirrelmail

Bien, empezaremos por la instalación de MailScanner, pero para eso debemos instalar sus requisitos:
# yum install gcc rpm-build

Descargar MailScanner desde aquí. La versión para RedHat, CentOS y Fedora Linux.
El paquete que descargué al momento de escribir este "howto" se llama: MailScanner-4.81.4-1.rpm.tar.gz.

Crear el directorio "/root/paquetes", y alojar allí el paquete MailScanner. Ingresar al directorio, descomprimir el paquete e instalar de la siguiente manera:
# tar zxvf MailScanner-4.81.4-1.rpm.tar.gz
# cd MailScanner-4.81.4-1
# ./install.sh


El proceso de instalación demora buen tiempo, así que no se preocupen.

Una vez terminada la instalación de MailScanner, procedemos a Instalar ClamAV(Antivirus), para eso hacemos:
# yum install clamd

Iniciamos el servicio:
# service clamd start

Podemos testear ClamAV, realizando un escaneo, así:
# clamscan

Si se nos advierte actualizar la base de datos de los virus, tecleamos:
# freshclam


Instalamos SpamAssassin:
# yum install spamassassin

******************************

Ahora realizamos la integración. Primero editamos el fichero "/etc/MailScanner/MailScanner.conf" y modificamos los siguientes parámetros:
%org­name% = linuxfacil
%org­long­name% = Linux Facil con RedLinux
%web­site% = www.linuxfacil.com
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamd
Use SpamAssassin = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin


Creamos el directorio "/var/spool/MailScanner/spamassassin":
# cd /var/spool/MailScanner
# mkdir spamassassin


Asignamos los siguiente permisos a los directorios:
# chown -R postfix.postfix incoming/ quarantine/ spamassassin/
# chmod -R 700 incoming/ quarantine/ spamassassin/


Editamos el fichero "/etc/postfix/main.cf" y descomentamos:
header_checks = regexp:/etc/postfix/header_checks

Colocar al final del fichero "/etc/postfix/header_checks" lo siguiente:
/^Received:/ HOLD

Ahora detenemos e iniciamos los servicios así:
# chkconfig postfix off
# chkconfig MailScanner on
# service postfix stop
# service MailScanner start
# service dovecot restart
# service clamd restart


Hemos culminado la configuración para que cada correo sea chequeado por MailScanner en búsqueda de virus o spam. Cada e­mail que se envié o se reciba tendrá un mensaje como el siguiente, el cual dice que MailScanner está funcionando bien:
­­
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


En caso de no tener aún el mensaje anterior, volver a reiniciar los servicios en el orden antes mencionado.

jueves, 20 de agosto de 2009

Servidor de Correos Corporativo en CentOS - 3era parte (Squirrelmail)

Hoy me levanté con muchas ganas de escribir :D, así que en este post describiré los pasos para implementar uno de los webmails más populares hasta el momento: SQUIRRELMAIL.
Me imagino que ya tienen configurado un servidor SMTP e IMAP-POP3 correctamente, si no es su caso ... aquí les dejo los enlaces:
Servidor SMTP con Postfix
Servidor IMAP,POP3 con Dovecot

Squirrelmail es un paquete webmail - software libre escrito en php. Todo lo que necesitamos es tener un servidor Web Apache, un servidor SMTP Postfix y un servidor IMAP con Dovecot.

El primer paso es instalar el paquete:
# yum install squirrelmail

Debemos configurar squirrelmail para plasmar los parámetros de Postfix y Dovecot. Para eso vamos al directorio "/usr/share/squirrelmail/config/" y corremos el script "conf.pl":
# cd /usr/share/squirrelmail/config
# ./conf.pl


Al ejecutar el script visualizamos lo siguiente en pantalla:


Tecleamos la opción "2" y modificamos las opciones de tal manera que se muestre como sigue(acuérdense que estoy trabajando con el dominio linuxfacil.com, y cambiamos sendmail por smtp):



Retornamos al menú principal tecleando "R", y escojemos la opción "3"(Folder Defaults) y modificamos como se muestra a continuación(Traducimos Trash, Sent y Drafts Folder):


Tecleamos "S" para guardar los cambios y salimos con la opción "Q".

Iniciamos apache(voy a suponer que no han tocado el fichero de configuración de apache para nada):

# service httpd start

Ahora abrimos nuestro navegador web y en el browser colocamos : http://el_ip_de_su_servidor/webmail, en mi caso mi ip es 192.168.1.11. Ahora deberiamos ver nuestro webmail:


Ahora podriamos ingresar a visualizar via web, el buzón del usuario pilar:


Espero que este post haya sido de utilidad, más adelante estaré detallando los pasos para integrarle un antivirus y antispam.

Saludos,


Servidor de Correos Corporativo en CentOS - 2da parte (Dovecot)


Que tal amigos!, luego de haber seguido los pasos para implementar un servidor SMTP detallados en un post anterior(1era parte Servidor de Correos Corporativo: Postfix), pasamos ahora a configurar Dovecot, para así tener implementado el servidor IMAP,POP3. Esto es sumamente fácil puesto que solo tenemos que editar un par de líneas.
Abrimos una terminal e instalamos el paquete:
# yum install dovecot

Procedemos a editar su fichero de configuración:
# vim /etc/dovecot.conf

Buscamos las siguientes líneas y cambiamos sus valores como siguen:

protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir


Explicación breve de cada parámetro:
protocols: Define los protocolos a soportar.
mail_location: Especifica el directorio dentro de /home/usuario/ donde los usuarios recibirán sus correos.

Iniciamos dovecot:
# service dovecot start

Procedemos ahora a testear dovecot. En el post anterior(postfix) el usuario pilar fue la que recibió el correo del usuario michael cuando testeamos postfix, pues bien, vamos a trabajar con ella, iniciando una sesión telnet de la siguiente manera(de color azul lo que tenemos que teclear en la sesión):

# telnet localhost pop3

+OK dovecot ready.
user pilar ---> nombre del usuario a trabajar
+OK
pass 123456 ---> password del usuario
+OK Logged in.
list ---> listar todos los correos que tenga el usuario en su buzón
+OK 1 messages:
1 449
.
retr 1 ---> recuperar el primer correo del usuario
+OK 449 octets
Return­Path:
X­Original­To: pilar
Delivered­To: pilar@linuxfacil.com
Received: from host (localhost.localdomain [127.0.0.1])
by servidor.linuxfacil.com (Postfix) with ESMTP id 9729067C17
for ; Thu, 20 Aug 2009 09:06:37 ­0500 (PET)
Message­Id: <20070222140640.9729067c17@linuxfacil.com>
Date: Thu, 20 Aug 2009 09:06:37 ­0500 (PET)
From: michael@linuxfacil.com
To: undisclosed­recipients:;

hola!!!
.
quit --> salimos de la sesión telnet
+OK Logging out.
Connection closed by foreign host.


De esta manera, deberiamos ver el correo que el usuario michael le había enviado al usuario pilar en el post anterior(postfix). Si todo está bien hasta este punto podemos continuar con la implementación del webmail.
Nos vemos en la 3era parte.

Saludos,

sábado, 9 de mayo de 2009

Servidor de Correos Corporativo en CentOS - 1era parte (Postfix)


Hola a todos, en esta oportunidad detallaré como implementar un completo Servidor de Correos bajo GNU/Linux en un entorno empresarial paso a paso. Trataré de hacer que la explicación sea lo más sencilla posible.
Así que sin más preámbulos, manos a la obra!!!
En primer lugar, les alcanzo, en que consistirá el Servidor de Correos que propongo:

- Sistema Operativo GNU/Linux, distribución: CentOS 5.3
- Servidor SMTP : Postfix
- Servidor POP3, IMAP : Dovecot
- Webmail: Squirrelmail
- Antivirus: ClamAV
- Antispam : Spamassassin
- Sistema de seguridad para e-mail: MailScanner.

Bien, en esta primera parte empezaré por la instalación y configuración de Postfix como servidor SMTP.

Abrimos una terminal e instalamos postfix y el paquete system-switch:
# yum install postfix system-switch-mail-gnome

Este último paquete nos sirve para poder escoger que servidor smtp usará CentOS por defecto, y lo lanzamos así:
# system-switch-mail
y escogemos postfix como servidor smtp por defecto.

Desactivamos el servicio de sendmail para que no moleste xD!:
# chkconfig sendmail off

Ahora procedemos a editar el fichero de configuración de postfix:
# vim /etc/postfix/main.cf

Buscamos las siguientes líneas y cambiamos sus valores como siguen (vamos a suponer que el dominio es linuxfacil.com):

myhostname = servidor.linuxfacil.com
mydomain = linuxfacil.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/


Ahora una explicación rápida de cada parámetro:

myhostname: Define el nombre completo del servidor de correos.
mydomain: Define solo el dominio.
myorigin: Define lo que viene después del "@" en cada cuenta de correo. (que en nuestro caso las cuentas de correo serán: cuenta@linuxfacil.com ).
inet_interfaces: por que interfaces escuchará el servidor de correos.
mydestination: especifica la lista de dominios que el servidor considera como destinos.
home_mailbox: especifica el directorio donde el usuario recibirá sus mensajes (en nuestro caso en /home/usuario/Maildir).

Reiniciamos postfix:
# service postfix restart

Ahora a testear postfix, para esto creamos 2 usuarios. En mi caso: michael y pilar, e iniciamos una sesión telnet en nuestro servidor por el puerto 25. D
e color azul lo que se tiene que teclear dentro de la sesión:

# telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 servidor.linuxfacil.com ESMTP Postfix
ehlo host
250-servidor.linuxfacil.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: michael
250 2.1.0 Ok
rcpt to: pilar
250 2.1.5 Ok
data
354 End data with .
hola!!!
.
250 2.0.0 Ok: queued as C91851E59F9
quit
221 2.0.0 Bye
Connection closed by foreign host.

En la sesión telnet anterior, lo que se hizo es que el usuario "michael " le envíe un correo al usuario "pilar". El mensaje contiene el texto: "hola!!!", nótese el punto después del mensaje; esto es para finalizarlo. Salimos de la sesión telnet con "quit".

Ahora sólo falta comprobar si el mensaje llegó. Tecleamos:
# cd /home/pilar/Maildir/new
# ls

1241947033.V807I1c39e5M812356.servidor
# cat
1241947033.V807I1c39e5M812356.servidor
Return-Path:
X-Original-To: pilar
Delivered-To: pilar@linuxfacil.com
Received: from host (localhost.localdomain [127.0.0.1])
by servidor.linuxfacil.com (Postfix) with ESMTP id C91851E59F9
for ; Sun, 10 May 2009 04:17:03 -0500 (PET)
Message-Id: <20090510091706.c91851e59f9@servidor.linuxfacil.com>
Date: Sun, 10 May 2009 04:17:03 -0500 (PET)
From: michael@linuxfacil.com
To: undisclosed-recipients:;

hola!!!


Como verán se puede visualizar el mensaje que le habíamos enviado. Si llegamos hasta aquí, nuestro servidor SMTP ya está listo, faltaría avanzar con lo demás.
Espero que les haya servido, nos vemos en la 2da parte :D

Saludos,