Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
XIV.
XV.
Antivirus Clamav I. Herramienta clamscan II. Herramienta freshclam MailScanner. I. Configuracin MailScanner. I. Configuracin postfix. II. Permisos de MailScanner.
Acerca de Postfix#
Postfix es una MTA(Mail Tranport Agent), escrito originalmente Wietse Venema, creado con la intencin de que sea mas fcil de administrar y configurar, es bastante reciente y se suma a la lista de alternativas al legendario Sendmail.
Acerca de Dovecot#
Dovecot contiene los demonios de imap y pop3, para que los clientes de correo electrnico accedan directamente a sus buzones sin ningn problema. Escrito fundamentalmente pensando en seguridad. Desarrollado por Timo Sirainen, Dovecot fue liberado por primera vez en julio del ao 2002.
Protocolos Utilizados#
Los servidores de correo trabajan bajo la arquitectura de cliente/servidor. Para permitir todo este proceso, existe una variedad de protocolos de red que permiten que diferentes maquinas estn usando programas o navegadores para envo y recepcin de correo electrnico. Los protocolos que se ocupan son:
smtp. pop3. Imap.
Protocolo SMTP.#
SMTP (Simple Mail Transfer Protocol - Protocolo de Transferencia de Correo Simple), proporcionan un mecanismo para transferir correo fiable y eficientemente. Funciona bajo un conjunto de reglas: Acepta mensaje de entrada. Comprueba direcciones de los mensajes. Si son direcciones locales, las almacenan el mensaje para despus recuperarlo. Si son direcciones remotas enva el correo. Un mensaje pasa a travs de varias pasarelas SMTP antes de llegar a su destino final, en cada parada es evaluado el mensaje, si el mensaje es suyo lo almacena sino lo enva a otro SMTP
hasta que encuentre su destino final. El protocolo SMTP trabaja sobre TCP y escucha las peticiones por el puerto 25 y 465 modo seguro.
Protocolo POP3.#
POP3(Post Office Protocol- Protocolo de correo), actualmente nos encontramos en la tercera versin de este protocolo. La ventaja principal que tiene este protocolo: Las carpetas, mensajes se aguardan en nuestro ordenador. Permite leer el correo recibido sin estar conectado a internet. Liberamos espacio de nuestro buzn en el servidor de correo. Para poder utilizar una cuenta de correo a travs del protocolo POP3, es necesario tener configurado algn programa de manejo de correo en nuestra computadora como Thundebird, Evolution, Outlook, etc. El protocolo POP3 trabaja sobre TCP y escucha las peticiones por el puerto 110 y 995 modo seguro.
Protocolo IMAP.#
IMAP(Internet Message Access Protocol), es un protocolo de red de acceso a mensajes electrnicos almacenados en un servidor. Es ms complejo que POP ya que permite visualizar los mensajes de manera remota y no descargando los mensajes como lo hace POP. La ventaja principal que tiene este protocolo: El correo no es descargado en la computadora. El correo siempre esta dentro del buzn del usuario dentro del usuario. Cuando usamos clientes de correo en nuestra computadora solo baja cabeceras de correo. El servidor retiene el correo hasta que el usuario lo elimine. Puede consultarse el correo desde diferentes computadoras Este tipo de correo fue desarrollado en 1986 en la Universidad de Stanford y trabaja sobre TCP y escucha las peticiones por el puerto 143 y 993 modo seguro.
Un MTA (Agente de Transporte de correo), se encarga del envio de los mensajes de correo electrnico entre maquinas que usan el protocolo SMTP. Un mensaje pueda pasar por varios MTA hasta llegar a su destino final. Existen varios MTA y son:
Sendmail: Es el mas popular, veterano de los MTA, el mas ocupado en internet y muy difcil de configurar y es de cdigo libre. http://www.sendmail.org/ Postfix: Este es otro MTA el segundo mas popular y se piensa que va ser el reemplazo de sendmaill, fue desarrollado por Wietse Veneme y puede ser instalado en UNIX, GNU/Linux y Mac OS. http://www.postfix.org/ Qmail: Es un MTA desarrollado por Daniel J. Bernstein, lo que buscaba era una mejor alternativa a Sendmail Exim: Es un MTA desarrollado por la Universidad de Cambridge y puede ser utilizado en la mayoras de los sistemas UNIX y GNU/Linux. http://www.exim.org/ Smail: Es otro MTA de los veteranos que existen en GNU/Linux. http://www.weird.com/woods/projects/smail.html
En todas las distribuciones GNU/Linux siempre traen instalado el servidor de correo, para el envo de sucesos o log del sistema y enva un correo al responsable o al administrador del sistema. En la mayora de las distribuciones trae instalado por defecto sendmail.
Instalacin de Postfix#
Para poder instalar nuestro servidor de correo Postfix:
root@server1:~# apt-get install postfix
Antes de terminar de instalar los paquetes se ejecuta el asistente de configuracin de postfix, solamente hay que dar enter y seleccionar sin configuracin.
dpkg-reconfigure postfix.#
Ahora tenemos que configurar nuestro servidor Postfix para ejecutaremos el siguiente comando
root@server1:~# dpkg-reconfigure postfix
Este comando mandara a llamar a un asistente de configuracin de Postfix y por medio de el iremos configurando nuestro servidor de correo con las opciones que deseemos. Nos aparecer la siguiente pantalla de bienvenida de Postfix.
Tipos de sitios#
En Postfix podemos determinar que tipo de sitio vamos a tener en nuestro servidor:
Sin Configuracin: Esta opcin no hace ninguna modificacin al servidor de correo Postfix. Sitio de Internet: Se caracteriza porque el propio servidor se encarga de enviar/recibir correo electrnico utilizando SMTP, esta es la opcin por default. Internet con
<<
smarthost
>>
: Se caracteriza porque el servidor no enva los correo directamente a los destinatarios, sino que los enva a otros servidores de correo y ellos se encarga de enviarlos. Sistema Satlite: Todo correo saliente se envia a otra maquina, llamada host, el correo de root y postmaster se envia de acuerdo a /etc/aliases,
En nuestro caso seleccionaremos la opcin de Sitios de Internet, ya que nuestro servidor sera el encargado de administrar los usuarios y el envo/recepcin de correo electrnico. Movemos a la opcin OK para poder avanzar en nuestra configuracin.
Alias#
Solamente tomara la configuracin del archivo /etc/aliases para poder enviar correo al administrador del sistema.
Dominios a Administrar.#
Aqui agregamos los dominios que va administrar nuestro servidor de correo, los datos van separados por comas.
Colas de Correo#
Esta opcin es recomendable indicarle que NO, ya que va intentar forzar las actualizacin de las colas y puede hacer muy lento el correo.
Redes Permitidas.#
En esta configuracin solamente permitimos las redes que tendrn acceso a nuestro servidor de correo.
Configuracin Procmail#
Aqu indica que si Procmail va hacer el encargado de entregar correo localmente, seleccionamos la opcin NO.
Extensiones.#
Dejamos el dato por default y damos enter para seguir.
Protocolos.#
Solamente seleccionamos que protocolo queremos que utilice.
Ficheros de Configuracin.#
Los ficheros de configuracin de Postfix se encuentran en:
/etc/postfix/
El postfix-script son los comandos de Postfix. Slo puede ser ejecutada por el comando de Postfix y no funciona si se ejecuta con la mano. Script que controla los parmetros de instalacin de Postfix. Directorio en se guardan las autenticaciones con el soporte para TLS Y SASL.
Configuracin Postfix.#
Antes de configurar es necesario hacer una copia de seguridad del fichero de configuracin de Postfix.
root@server1:postfix# cp main.cf main.cf-orig root@server1:postfix# }}}
Parmetro myhostname.#
Este parmetro especifica el hostname y el dominio de la maquina, ya viene configurado con el nombre ya que se ocupa anteriormente la herramienta dpkg-reconfigure postfix.
myhostname = server1.factor.dynalias.net
Parmetro mydomain.#
Le indica al servidor el nombre de dominio de nuestra maquina.
mydomain = factor.dynalias.net
Parmetro alias_maps.#
Lugar donde estn almacenados los alias de los correos.
alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases }}}
Parmetro myorigin.#
Configura el nombre de el dominio con el salen los correos. Por default ya viene configurado con el nombre de la maquina.
myorigin = /etc/mailname.
Parmetro mydestination.#
Dominios con los cuales solamente recibe correo, aqu agregamos los dominios y separados por comas.
mydestination = server1.factor.dynalias.net, localhost.factor.dynalias.net, localhost, ascariote.net, rodmen.com rodmen.net}}}
Parmetro relayhost.#
Este parmetro establece que los dominios de este servidor sern retransmitidos a otro correo.
mrelayhost =
Parmetro mynetworks.#
A que redes se les permite hacer relay por este servidor.
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Parmetro mailbox_size_limit.#
Tamao mximo que tendr nuestro buzn de correo electrnico por default es 50 MB. El tamao es expreso en bytes
mailbox_size_limit = 51200000
Parmetro message_size_limit.#
Este parmetro no viene incluido dentro del archivo de configuracin pero los podemos agregar y lo que hace es limitar el tamao mximo de un mensaje de correo electrnico.
message_size_limit = 5120000
Parmetro inet_interfaces#
Aqu se configuran las interfaces de red en la que se escuchara peticiones.
inet_interfaces = all
Parmetro transport.#
Este parmetro trae que mtodo usara para envo de correo.
default_transport = smtp
Parmetro inet_protocols.#
El protocolo por el cual Postfix trabajara y aceptara las peticiones de conexin.
inet_protocols = ipv4
Parmetro virtual_alias_domains.#
Le decimos a Postfix que considere los correos de los dominios virtuales. Esta opcion la tenemos que agregar.
virtual_alias_domains = ascariote.net, rodmen.net
Parmetro masquerade_domains.#
Nos sirve para enmascarar mis subdominios que tengamos. Esta opcin la tenemos que agregar.
#masquerade_domains =
Parmetro maximal_queue_lifetime.#
Tiempo maximo que puede estar un correo en una cola.
maximal_queue_lifetime = 2h
Parmetro bounce_queue_lifetime.#
Tiempo limite en el que un correo manda un rebote del mismo.
maximal_queue_lifetime = 2h
Stopping Postfix Mail Transport Agent postfix [ OK ] Starting Postfix Mail Transport Agent postfix [ OK ] root@server1:# }}}
No es conveniente conectarse como usuario root a su cuenta de correo electrnico, por lo que vamos hacer es que todo correo que se enviado a root sea reenviado a una cuenta de un usuario mortal. Tendremos que modificar el siguiente fichero:
root@server1:~# vim /etc/aliases
Dentro de este tendremos que buscar el siguiente parmetro root y agregamos el usuario al cual queremos que le envi una copia de los correos de root.
root: administrador
Cuentas de correo.#
En es punto crearemos los usuarios para nuestro correo electrnico
root@server1:~# useradd -m -s /sbin/nologin carlos
y le asignaremos un password:
root@server1:~# passwd carlos Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully root@server1:# }}}
Como pueden ver la creacin de usuarios es muy fcil de hacer, pero explicaremos para que sirve cada opcin del useradd.
OpcinDescripcin -m el comando useradd crea el directorio de trabajo del usuario si no existe. shell por defecto, no lo hacemos con este shell que le dimos es que no le permita la conexion a -s nuestro sistema.
Instalacin SquirrelMail.#
SquirrelMail es una aplicacin webmail creada por Nathan y Luke Ehresman y escrita en PHP. Puede ser instalado en la mayora de servidores web siempre y cuando ste soporte PHP. Lo que hace SquirrelMail es un MUA que permite al usuario acceder a su correo desde un navegador web. Comenzaremos la instalacin:
root@server1:~# apt-get install squirrelmail
Configuracin de SquirrelMail.#
Los que haremos ahora es configurar nuestro SquirrelMail para nuestro dominio. Para eso tendremos que ejecutar el siguiente comando:
root@server1:~# squirrelmail-configure
9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color on S Save data Q Quit Command >>}}} Para poder entrar cada unas de las opciones de SquirrelMail tendremos que teclear el numero de la opcin del men. Entramos a la opcin de Organization Preferences, despus nos aparecer un men con las opciones que podemos modificar para que tenga los datos de nuestra empresa. Nombre de la empresa, pagina oficial de la empresa, logo de la misma.
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Organization Preferences 1. Organization Name : rodmen sa de cv 2. Organization Logo : ../images/debian_splash.png 3. Org. Logo Width/Height : (331/350) 4. Organization Title : rodmen.net 5. Signout Page : 6. Top Frame : _top 7. Provider link : www.rodmen.com 8. Provider name : rodmen sa de cv
Command >> }}} Como ya tenemos todos los cambios realizados ahora tendremos que guardarlos, con la opcin S.
R Return to Main Menu
Command >> s Data saved in config.php Press enter to continue... }}} Y regresamos al men principal con la opcin R. Entremos a la opcin de Server Settings para poder configurar el dominio y el SMTP.
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings
General ------- 1. Domain : rodmen.net 2. Invert Time : false 3. Sendmail or SMTP : SMTP A. Update IMAP Settings : localhost:143 (other) B. Update SMTP Settings : localhost:25 R Return to Main Menu C Turn color on S Save data Q Quit Command >> }}} En la siguiente opcin Folder Defaults, solo cambiaremos los nombre de la carpetas.
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Folder Defaults 1. Default Folder Prefix : 2. Show Folder Prefix Option : false 3. Trash Folder : Basura 4. Sent Folder : Enviados 5. Drafts Folder : Borradores
R Return to Main Menu C Turn color on S Save data Q Quit Command >> }}} Por ultimo nos vamos a la opcin de Language, para poder cambiar el idioma de nuestro SquirrelMail. Solo modificaremos la opcin de Default Language cambiarla por es_ES.
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Language preferences 1. Default Language : es_ES 2. Default Charset : iso-8859-1 3. Enable lossy encoding : false
R Return to Main Menu C Turn color on S Save data Q Quit Command >> }}} Tenemos que guardar la configuracin y nos regresamos al men principal, estando en el men principal solo que salir presionamos Q. Solamente tendremos que abrir nuestro navegador web favorito y teclear el dominio en donde esta el correo.
Comandos de Postfix.#
Existen varios comandos que se pueden usar para Postfix:
COMANDO DESCRIPCION En este comando nos permite la administracin del servicio postfix, teniendo las postfix opciones bsicas de apagado, encendido, recargar, estatus del servicio y stop/start/reload/check/status chequeo de configuracin de postfix. Esta es otra opcin del comando postfix, el cual nos permite enviar a la fuerza postfix flush correo a la cola. mailq Comando que nos permite ver la cola de mensajes. postmap Este comando nos ayuda crear ficheros de configuracin auxiliares de Postfix. postconf Muestra la configuracin actual de Postfix. newaliases Reconstruye la base de datos de alias. postqueue Se utiliza para el manejo de las colas de correo. -f Manda el correo a la fuerza a cola. -i Enva inmediatamente un correo. -p Lista el contenido de las colas. -s Manda de golpe todos los correos a la cola. Provee acceso a nivel de superusuario a la cola de correo. Permite al postsuper administrador borrar mensajes, retener o liberar mensajes o incluso reparar la estructura de la cola -d # Borra mensaje en la cola -d all Borra todos los mensajes en la cola. -r # Encola un mensaje. -r all Encola todos los mensajes. postalias Crea o consulta la Bds de los alias. postcat Muestra el contenidos de los archivos en cola, permite al administrador ver el
contenido de los mensajes. Inyecta un mensaje dentro de la cola de salida para que Postfix lo entregue. Se utiliza para comunicarse mediante linea de comandos con los distintos servicios de Postfix. Bloquea una carpeta de correo para uso exclusivo. Una interfaz de registro compatible con Postfix para usar, por ejemplo, en guiones del intrprete de comandos.
Manejo de Logs.#
Los archivos de logs del servicio de Postfix se encuentran en:
/var/log/
Siempre hay que estar viendo los logs del archivo mail.log por seguridad, como tambin para saber como van nuestro mensaje en cola, enviados, rechazados. Para poder hacer esto tendremos que ejecutar el siguiente comando:
root@server1:log# tail -f /var/log/mail.log
Con esto nos mostrara los ltimos 10 sucesos del archivo y se quedara como en modo monitor para escucha logs de trafico y otros.
Antivirus Clamav#
Clamav es un antivirus que tiene la licencia GPL, y es utilizado en varias plataformas como GNU/Linux, BSD, Solaris, Windows entre otras mas, el propsito principal de esta herramienta es la integracin con los servidores de correo para el escaneo de datos de adjuntos, es un programa analizador en linea de comandos y su actualizacin es automtica desde internet. Permite el escaneo a ficheros comprimidos como zip, rar, tar, gzip, bzip y entre otros. La herramienta clamav tiene dos herramientas importantes: clamscan: Esta herramienta nos permite escanear archivos y directorios en bsqueda de virus para sean eliminados. Freshclam: Herramienta la cual nos permite actualizar nuestro BDs de antivirus, el se conecta por internet para obtener las actualizaciones. Lo que haremos es instalar nuestro antivirus:
root@server1:~# apt-get install clamav
Herramienta clamscan#
Nos permite escanear archivo y directorios en bsqueda de virus o cdigo malicioso. El primer ejemplo sera escanear un archivo, podran ver nos genera una salida informndonos el tiempo del escaneo, cuantos archivo escaneo, cuantos fueron detectados con virus.
root@sroot@server1:~# clamscan junta-200209.txt junta-200209.txt: OK
--- SCAN SUMMARY ----------- Known viruses: 514095 Engine version: 0.92.1 Scanned directories: 0 Scanned files: 1 Infected files: 0 Data scanned: 0.00 MB Time: 4.831 sec (0 m 4 s) root@server1:# }}} Este tipo de escaneo es mas especializado, este comenzara hacer una bsqueda recursiva dentro del home del usuario curso, mostrara un histrico de todo el escaneo de cada archivo y indicara que archivo es el infectado para ser borrado.
root@server1:~# clamscan -irv remove /home/curso Scanning /home/curso/.dmrc Scanning /home/curso/.bash_history Scanning /home/curso/AdobeReader_esp8.1.2_SU1-1.i386.deb Scanning /home/curso/Bash/bash-intro.pdf Scanning /home/curso/Bash/capitulo_2_shell.pdf ............................... ............................... Scanning /home/curso/.mozilla/firefox/profiles.ini
--- SCAN SUMMARY ----------- Known viruses: 514095 Engine version: 0.92.1 Scanned directories: 32 Scanned files: 104 Infected files: 0 Data scanned: 217.33 MB Time: 31.919 sec (0 m 31 s) root@server1:# }}} Pero si no queremos eliminar el archivo infectado lo que podemos hacer es moverlo a un lugar seguro.
root@server1:~# clamscan -irv --move /tmp/infectados/ /home/ curso
Herramienta freshclam#
Esta herramienta nos permite actualizar nuestro antivirus y se conecta a internet.
root@server1:conf.d# freshclam ClamAV update process started at Tue Mar 10 12:50:32 2009 WARNING: Your ClamAV installation is OUTDATED! DON'T PANIC! Read http://www.clamav.net/support/faq Downloading daily-9083.cdiff [100%] Downloading daily-9084.cdiff [100%] }}}
MailScanner.#
MailScanner es una poderosa herramienta para el control de correo electrnico y que nos permite tener una serie de caractersticas que nos permitirn mitigar el problema del correo no deseado, fraudes, gusanos y troyanos, correos mal formados, control de flujos, etc.
Adems de su potencia, MailScanner es una herramienta altamente configurable, pudiendo manejar varios de los ms utilizados MTA en Linux (Ej. Sendmail, Postfix, Exim), motores antivirus (Ej. clamav, clamd, avast, kaspersky, mcafee, etc), descompresin de ficheros (Ej. unrar, gzip, etc), manejo de DNSBL's, filtros heursticos, etc. Este sistema no hace uso de los distintos servicios que se estn ejecutando en segundo plano, sino que los ejecuta como procesos hijo precisamente para tener un mayor control sobre estos. Es decir, sistemas como clamav, spamassassin son configurados directamente en MailScanner, y este se encarga de invocarlos sobre demanda. Esto no interfiere si los servicios estn siendo utilizados por otros sistemas y ya estn siendo ejecutados en segundo plano. La nica excepcin es el MTA, cuyo control debe estar exclusivamente en manos de MailScanner. Para poder instalar MailScanner ejecutamos lo siguiente:
root@server1:~# apt-get install mailscanner
Configuracin MailScanner.#
Los archivos de configuracin de MailScanner se encuentran dentro del directorio:
/etc/MailScanner
Entramos a la ruta en donde se encuentran los archivos de configuracion y hacemos una copia de respaldo del fichero MailScanner.conf.
root@server1:MailScanner# cp MailScanner.conf MailScanner.conf-orig
Este parmetro habilita el usuario de nuestro MTA, actualmente viene comentado y tenemos que descomentarlo y comentar la otra opcin que tenga habilitada
#Run As User = mail Run As User = postfix 1. Run As User = Debian-exim}}}
Este parmetro habilita el grupo de nuestro MTA, actualmente viene comentado y tenemos que descomentarlo y comentar la otra opcin que tenga habilitada
# Group to run as (not normally used for sendmail) 1. Run As Group = mail
En esta opcin indicamos que antivirus queremos usar para el escaneo de los correos. Se pueden tener varios antivirus dentro de este parmetro separados por comas.
Virus Scanners = auto por Virus Scanners = clamav
Configuracin postfix.#
Aadiremos al archivo de configuracin de postfix en /etc/postfix/main.cf.
header_checks = regexp:/etc/postfix/header_checks
Ahora tendremos que descomentar la siguiente linea dentro del archivo de configuracin /etc/default/mailscanner.
root@server1:~# vim /etc/default/mailscanner
run_mailscanner=1
Permisos de MailScanner.#
Tendremos que dar permisos a los siguientes directorios para que el usuario y grupo encargado sea postfix.
root@server1:~# chown -R postfix:postfix /var/spool/MailScanner root@server1:# chown -R postfix:postfix /var/lib/MailScanner root@server1:# chown -R postfix:postfix /var/run/MailScanner root@server1:# chown -R postfix:postfix /var/lock/subsys/MailScanner}}}