Servidor de Correo con dominios virtuales sobre MySQL con Filtrado de SPAM y Virus.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Servidor de Correo con dominios virtuales sobre MySQL con Filtrado de SPAM y Virus."

Transcripción

1 Servidor de Correo con dominios virtuales sobre MySQL con Filtrado de SPAM y Virus. Jorge Armando Medina

2 Servidor de Correo con dominios virtuales sobre MySQL con Filtrado de SPAM y Virus. por Jorge Armando Medina Publicado Copyright Jorge Armando Medina Esta guia describe como configurar un servidor de correo que soporte para múltiples dominios con usuarios locales y virtuales usando Postfix (MTA), MySQL, Courier-IMAP (POP3,IMAP), Maildrop (Delivery Agent and quotas) y Postfix Admin (Administración Web). Tambien cubre algunas decisiones sobre el diseño de la tecnología y opciones de implementación. Todo instalado en un sistema Gentoo GNU/Linux. Se otorga permiso para copiar, distribuir y/o modificar éste documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.2 o cualquier otra posterior publicada por la Fundación de Software Libre; sin secciones invariantes, sin textos en portada y contraportada. Una copia de la licencia se incluye en la sección titulada Licencia de Documentación Libre GNU (GnuCopyright.htm). Historial de revisiones Revisión Revisado por: jam Documento Inicial Revisión Revisado por: jam Extensión para el capitulo de maildrop.

3 Tabla de contenidos 1. Introducción Requerimientos Arquitectura del Sistema Selección del Software Postfix Courier-IMAP MySQL Postfix Admin Squirrelmail Amavisd-new Greylisting con Policyd The Big Picture Localización de los buzones de correo Implementación Prerequisitos Preparando el sistema Unix (Gentoo GNU/Linux) MySQL Configurando el servidor MySQL Postfix Instalando Postfix con soporte para MySQL Configurando Postfix Courier Configuración de el demonio de autenticación (courier-authlib) Configuración de la búsqueda en la base de datos MySQL Configurando los servicio de Courier (IMAP,POP3) Configurando IMAP sobre SSL Apache Configuración de apache2 para soporte PHP y SSL Configuración de un virtual host dedicado a Postfix Admin Configuración de restricciones de acceso y comunicación segura con (mod_ssl) Postfix Admin Instalación base de Postfix Admin Configuración de Postfix Admin Protegiendo la Interfaz de administración de Postfix Admin Modificaciones extras a Postfix Admin para soporte de quotas con maildrop Integración de Filtrado de SPAM y Virus Amavisd-new Instalación y configuración de SpamAssassin y sus plugins Instalando el Antivirus ClamAV Integración y configuración de SpamAssassin y los plugins y clamav con amavisd-new Integrando todo amavisd-new con Postfix Listas Grises (Greylisting)...64 iii

4 5. Administración Administración del sitio Administración de dominios Administración de usuarios Notas sobre la creación de cuentas Notas sobre la eliminación de cuentas Configuración de Clientes de Correo Microsoft Outlook Mozilla Thunderbird Agradecimientos Acerca de el autor Referencias MySQL Postfix Courier-IMAP Maildrop: Gentoo Linux: Postfix Admin: Amavisd-new Extras:...87 iv

5 Capítulo 1. Introducción Esta guia provee las instrucciones de como configurar una solución de correo electrónico integral usando Postfix, MySQL, Courier, y Postfix Admin. También se muestran algunas decisiones sobre el diseño que se tomo para configurar esto después de un par de semanas de investigación. Esta guia pretende documentar todo lo mas claro posible y que sea fácil de entender, claro que para esto se requiere conocimientos básicos de Unix, conocimientos básicos de TCP/IP y sobre los servicios de correo electrónico. La finalidad de el documento es ayudar a los administradores a configurar una solución donde se manejen dominios virtuales vía web, se agreguen y eliminen cuentas de correo, alias, manejo de quotas de los buzones todo vía web, al final esto sera fácil de administrar con tan solo llenar las formas para agregar dominios y cuentas. 1

6 Capítulo 2. Requerimientos Esta no es una lista de requerimientos del sistema, mas bien es la lista de lo que se requiere de una solución de correo electrónico, y lo que se obtendrá con esta implementación. Soporte para envió a usuarios locales, usuarios que tienen una cuenta con shell. Usuarios locales serán capaces de usar maildrop. Soporte de quotas de los buzones de correo. Soporte de re dirección de correo (forwarding). Fácil de integrar con sistemas de correo ya existentes. Acceso a los correos vía IMAP, POP3 y sus versiones sobre SSL Acceso de cuentas virtuales IMAP, por ejemplo. Usuarios que tienen un login IMAP y password, pero no tienen cuenta con shell. Acceso a través de directorios Maildir para usuarios el sistema de archivos local a usuarios con shell. Una interfaz para leer el correo vía web. La habilidad para hospedar múltiples dominios en un solo servidor con una sola dirección IP. Soporte para comunicación cifrada de manera que las contraseñas nunca viajaran como texto plano sobre la red. Soporte para escanear de virus en los correos. Prevención de SPAM. 2

7 Capítulo 3. Arquitectura del Sistema Esta sección describe como fueron usados los servidores y como se integran todos para la solución Selección del Software El porque se llego a la decisión de escoger el software no se explicara, solo basta decir que después de varias semanas de estar probando con varios, y con la experiencia de los años se llego a elegir el software que a continuación de describirá, cabe destacar que la solución sera sobre MySQL y todo este software tiene completo soporte para usar MySQL Postfix Postfix (http://www.postfix.org) es un Agente de Transporte de Correos (MTA por sus siglas en inglés) fue creado por Wietse Venema (http://www.porcupine.org/wietse/) durante su estadía en el Centro de Investigación Thomas J. Watson de IBM, Postfix es software libre y de código abierto, fue creado para ser un mailer rápido, fácil de administrar y seguro, con la intención de ser una alternativa al tan difundido Sendmail (http://www.sendmail.org/) pero siendo lo suficientemente compatible para que los usuarios existentes no lo noten, una de las diferencias entre Postfix y Sendmail es que Postfix es un software modular y no un software monolítico como lo es Sendmail. A continuación mencionare algunas de las características más importantes de Postfix: Soporte en el Protocolo Notificaciones de estado DSN Códigos de Estado mejorados. MIME (incluyendo conversión de 8BITMIME a 7BIT) Pipelining (para cilente y servidor SMTP) Soporte de plugins para multiples implementaciones de SASL (Cyrus, Dovecot) Autenticacion SASL Cifrado y autenticacion TLS Configuracion de el texto de el mensaje para las notificaciones de el estado de envio (DSN) Control de Correo Basura Metodos para probar la existencia de direcciones (callout) Filtro de contenido (incluido, externo antes de la cola, externo despues de la cola) 3

8 Capítulo 3. Arquitectura del Sistema Soporte para el protocolo Sendmail Milter (mail filter) Plugins para listas grises (Greylisting) Plugin SPF Limites para conexiones concurrentes por cilente al servidor SMTP Soportes de bases de datos Soporte base de datos DB Soporte base de datos CDB Soporte base de datos DBM Soporte base de datos LDAP Soporte base de datos MySQL Soporte base de datos PostgreSQL Soporte de buzones (Mailbox) Soporte para los formatos de buzon Maildir y mailbox Soporte Dominios Virtuales Manipulacion de Direcciones. Enmascaramiento para las direcciones para el correo SMTP saliente Reescritura selectiva de direcciones Soporte VERP Para conocer más acerca de la arquitectura de Postfix, ver: Postfix - Architecture Overview (http://www.postfix.org/overview.html) Postfix - the Big Picture (http://www.postfix.org/big-picture.html) Courier-IMAP Courier-IMAP (http://www.courier-mta.org/imap/) es un servidor IMAP rápido y escalable que usa el tipo de buzón Maildir. además tiene soporte para el protocolo POP3 con soporte SSL tanto para IMAP y POP3, también cuanta con soporte para Proxy IMAP y POP3. 4

9 Capítulo 3. Arquitectura del Sistema Courier-IMAP tiene soporte para autenticar a los usuarios en bases de datos MySQL, PostgreSQL, LDAP y PAM. Con este servidor podremos tener soporte para dominios y usuarios virtuales y así tener una completa integración con Postfix. Algunas de las características que provee Courier-IMAP son: Un footprint extremadamente pequeño. En plataformas x86, El demonio principal de Courier-IMAP es una fracción de el tamaño de el servidor UW-IMAP. Usa la biblioteca de autenticación de Courier para autenticar las cuentas de correo. Tiene la capacidad de restringir el numero de máximo de inicios de sesión IMAP, el número máximo de inicios de sesión desde la misma dirección IP. Esto ayuda a prevenir ataques de Denegación de Servicio (DoS) donde el atacante intenta sobrecargar el servidor con múltiples conexiones para iniciar sesión. Soporte para carpetas compartidas. Con configuración adicional de el lado de el servidor, las carpetas pueden ser compartidas entre diferentes grupos de cuentas. IMAP sobre SSL. Si las bibliotecas de OpenSSL son instaladas, Courier-IMAP podrá, opcionalmente, aceptar conexiones IMAP sobre SSL. Tambien es implementada la extensión IMAP STARTTLS. Soporte IPv6, si el sistema operativo lo soporta. Soporte para ordenar y buscar en juegos de caracterices que no sean el Inglés, (Unicode). Un servidor POP3, que soporta los mismos módulos de autenticación. El servidor POP3 solo puede accesar el INBOX, y no puede tener acceso a algún otro directorio/folder. Soporte para un protocolo experimental para acceso a los correos, SMAP. Soporte para Proxy IMAP/POP3. Es posible distribuir todos los buzones de correo entre múltiples servidores. Un servidor por separada ( o un pool de servidores) acepta las conexiones IMAP/POP3, entonces se conecta a el servidor con el buzón basado en la información de la sesión de el cliente MySQL MySQL (http://www.mysql.org/) es un sistema de administración de bases de datos SQL, lo usaremos para almacenar la informacion de los dominios virtuales y sus usuarios Postfix Admin Postfix Admin es una herramienta de Administración Web creada para Postfix. 5

10 Capítulo 3. Arquitectura del Sistema Es una aplicación basada en PHP que maneja Usuarios y Dominios Virtuales estilo Postfix que están almacenados en MySQL. Postfix Admin soporta: Buzones Virtuales (Mailboxes) / Alias Virtuales / Forwarders. Redireccion de Dominio a Dominio / Catch-All. Mensajes de Vacaciones (Respuestas automáticas) para los Buzones Virtuales. Limite de Cuota para Alias y buzones por dominio. Soporte para MX de Respaldo. Soporte para 25 lenguajes. Requerimientos: Postfix 2.0 ó superior. Apache ó superior. PHP 4.1 ó superior. MySQL 3.23.xx ó superior Squirrelmail SquirrelMail es un webmail basado en estándares escrito en PHP4. Incluye código PHP para soporte de los protocolos IMAP y SMTP, todas las paginas son rendereadas en puro HTML 4.0 (sin usar JavaScript) para tener una completa compatibilidad con los diferentes navegadores web. Tiene muy pocos requerimientos y es fácil de instalar y configurar. SquirrelMail tiene todas las funcionalidades que quisieras que tuviera un cliente de correo, incluyendo soporte para MIME, libreta de direcciones, manipulación de carpetas entre muchas cosas. además tiene un gran catalogo de plugins para añadirle mas capacidades a el webmail Amavisd-new Amavisd-new es una interfaz de alto rendimiento entre el mailer (MTA) y analizadores de contenido: Escaners de Virus y/o SpamAssassin, lo usaremos para que cuando llegue un correo a Postfix, este lo envié a el demonio amavisd y escanee el correo por virus y spam. Algunas de las características de amavisd-new son: Los mensajes pueden ser rechazados basados en el tipo MIME o en la extensión de el archivo adjunto. 6

11 Capítulo 3. Arquitectura del Sistema Los mensajes pueden ser escaneados con múltiples antivirus, cuando un mensaje contenga un virus el mensaje puede ser, rechazado, descartado o puesto en cuarentena. SpamAssassin puede ser invocado para analizar por SPAM en el mensaje, el mensaje con SPAM puede ser rechazado, descartado, puesto en cuarentena o marcado como SPAM. Para el escaneo de Virus usaremos a Clam Antivirus (http://www.clamav.net/) (clamav) el cual es un kit de herramientas anti-virus libre con licencia GPL. Clamav tiene las siguientes características, solo mencionare las que son útiles para nuestro entorno: Escáner en la linea de comandos. Un demonio rápido y multi-tareas. Un actualizador de base de datos con soporte de firmas digitales. Actualización de base de datos de virus múltiples veces por día. Soporte integrado para RAR (2.0), Zip, Gzip, Bzip2, Tar, MS OLE2, Archivos MS Cabinet, MS CHM (HTML Comprimido), MS SZDD. Soporte integrado para archivos PE comprimidos con UPX, FSG y Petite. Para el escaneo de SPAM usaremos a SpamAssassin (http://spamassassin.apache.org) (SA), una aplicación Libre para el escaneo de correo, usa una serie patrones locales y en red para identificar SPAM que normalmente los spammers utilizan al enviar mensajes no deseables, además utilizaremos algunos otros plugins para hacer mas robusto nuestro analizador de spam, estos son: Vipul s Razor (http://razor.sourceforge.net/): Es una red distribuida y colaborativa para filtrado y detección de spam. Esta red funciona gracias a la contribución de los usuarios, Razor establece un catalogo distribuido y constantemente actualizado de spam que lo usaremos como plugin para SA. DCC (http://www.rhyolite.com/anti-spam/dcc/) (Distributed Checksum Clearinghouse): DCC también es una red distribuida anti-spam pero esta basada en Checksums. Pyzor (http://pyzor.sourceforge.net/): Pyzor es una red colaborativa de sistemas en red para detectar y bloquear spam utilizando digests de los mensajes. RulesDuJour (http://sandgnat.com/rdj/rules_du_jour): Es un script en bash que nos ayuda a mantener actualizadas nuestras reglas de SA y además nos permite utilizar reglas de terceras personas como las de SARE (http://rulesemporium.com/). 7

12 Capítulo 3. Arquitectura del Sistema Greylisting con Policyd Greylisting es un nuevo método para bloquear cantidades significantes de SPAM a nivel de servidor de correo. Greylisting obtuvo su nombre porque es como una mezcla entre listas blancas (whitelists) y listas negras (blacklists), que son automáticamente mantenidas. Este mantenimiento de las listas es un elemento clave de el método Greylisting. El método Greylisting es muy simple. Están involucradas tres piezas de información (a las cuales nos referiremos de ahora en adelante como "triplet") para cualquier intento de envío de correo: 1. La dirección IP de el host que intenta el envío. 2. La dirección de el remitente. 3. La dirección de el destinatario. Partiendo de esta información, ahora tenemos un único triplet para identificar "la relación" de un correo. Con estos datos, simplemente seguiremos una regla básica, la cual es: Si nunca hemos visto este triplet, entonces Rechazar con un mensaje de falla temporal este envio y cualquier otro que lleguen en cierto periodo de tiempo. Puesto que el protocolo SMTP es considerado como un transporte no confiable, la posibilidad de fallas temporales están incluidas dentro de las especificaciones de el protocolo (ver RFC 821). Así, cualquier Agente de Transporte de Correo (MTA) que siga las especificaciones de el protocolo SMTP deberá de re intentar el envío es que recibe un código de falla temporal apropiado. Implementación de el método de Greylisting en el MTA Postfix usando el plugin policyd (http://policyd.sourceforge.net). Policyd es un plugin anti-spam para Postfix que hace Greylisting, Sender-(envelope, SASL or host/ip)-based throttling (on messages and/or volume per defined time unit), Recipient rate limiting, Spamtrap monitoring / blacklisting, HELO auto blacklisting y prevención de HELO randomization (HRP) The Big Picture La figura 1 muestra como Postfix, Courier, maildrop, MySQL y Postfix Admin interactúan uno con otro. Postfix acepta correo entrante, lo procesa en sus colas y lo entrega a maildrop (MDA) quien consultara el servidor MySQL por la existencia de las cuentas y si están activas buscara el directorio en el sistema de archivos donde guardara el mensaje (también puede hacer algún tipo de filtrado). Courier provee acceso remoto a los buzones Maildir vía los protocolos IMAP y POP3 así como en su versión segura sobre SSL. Necesita tener una lista de usuarios validos y alguna manera de autenticarlos de manera que los usuarios puedan iniciar sesión con su cuenta. También necesita saber donde esta localizado el buzón de la cuenta en el sistema de archivos para que pueda leer los mensajes. 8

13 Capítulo 3. Arquitectura del Sistema La información de los usuarios es leída de la base de datos estándar en Unix. (/etc/passwd) este sistema usar PAM como módulos de autenticación para los servicios SMTP, POP3 e IMAP, los cuales a su vez se autentican contra el servidor MySQL. La información de los usuarios virtuales es almacenada en una base de datos MySQL puesto que MySQL provee mecanismos para buscar usuarios validos, obtener información de los usuarios y autenticar usuarios. Esta es la información que usa Postfix, Courier, y maildrop Postfix Admin es la interfaz web, la cual guarda información en dicha base de datos en MySQL usando php-mysql. FIGURA Localización de los buzones de correo La localización de los buzones de los usuarios locales se manejara dentro de el directorio $HOME de un usuario Unix llamado vmail, Postfix y Courier tiene soporte para buscar la información de los usuarios virtuales en la base de datos MySQL, Cada dominio virtual tiene un subdirectorio dentro del directorio /home/vmail/dominios/. Por ejemplo, si hay un usuario el correo seria almacenado en /home/vmail/dominios/tuxjm.net/jmedina/ en formato Maildir. 9

14 Esta sección describe como implementar la solución de correo virtual. No todos los detalles con cubiertos, solo lo que es necesario, para mas información ver al final del documento las referencias Prerequisitos Esta es la lista de software, con sus números de versión, con la que se configuro este sistema: Software Gentoo Base System version (2006.0) Postfix MySQL r1 courier-authlib 0.58 Courier-IMAP Maildrop r1 Postfix Admin Preparando el sistema Unix (Gentoo GNU/Linux) Se creara un usuario y grupo llamado vmail con su directorio $HOME en /home/vmail/ que es donde se almacenaran los buzones de los usuarios. Este usuario y grupo tendrán el mismo UID y GID 5000 se uso un numero alto para no interferir con las cuentas locales. # groupadd -g 5000 vmail # useradd -g u m -d /home/vmail vmail Crear directorio donde estarán almacenados los correos de los dominios: # su - vmail $ mkdir dominios Crear directorio para el dominio principal: $ mkdir -p /home/vmail/dominios/tuxjm.net 10

15 4.3. MySQL Capítulo 4. Implementación Con las USE flags que se definieron en el archivo /etc/make.conf de manera predeterminada se tiene soporte para MySQL, por lo que todo el software que se instale de ahora en adelante se instalara por default con el use flag de MySQL a menos que se le indique lo contrario de manera explicita. Instalaremos el servidor MySQL así: # emerge dev-db/mysql Después de instalar nos pide que configuremos la base de el servidor MySQL, para crear la base de datos que mantiene los usuarios y sus privilegios, esto se hace así: # emerge --config =dev-db/mysql r1 NOTA: Cambiar la versión por la que hayas instalado Configurando el servidor MySQL En Gentoo el servidor MySQL es controlado mediante el archivo de configuración /etc/mysql/my.cnf Nos aseguraremos que el servidor use el socket TCP/IP y que solo escuche peticiones en el localhost. Esto esta controlado con los parámetros: # vim /etc/mysql/my.cnf # skip-networking bind-address = :wq Si la configuración ya estaba así entonces dejarlo así y solo iniciar el servidor MySQL, si no modificar las lineas para que queden tal y como se muestra arriba y re iniciar el servidor MySQL así: # /etc/init.d/mysql start Necesitaremos que el servidor MySQL inicie automáticamente cuando el servidor arranque, esto lo hacemos con el siguiente comando: # rc-update add mysql default * mysql added to runlevel default 11

16 Agregando las bases de datos. Como se menciono arriba todos los servicios: Postfix, courier-authlib, maildrop y Postfix Admin leen la información de los usuarios y dominios virtuales desde una base de datos MySQL, entonces lo que tendremos que hacer es crear una base de datos donde almacenaremos esta información requerida. El paquete postfixadmin tgz contiene un archivo que contiene todas las instrucciones para crear la base de datos para los correos y también los permisos requeridos, entonces bajaremos el paquete así: # cd /root # wget # tar -zxvf postfixadmin tgz # cd postfixadmin Dentro de el directorio postfixadmin se encuentra el archivo DATABASE_MYSQL.TXT el cual es la estructura completa para la base de datos para Postfix Admin y también contiene todas las instrucciones para hacer lo siguiente: Agrega dos entradas en la base de datos para la tabla user una usada para Postfix en sus archivos de configuración y otra para los accesos vía web para Postfix Admin, la ultima para crear los usuarios administradores de dominio. Por default el archivo de la estructura crea el usuario postfix y contraseña: postfix y Tambien el usuario postfixadmin con contraseña: postfixadmin. Si deseas cambiar las contraseñas antes de instalar la base de datos puedes editar el archivo DATABASE_MYSQL.TXT y editar las lineas: INSERT INTO user (Host, User, Password) VALUES ( localhost, postfix,password( postfix )); y INSERT INTO user (Host, User, Password) VALUES ( localhost, postfixadmin,password( postfixadmin )); Cuando se tenga listo para agregar la base de datos haremos esto: # mysql -u root -p < DATABASE_MYSQL.TXT Comprobamos que todo se haya hecho bien: # mysql -u root -p Enter password: 12

17 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1141 to server version: log Type help; or \h for help. Type \c to clear the buffer. mysql> show databases; Database information_schema mysql postfix rows in set (0.08 sec) mysql> use postfix; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; Tables_in_postfix admin alias domain domain_admins log mailbox vacation rows in set (0.00 sec) mysql> exit Bye Capítulo 4. Implementación 4.4. Postfix La configuración de Postfix se encuentra en el archivo de configuración /etc/postfix/mail.cf 13

18 Instalando Postfix con soporte para MySQL Capítulo 4. Implementación Si esta instalado ssmtp este bloqueara a Postfix, entonces hay que desinstalarlo: # emerge --pretend postfix [blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix ) # emerge unmerge ssmtp # emerge --pretend postfix These are the packages that I would merge, in order: Calculating dependencies...done! [ebuild N ] sys-libs/db _p4-r2 [ebuild N ] dev-libs/libpcre-6.6 [ebuild N ] mail-mta/postfix Ahora si instalar postfix y con soporte para MySQL y SASL. En el archivo /etc/portage/package.use agregar al final estas lineas: mail-mta/postfix mysql pam sasl ssl -cdb -hardened -ipv6 -ldap -mailwrapper -mbox -nis -postgres (-selinux) -vda ***UNA SOLA LINEA*** net-mail/courier-imap fam net-libs/courier-authlib mysql Y ahora instalaremos postfix a su vez por los flags instalara la biblioteca cyrus-sasl con soporte authdaemond y mysql, Tambien instalaremos courier-authlib con mysql, instalaremos courier-imap con soporte de fam: # emerge postfix Configurando Postfix Configurar parámetros básicos de Postfix, por ahora sin soporte para MySQL: # vim /etc/postfix/main.cf # El nombre de host de nuestro sistema de correo, por default usa # FQDN de gethostname(), checar: # hostname -f myhostname = mail.tuxjm.net # Configurar las interfaces de red en la que escuchara peticiones inet_interfaces = all 14

19 # Desactivar el uso de el comando SMTP VRFY disable_vrfy_command = yes # Dominios en los cuales recibe correo NO LISTAR DOMINIOS VIRTUALES mydestination = $myhostname, localhost.$mydomain, localhost # The time after which the sender receives the message headers # of mail that is still queued. delay_warning_time = 3h # tiempo máximo que puede estar un correo en una cola # 8 horas antes de que sea regresado como undeliverable maximal_queue_lifetime = 8h :wq Maildrop Instalaremos y configuraremos Courier maildrop, este sera usado como MDA (Mail Delivery Agent) el cual es el encargado de llevar el correo a su localización final, puede hacer filtrado antes de entregar el correo y además maneja quotas de los buzones de correo (Maildir). Le activaremos el USE flag de mysql el cual activara el activara soporte para usar authlib. # echo "mail-filter/maildrop berkdb gdbm mysql -authlib -debug -fam \ -ldap -postgres" >> /etc/portage/package.use Ahora instalamos maildrop, así: # emerge mail-filter/maildrop Verifiquemos que maildrop se compilo con soporte para Courier Authlib y Quotas de Maildir # maildrop -v maildrop Copyright Double Precision, Inc. GDBM extensions enabled. Courier Authentication Library extension enabled. Maildir quota extension enabled. This program is distributed under the terms of the GNU General Public License. See COPYING for additional information. Maildrop tiene un archivo de configuración global, es /etc/maildroprc el cual por default tiene todo comentado, sin embargo, podemos usar archivos de filtrado por usuario Unix y por usuario virtual, mas adelante veremos como configurarlos para nuestro entorno de usuarios virtuales. Ya que todos los buzones de nuestros usuarios virtuales están bajo el $HOME de el usuario vmail, entonces usaremos este como base para la configuración de maildrop y los usuarios virtuales. 15

20 Maildrop maneja variables de entorno para referirse a algunos argumentos y rutas a los buzones de los usuarios, les explicare algunas de las que usaremos: HOME = /home/vmail/dominios esto es lo mismo que tenemos en virtual_mailbox_base en /etc/postfix/main.cf. Esta variable define nuestra base para la configuración de usuarios y dominios virtuales. DEFAULT = dominio.tld/username/ Ruta relativa a $HOME para el buzón de el usuario, esto es lo mismo que se tiene definido en el campo maildir de la tabla mailbox, ya que es un Maildir entonces llevara al fina una "/" LOGNAME = El nombre de el buzon/destinatario del correo. Bien, como se comento antes se pueden usar archivos de configuración y filtrado para maildrop por usuario, entonces usaremos uno base para nuestros usuarios virtuales y este podrá hacer una inclusión a archivos de configuración y filtrado para cada uno de los usuarios virtuales. Crearemos un archivo.mailfilter dentro de /home/vmail/dominios/ este archivo debe de pertenecer a vmail:vmail y tener permisos solo para el usuario vmail y nadie mas, con 600 es suficiente. # touch /home/vmail/dominios/.mailfilter # chown vmail:vmail /home/vmail/dominios/.mailfilter # chmod 600 /home/vmail/dominios/.mailfilter El archivo /home/vmail/dominios/.mailfilter tendrá el siguiente contenido: # GLOBAL VARIABLES # HOME=/home/vmail/dominios # DEFAULT=dominio.tld/username/ # # Log everything to this file logfile "/home/vmail/maildrop.log" # LOG BEGIN OF FILTERING log "==== BEGIN maildrop processing for $LOGNAME ===" exception { log "Including $HOME/$DEFAULT.mailfilter" include "$HOME/$DEFAULT.mailfilter" } 16

21 En este archivo las lineas que inician con "#" son comentarios, les explicare que es cada linea: logfile: Esta linea indica en que archivo registrar los eventos de maildrop. log: Toda linea que inicie con log enviara a logfile todo lo que incluya se pueden agregar variables de entorno usando $VARIABLE por ejemplo ahí agregamos un encabezado cuando empieza a hacer el procesamiento para un buzón. exception: aquí también hace un log y además hace include a $HOME/$DEFAULT.mailfilter lo que se traduce a: /home/vmail/dominios/dominio.tld/username/ y de ahí leerá y procesara las instrucciones en el archivo.mailfilter que tendrá instrucciones de filtrado para ese usuario. Cuando todo este funcionando correctamente se podrán comentar las lineas de log para que para que nuestro archivo maildrop.log no crezca excesivamente. Por ahora la parte de configuración del mismo maildrop esta completa, ahora lo que sigue es decirle a Postfix que use a maildrop como transporte para enviar el correo. Usando maildrop dentro de Postfix Dentro de nuestro archivo /etc/postfix/main.cf tenemos la directiva virtual_transport = virtual la cual dice que usara a el agente de envío de correo para dominios virtuales de Postfix - virtual (8). Ya que ahora usaremos a maildrop como MDA entonces cambiaremos la linea a: virtual_transport = maildrop Tambien agregaremos las siguientes lineas: maildrop_destination_concurrency_limit = 1 maildrop_destination_recipient_limit = 1 unknown_maildrop_mailbox_reject_code = 450 Estas ultimas lineas son para que Postfix le envíe los correos a maildrop de uno en uno, ya que así es como debe de procesarlos. Ahora agregaremos el transporte maildrop a el archivo /etc/postfix/main.cf maildrop unix - n n - - pipe flags=drhu user=vmail argv=/usr/bin/maildrop -w 90 -d ${recipient} Es posible que unas lineas como esas ya existan, si ya esta solo hay que modificarla para que quede como esta. Aquí agregamos el transporte llamado maildrop que sera de tipo socket Unix, además correrá 17

22 con los privilegios de el usuario vmail, el argumento -w 90 le dice a maildrop que envíe una alerta de: cuota de buzón excedida a el usuario, cuando este haya llegado a un 90% de su limite. La alerta que se comento arriba es una copia de el archivo /etc/quotawarnmsg, por lo que deberías de personalizarla antes de usarla. Editar mensaje de alerta de sobre quota. # vim /etc/quotawarnmsg X-Comment: Rename/Copy this file to quotawarnmsg, and make appropriate changes X-Comment: See deliverquota man page for more information From: Mail Delivery System Reply-To: To: Valued Customer:; Subject: Mail quota warning Mime-Version: 1.0 Content-Type: text/plain; charset=iso Content-Transfer-Encoding: 7bit Your mailbox on the server is now more than 90% full. So that you can continue to receive mail you need to remove some messages from your mailbox. :wq Después de que se edito la parte de Postfix entonces esta listo para usarse, deberemos de re iniciar Para que tomen efecto los cambios. Re iniciar Postfix: # /etc/init.d/postfix restart Si al re iniciar Postfix no hubo algún error entonces veremos los logs, enviaremos un correo desde el exterior a alguna cuenta de nuestro servidor de correo y veremos como lo procesa: ==> mail.log <== Dec 26 02:43:47 mail postfix/pipe[20780]: C8B12C0B66: relay=maildrop, delay=1, status=sent (tuxjm.net) Dec 26 02:43:47 mail postfix/qmgr[10277]: C8B12C0B66: removed Como vemos en el log dice que ahora uso al relay maildrop lo cual nos indica que ya esta usándolo y lo envió satisfactoriamente a el buzón de jmedina. También podemos ver el log de maildrop, como vimos arriba le dijimos que registre en /home/vmail/maildrop.log. ==== BEGIN maildrop processing for === Including /home/vmail/dominios/tuxjm.net/jmedina/.mailfilter Processing per user filters for: 18

23 Date: Tue Dec 26 02:43: From: "Jorge Armando Medina" Subj: Prueba usando maildrop como MDA. File: tuxjm.net/jmedina/ (2391) NOTAS IMPORTANTES SOBRE LA CREACIÓN DE CUENTAS Y BUZONES. Cuando se usa maildrop como MDA y se envía un correo a algún buzón, el correo no se entregara a menos que exista previamente el Maildir, si se crea un nuevo usuario maildrop no creara el Maildir por si mismo, como lo hacia el MDA virtual, por lo que tendremos que crear un procedimiento para que cuando se cree una cuenta de correo se envíe un correo de bienvenida y en ese momento en que se recibe el correo de bienvenida se cree automáticamente el Maildir para el nuevo usuario. Podemos decirle a el archivo /home/vmail/dominios/.mailfilter que ejecute algunos comandos para que revise si existe el directorio de el dominio y si existe entonces revise si existe el maildir del usuario, además que cree los directorios Trash y Sent para ser usado con IMAP y además suscriba los directorios automáticamente, agregaremos esto a nuestro archivo.mailfilter. # Ruta al /home/vmail/domains VHOME="/home/vmail/dominios" # Extrae solo el username de ACCOUNT= echo "$LOGNAME" cut -f1 # Extrae solo el dominio.tld de USERDOMAIN= echo "$LOGNAME" cut -f2 # Logea todo a la ruta especificada. VMAIL_LOGFILE="/home/vmail/maildrop-maildirmake.log" # Ruta a maildirmake MAILDIRMAKE=/usr/bin/maildirmake # Revisar si existe /home/vmail/dominio.tld/username test -d "$VHOME/$USERDOMAIN/$ACCOUNT" if( $RETURNCODE == 1 ) { MESSAGE_DATE = date # Registra la fecha actual de la creacion del Maildir en el maildrop.log echo CREATION DATE: "$MESSAGE_DATE" >> $VMAIL_LOGFILE # Registra la ruta absoluta de el nuevo maildir en el maildrop.log echo DIRECTORY: "$VHOME/$USERDOMAIN/$ACCOUNT" >> $VMAIL_LOGFILE # Registra el a el maildrop.log echo USER LOGIN: "$LOGNAME" >> $VMAIL_LOGFILE # Registra la quota de el usuario en el maildrop.log # echo USER QUOTA SIZE: "$MAILDIRQUOTA" >> $VMAIL_LOGFILE # Agrega una linea en blanco como separadar a el maildrop.log echo " " >> $VMAIL_LOGFILE # Revisa si existe el directorio de el dominio /home/vmail/dominio.tld test -d "$VHOME/$USERDOMAIN" if( $RETURNCODE == 1 ) { # Registra la fecha de creacion de el directorio del dominio 19

24 } # al maildrop.log echo CREATING DIRECTORY: "$VHOME/$USERDOMAIN" >> $VMAIL_LOGFILE # Crea el directorio para dominio.tld mkdir -p "$VHOME/$USERDOMAIN" # Agrega una linea en blanco como separador a el maildrop.log echo " " >> $VMAIL_LOGFILE } # Crea el directorio para el username $MAILDIRMAKE "$VHOME/$USERDOMAIN/$ACCOUNT" # Crea el directorio Sent dentro del el maildir de username $MAILDIRMAKE -f Sent "$VHOME/$USERDOMAIN/$ACCOUNT" # Agrega el directorio Sent dentro de los directorios sucritos de username echo INBOX.Sent >> $VHOME/$USERDOMAIN/$ACCOUNT/courierimapsubscribed # Crea el directorio Trash dentro del el maildir de username $MAILDIRMAKE -f Trash "$VHOME/$USERDOMAIN/$ACCOUNT" # Agrega el directorio Trash dentro de los directorios sucritos de username echo INBOX.Trash >> $VHOME/$USERDOMAIN/$ACCOUNT/courierimapsubscribed # Agrega el tamaño de quota al maildir de username # $MAILDIRMAKE -q "$MAILDIRQUOTA"S "$VHOME/$USERDOMAIN/$ACCOUNT" # Crea el archivo courierimapuiddb dentro de el maildir de username touch $VHOME/$USERDOMAIN/$ACCOUNT/courierimapuiddb # Crea el directorio courierimapkeywords dentro de el maildir de username mkdir -p "$VHOME/$USERDOMAIN/$ACCOUNT/courierimapkeywords" Supongamos que creamos una cuenta de correo nueva y se envió automáticamente el mensaje de Bienvenida, en ese momento al recibir el correo maildrop, este ejecutara las instrucciones de arriba y creara el buzón para el usuario nuevo. ==> maildrop-maildirmake.log <== CREATION DATE: Sun Dec 24 06:35:42 EST DIRECTORY: /home/vmail/dominios/tuxjm.net/test USER LOGIN: Lo comprobamos: # ls -l /home/vmail/dominios/tuxjm.net/test/ total xx drwx vmail vmail 4096 Dec 24 06:50 courierimapkeywords -rw-r--r-- 1 vmail vmail 47 Dec 24 05:35 courierimapsubscribed -rw-r--r-- 1 vmail vmail 217 Dec 24 19:24 courierimapuiddb drwx vmail vmail 4096 Dec 24 06:51 cur drwx vmail vmail 4096 Dec 26 02:43 new drwx vmail vmail 4096 Dec 26 02:43 tmp 20

25 Configurando las fuentes MySQL Debemos de decirle a postfix donde encontrar los datos sobre los dominios virtuales, los usuarios virtuales, los alias, para esto le indicaremos que tipo de base de datos leer, el nombre de la tabla y los campos donde se encuentran los datos, estas fuentes las especificaremos en unos archivos extras. Para ejemplos y detalles ver: Globales No información global por el momento Transportes La primer definición de la fuente MySQL que usaremos es la de transport, la cual define el transporte para los dominios. Postfix usa el transporte para determinar que sigue hacer con los correos una vez recibidos. Para nuestro propósito siempre utilizaremos el MDA maildrop por las razones que se especificaron anteriormente. Sin embargo también podría ser usado el transporte "virtual". Definiendo el archivo de los transportes /etc/postfix/mysql_virtual_transport_maps.cf # cat mysql_virtual_transport_maps.cf user = postfix password = postfix hosts = localhost dbname = postfix query = SELECT transport FROM domain WHERE domain= %s En este caso el transporte se almacenara en el campo transport de la base de datos domain. Comprobaremos que haga bien la consulta: # postmap -q tuxjm.net mysql:/etc/postfix/mysql_virtual_transport_maps.cf virtual Aliases # cat mysql_virtual_alias_maps.cf 21

26 user = postfix password = postfix hosts = localhost dbname = postfix query = SELECT goto FROM alias WHERE address= %s AND active = 1 Capítulo 4. Implementación En este caso la dirección de destino para un alias se almacena en el campo goto de la tabla alias y revisaremos que este activo, esto se usa como una dirección de correo alternativa en la cual también una cuenta puede recibir correos. Tambien se puede usar para re dirección el correo que llegue a una cuenta por ejemplo a el correo en otro dominio o usar el de otra persona, útil cuando si el usuario sale de vacaciones, así se desea que alguien mas pueda recibir el correo Dominios Virtuales en los que recibe correo Le diremos a postfix en que dominios virtuales recibe correos. Esto se define en el archivo /etc/postfix/mysql_virtual_domains_maps.cf # cat mysql_virtual_domains_maps.cf user = postfix password = postfix hosts = localhost dbname = postfix query = SELECT domain FROM domain WHERE domain= %s #optional query to use when relaying for backup MX #query = SELECT domain FROM domain WHERE domain= %s # and backupmx = 0 and active = 1 Comprobamos que haga bien la consulta: # postmap -q tuxjm.net mysql:/etc/postfix/mysql_virtual_domains_maps.cf tuxjm.net Cuentas de correo # cat mysql_virtual_mailbox_maps.cf user = postfix password = postfix hosts = localhost dbname = postfix query = SELECT maildir FROM mailbox WHERE username= %s AND active = 1 En este caso se usa el filtro para buscar el nombre de el correo (username), y que este activa en la tabla mailbox. El resultado que buscaremos es maildir, el cual es la ruta en el sistema de archivos de el buzón de correo. Esta es la fuente MySQL mas usada porque es aquí donde residen las cuentas de correo. 22

27 Uno de los "side effects" de la naturaleza modular de Postfix es que una segunda fuente MySQL para las cuentas es necesitada para ayudar a Postfix a determinar si una dirección de correo es valida antes de que Postfix intente recibir el correo. Entonces se usa la fuente MySQL definida en el archivo /etc/postfix/mysql_virtual_alias_maps.cf en la cual el campo que se busca es la dirección de el correo electrónico. # cat mysql_virtual_alias_maps.cf user = postfix password = postfix hosts = localhost dbname = postfix query = SELECT goto FROM alias WHERE address= %s AND active = El mapa de transportes Ahora que la fuente MySQL "transport" esta definida, necesitamos hacer que postfix este al tanto de ella. Esto usando los parámetros "transport_maps" en /etc/postfix/main.cf. transport_maps = mysql:/etc/postfix/mysql_virtual_transport_maps.cf Los alias virtuales (virtual_alias_maps) Ahora que la fuente MySQL para los aliases, y la de las cuentas se han definido, necesitamos hacer que postfix sepa de ellos. Esto se hace usando el parámetro "virtual_maps" en /etc/postfix/main.cf. virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf Las cuentas virtuales Decirle a Postfix acerca de las cuentas virtuales se hace de una manera diferente a como se hizo con los alias y los transportes. Para esto se definirán un poco mas de parámetros, unos específicos para el almacenamiento de el correo virtual. Para este ejemplo asumimos que se creo el usuario y grupo Unix vmail con el UID de 5000 y GID de 5000, y su directorio HOME es /home/vmail. Usaremos el directorio home de el usuario vmail como el lugar donde almacenaremos nuestro repositorio de correo virtual. virtual_mailbox_base = /home/vmail/dominios virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_minimum_uid =

28 virtual_mailbox_limit = Los dos primeros parámetros se usan para decirle donde esta la base de el repositorio de los correos virtuales y los dominios virtuales. y la otra para decirle cual es la fuente MySQL donde buscaremos la ruta de el buzón de el correo, recordemos que en la en el archivo /etc/postfix/mysql_virtual_mailbox_maps.cf se obtiene como parámetro maildir. Las siguientes configuraciones se usan para definir el UID y GID de el usuario vmail, y el parámetro "virtual_minimum_uid" significa que UID mínimos a el 5000 serán rechazados y el mensaje sera "deferred". Todos estos parámetros están completamente documentados en los archivos README_FILES/VIRTUAL_README[16] que vienen con las fuentes de Postfix. También necesitamos editar el parámetro "local_recipient_maps" para que también busque en "virtual_mailbox_maps" de manera que Postfix sepa quien es un usuario en el servidor de correo y quien no. La razón por la que hacemos esto es para que Postfix rechace correo para usuarios desconocidos. Anteriormente se configuro así: También usaremos el parámetro: show_user_unknown_table_name = no Con esto hacemos que postfix no muestre en el mensaje de rechazo en que tabla no encontró la cuenta de correo. Por ultimo hay que iniciar el servicio Postfix así: # /etc/init.d/postfix start Para que el servicio de postfix sea iniciado al arranque del sistema ejecutar el siguiente comando: # rc-update add postfix default * postfix added to runlevel default * rc-update complete SMTP Autenticado (SMTP-AUTH) Si requieres que los usuarios puedan enviar correo (RELAY) desde fuera de tu red local, por ejemplo de alguna sucursal, o agentes de ventas que están constantemente viajando, y no sabes que dirección IP están usando o cambia constantemente y además quieres tener mas control sobre quien envía correo por tu servidor, entonces la solución es usar SMTP Autenticado (SMTP-AUTH). Con SMTP-AUTH se configura el MTA (Postfix) para que cuando se establezca una conexión con el servidor smtpd el usuario primero se autentique con su usuario ( ) y contraseña antes de que pueda enviar correos, si el usuario se autentica satisfactoriamente, es decir, el usuario y la contraseña que se suministran son validas entonces el usuario podrá enviar correo por medio de el servidor. Básicamente esa es la función de SMTP-AUTH. 24

29 Para configurar SMTP-AUTH en Postfix se usara la autenticación buscando la información de el login (usuario/contraseña) en la base de datos MySQL, para esto usaremos las bibliotecas SASL de cyrus-sasl y usaremos el demonio de autenticación saslauthd. Instalar y configurar cyrus-sasl con soporte de authdaemond (se instalar al mismo tiempo courier-imap-authlib y courier-imapd: Primero agregaremos las USE Flags para que cyrus-sasl tenga soporte para autenticar a los usuarios mediante authdaemon, esto lo hacemos agregando las use flags al archivo /etc/portage/package.use, así: # echo "dev-libs/cyrus-sasl authdaemond mysql" > /etc/portage/package.use Ya que al instalar cyrus-sasl con soporte authdaemond se instalara courier-authlib, aprovecharemos para configurar sus USE Flags, le agregaremos soporte para FAM. # echo "net-mail/courier-imap fam" > /etc/portage/package.use Ahora lo instalamos el paquete, así: # emerge dev-libs/cyrus-sasl Configurar el demonio saslauthd, los parámetros que usara al iniciar el demonio son tomados de el archivo de configuración: /etc/conf.d/saslauthd, lo editamos como se muestra abajo: # vim /etc/conf.d/saslauthd SASLAUTHD_OPTS="" SASLAUTHD_OPTS="${SASLAUTH_MECH} -a rimap -r" SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost" :wq Aquí usamos el método de autenticación rimap con la opción -a rimap lo cual le dice al demonio saslauthd que se conecte a un servidor IMAP remoto y que suministre la información de el usuario para hacer la autenticación, el servidor remoto se especifica con: -O localhost. Iniciar el servicio saslauthd así: # /etc/init.d/saslauthd start Para que el servicio de saslauthd sea iniciado al arranque del sistema ejecutar el siguiente comando: # rc-update add saslauthd default Configuración de Cyrus-SASL para soporte de SMTP autenticado para Postfix: 25

30 # vim /etc/sasl2/smtpd.conf pwcheck_method:saslauthd mech_list: plain login :wq En esta configuración le decimos que las bibliotecas cyrus-sasl usen como método de autenticación al demonio saslauthd, y que use como mecanismos de autenticación plain y login. Para activar el soporte SASL en el servidor SMTP de Postfix, editaremos el archivo de configuración de postfix /etc/postfix/main.cf # vim /etc/postfix/main.cf # BEGIN SMTP-AUTH SASL CONFIG smtpd_sasl_auth_enable = yes smtpd_sasl_application_name = smtpd smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = # END SMTP-AUTH SASL CONFIG :wq Explicación de los parámetros y valores usados: smtpd_sasl_auth_enable = yes Esta linea activa el soporte SASL para el servidor SMTP de Postfix ya que no esta activa de manera predeterminada. smtpd_sasl_application_name = smtpd El nombre de la aplicación SASL. Esto controla el nombre de el archivo de configuración para SASL, el valor predeterminado es smtpd, lo que corresponde al archivo de configuración smtpd.conf smtpd_sasl_security_options = noanonymous Especificamos que mecanismos de autenticación el servidor SMTP de Postfix ofrecerá a los clientes. Con esta configuración el servidor SMTP de Postfix acepta contraseñas en texto plano pero no acepta inicios de sesión anónimos. smtpd_sasl_local_domain = Especificamos el nombre de el REALM para la autenticación local SASL, lo dejamos vacío ya que hospedaremos varios dominios. 26

31 broken_sasl_auth_clients = yes Activamos inter-operatibilidad para clientes SMTP que tienen una implementación obsoleta de el comando AUTH. (RFC 2553) como clientes Microsoft Outlook Express versión 4 y Microsoft Exchange versión 5.0. Estos clientes esperan que el servidor SMTP responda al comando EHLO con: "250 AUTH=stuff" en lugar de "250 AUTH stuff" Para permitir que los clientes smtp correctamente autenticados puedan hacer relay por el servidor, agregamos una regla mas a nuestras restricciones. vim /etc/postfix/main.cf # RECIPIENT RESTRICTIONS smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination :wq Re iniciar postfix para que tome los cambios y soporte SMTP-AUTH: # /etc/init.d/postfix restart Probando que la configuración de autenticación entre SASL y la información almacenada en MySQL funcione: # testsaslauthd -u -p secret 0: OK "Success." Si la prueba se hace satisfactoriamente entonces debes de recibir el mensaje: 0: OK "Success.", si no fue así entonces volver a revisar las configuraciones. Probando la autenticación SMTP, ahora haremos una prueba de autenticación real mediante comandos SMTP: Tu $ telnet mail.tuxjm.net 25 ehlo test.tuxjm.net Servidor SMTP 220 mail.tuxjm.net ESMTP Postfix (Gentoo GNU/Linux) 250-mail.tuxjm.net 250-PIPELINING 250-SIZE ETRN 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME 27

32 Tu AUTH PLAIN am1lzgluyqbqbwvkaw5hade5njnwyxnz Servidor SMTP quit Servidor SMTP 235 Authentication successful 221 Bye Aquí se muestra la conversación completa: $ telnet mail.tuxjm.net 25 Trying Connected to mail.tuxjm.net. Escape character is ^]. 220 mail.tuxjm.net ESMTP Postfix (Gentoo GNU/Linux) ehlo test.tuxjm.net 250-mail.tuxjm.net 250-PIPELINING 250-SIZE ETRN 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME AUTH PLAIN am1lzgluyqbqbwvkaw5hade5njnwyxnz 235 Authentication successful quit 221 Bye Connection closed by foreign host. En la conversación de arriba los comandos suministrados por el cliente están marcados en negro y lo demás es lo que responde el servidor SMTP. Cuando hagas tus pruebas, en lugar de poner am1lzgluyqbqbwvkaw5hade5njnwyxnz ponla forma codificada en base64 de: username\0000username\0000password (el \000 es un byte nulo). El ejemplo de arriba es para el nombre de usuario jmedina y la contraseña 1963pass. Para poder generar la información de autenticación codificada en base64 podemos usar cualquiera de los siguientes dos comandos: $ printf jmedina\000jmedina\ pass mimencode am1lzgluyqbqbwvkaw5hade5njnwyxnz $ perl -w -MMIME::Base64 -e print encode_base64("jmedina\000jmedina\ pass"); am1lzgluyqbqbwvkaw5hade5njnwyxnz El comando mimencode es parte de el software metamail. MIME::Base64 esta disponible desde 28

33 Precaución: cuando publiquen logs de las negociaciones SASL en listas publicas o en chats, mantengan en mente que la información de el usuario y la contraseña es trivial de recuperar en la forma codificada base64. por ejemplo: $ perl -w -MMIME::Base64 -e print decode_base64("am1lzgluyqbqbwvkaw5hade5njnwyxnz"); jmedinajmedina1963pass Más documentación sobre Postfix/SASL se puede ver en el README Courier Courier Configuración de el demonio de autenticación (courier-authlib) Con las USE flags que se definieron en el archivo /etc/make.conf por default se tiene soporte para MySQL, por lo que los programas Courier se instalaron con soporte para MySQL. Courier-IMAP fue previamente instalado en el capitulo: SMTP Autenticado (SMTP-AUTH) Los servicios de Courier como courier-imapd y courier-pop3d usan el demonio de autenticación courier-authlib, su configuración global esta en el archivo de configuración /etc/courier/authlib/authdaemonrc. En este archivo se definen parámetros globales para el demonio de autenticación, aquí se definen los módulos que podrá usar para la autenticación, en nuestro caso el primero sera para MySQL, esto se define en el parámetro authmodulelist. Editamos el archivo de configuración /etc/courier/authlib/authdaemonrc y cambiamos el valor de el parámetro authmodulelist. # vim /etc/courier/authlib/authdaemonrc authmodulelist="authmysql" 29

34 Configuración de la búsqueda en la base de datos MySQL Los parámetros MySQL para courier-authlib están definidos en el archivo de configuración: /etc/courier/authlib/authmysqlrc. La mayoría de los parámetros son por si solo explicados, lo que si tendremos que configurar es que use los datos de nuestro base de datos MySQL y que use los UID/GID de el usuario vmail. Este es un resumen de los parámetros que configuraremos: # vim /etc/courier/authlib/authmysqlrc MYSQL_CRYPT_PWFIELD password MYSQL_DATABASE postfix MYSQL_GID_FIELD 5000 MYSQL_HOME_FIELD /home/vmail/dominios MYSQL_LOGIN_FIELD username MYSQL_MAILDIR_FIELD maildir MYSQL_NAME_FIELD name MYSQL_OPT 0 MYSQL_PASSWORD postfix MYSQL_SERVER localhost MYSQL_UID_FIELD 5000 MYSQL_USERNAME postfix MYSQL_USER_TABLE mailbox :wq Para que el servicio de courier-authlib sea iniciado al arranque del sistema ejecutar el siguiente comando: # rc-update add courier-authlib default * courier-authlib added to runlevel default * rc-update complete. Iniciar el servicio courier-authlib así: # /etc/init.d/courier-authlib start Configurando los servicio de Courier (IMAP,POP3) Ahora que el servicio de autenticación esta configurado e iniciado, entonces tendremos que configurar los servicios IMAP y POP3. Primero courier-imapd. El archivo de configuración de el servicio courier-imapd es: /etc/courier-imap/imapd. 30

35 La mayoría de los parámetros por default son suficientes, nosotros solo cambiaremos algunos, por ejemplo: El máximo numero de conexiones que se aceptaran de una misma dirección IP, en nuestro caso como se manejan varias sucursales y en estas hay aproximadamente 20 cuentas de correo por sucursal, entonces subiremos este parámetro de su valor predeterminado de 4 a 20 (debes cambiarlo según tus necesidades). MAXPERIP=20 También cambiaremos la variable de el directorio Maildir que usaremos, esto se encuentra al final de el archivo de configuración, lo cambiaremos para que quede así: ##NAME: MAILDIRPATH:0 # # MAILDIRPATH - directory name of the maildir directory. # ###MAILDIRPATH=Maildir #Hardwire a value for ${MAILDIR} MAILDIR=Maildir MAILDIRPATH=Maildir Guardar el archivo e iniciar el servicio así: # /etc/init.d/courier-imapd start Para que el servicio de courier-imapd sea iniciado al arranque del sistema ejecutar el siguiente comando: # rc-update add courier-imapd default * courier-imapd added to runlevel default * rc-update complete. Ahora courier-pop3d El archivo de configuración de el servicio courier-imapd es: /etc/courier-imap/pop3d. La mayoría de los parámetros por default son suficientes, nosotros solo cambiaremos algunos, por ejemplo: El máximo numero de conexiones que se aceptaran de una misma dirección IP, en nuestro caso como se manejan varias sucursales y en estas hay aproximadamente 20 cuentas de correo por sucursal, entonces subiremos este parámetro de su valor predeterminado de 4 a 20 (debes cambiarlo según tus necesidades). MAXPERIP=20 También cambiaremos la variable de el directorio Maildir que usaremos, esto se encuentra al final de el archivo de configuración, lo cambiaremos para que quede así: 31

36 ##NAME: MAILDIRPATH:0 # # MAILDIRPATH - directory name of the maildir directory. # ###MAILDIRPATH=Maildir #Hardwire a value for ${MAILDIR} MAILDIR=Maildir MAILDIRPATH=Maildir Guardar el archivo e iniciar el servicio así: # /etc/init.d/courier-pop3d start Para que el servicio de courier-pop3d sea iniciado al arranque del sistema ejecutar el siguiente comando: # rc-update add courier-pop3d default * courier-pop3d added to runlevel default * rc-update complete Configurando IMAP sobre SSL Courier-imapd tiene soporte para trabajar en modo seguro usando certificados SSL y así usar un canal seguro para enviar los datos de autenticación y además revisar los correos y bajarlos. La configuración de courier-imapd-ssl se encuentra en el archivo de configuración /etc/courier-imap/imapd-ssl. Para poder usar courier-imap con SSL es necesario configurarlo para usar los certificados SSL, el servicio Courier IMAP sobre SSL trabaja con la configuración por default. Algunas de las configuraciones predeterminadas son: Puerto de comunicación: SSLPORT=993 Usa el puerto TCP/993 para comunicación segura. Ruta de el Certificado SSL: TLS_CERTFILE=/etc/courier-imap/imapd.pem 32

37 Esta es la ruta de el certificado SSL predeterminado, en Gentoo el paquete net-mail/courier-imap viene incluido un script llamado /usr/sbin/mkimapdcert el cual genera un certificado SELF-SIGNED, si deseas usar un certificado firmado por uno mismo entonces debes de generar uno con el script mkimapdcert. El script mkimapdcert usa la configuración de el archivo /etc/courier-imap/imapd.cnf y ahí tiene definidos algunos parámetros y atributos que pondrá en el certificado, si lo deseas puedes cambiar la configuración. Creación de un certificado self-signed: Usando los parámetros predeterminados de /etc/courier-imap/imapd.cnf # mkimapdcert Generating a 1024 bit RSA private key writing new private key to /etc/courier-imap/imapd.pem semi-random bytes loaded Generating DH parameters, 512 bit long safe prime, generator 2 This is going to take a long time *++*++*++*++*++* subject= /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically -generated IMAP SSL notbefore=dec 20 08:05: GMT notafter=dec 20 08:05: GMT SHA1 Fingerprint=EC:89:6F:BB:59:BF:E9:EA:55:05:B2:E9:FB:62:A8:C2:AD:E8:4A:92 Antes de iniciar el servicio de Courier IMAP sobre SSL debemos de crear el directorio donde mantiene el TLS CACHE, esto esta definido en el parámetro: TLS_CACHEFILE=/var/lib/courier-imap/couriersslcache en el archivo de configuración /etc/courier-imap/imapd-ssl # mkdir -p /var/lib/courier-imap Ahora ya podemos iniciar el servicio courier-imapd-ssl, así: # /etc/init.d/courier-imapd-ssl start * Starting courier-imapd over SSL... [ ok ] Para que el servicio de courier-imapd-ssl sea iniciado al arranque del sistema ejecutar el siguiente comando: # rc-update add courier-imap-ssl default * courier-imap-ssl added to runlevel default * rc-update complete. 33

38 4.6. Apache Capítulo 4. Implementación Necesitaremos instalar un servidor web el cual nos sirva para administrar postfix/courier vía web mediante Postfix Admin, hemos elegido a httpd (apache2) lo instalaremos con soporte para PHP y SSL para conexiones seguras. # emerge -pv apache These are the packages that I would merge, in order: Calculating dependencies... done! [ebuild R ] net-www/apache r2 USE="apache2 ssl -debug -doc -ldap -mpm-itk -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker (-selinux) -static-modules -threads" 0 kb Como vemos ya están configuradas las USE flags con soporte para SSL (+ssl). Entonces lo instalaremos de manera normal: # emerge apache Configuración de apache2 para soporte PHP y SSL Por default apache no tiene activados los módulos para SSL aunque fue inicialmente instalado con soporte SSL. Antes que nada instalaremos el modulo de PHP para apache. # emerge -pv dev-lang/php These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-lang/php r6 USE="apache2 berkdb bzip2 cli crypt gdbm iconv mysql ncurses nls pcre readline reflection sasl session spell spl ssl truetype xml zlib -adabas -apache -bcmath -birdstep -calendar -cdb -cgi -cjk -concurrentmodphp -ctype -curl -curlwrappers -db2 -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif -fastbuild -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp -gd -gd-external -gmp -hardenedphp -hash -hyperwave-api -imap -informix -inifile -interbase -iodbc -ipv6 -java-external -kerberos -ldap -libedit -mcve -memlimit -mhash -ming -msql -mssql -mysqli -oci8 -oci8-instant-client -odbc -pcntl -pdo -pdo-external -pic -posix -postgres -qdbm -recode -sapdb -sharedext -sharedmem -simplexml -snmp -soap -sockets -solid -sqlite -sybase -sybase-ct -sysvipc -threads -tidy -tokenizer -unicode -vm-goto -vm-switch -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xsl -yaz -zip" 0 kb Esas dependencias son suficientes, ahora lo instalaremos: # emerge dev-lang/php 34

39 Ahora configuraremos los archivos para que sean cargados los módulos de PHP y SSL. El archivo donde se configura esto en Gentoo GNU/Linux es: /etc/conf.d/apache2 # vim /etc/conf.d/apache2 APACHE2_OPTS="-D DEFAULT_VHOST -D SSL -D SSL_DEFAULT_VHOST -D PHP5" Con esta linea agregamos soporte para el default virtual host, soporte SSL, soporte SSL para el default virtual host y soporte PHP4. Ahora iniciar el servicio apache2 así: # /etc/init.d/apache2 start Para que el servicio de apache2 sea iniciado al arranque del sistema ejecutar el siguiente comando: # rc-update add apache2 default Configurar apache2 para uso de certificados x509 (SSL) Este articulo ayudara a configurar apache2 para uso de certificados x509 (SSL) para comunicación segura (cifrada) usando certificados expedidos por CAcert (http://www.cacert.org). Requerimientos: Tener instalado apache con soporte SSL Debes de tener una cuenta creada en cacert.org Primero generar nuestra llave privada con la que firmaremos nuestra solicitud de certificado. La nombraremos con nuestro nombre de host a el que le asignaremos el certificado, por ejemplo: # cd /etc/apache2/ssl # openssl genrsa -out Generating RSA private key, 1024 bit long modulus e is (0x10001) Ahora generaremos la solicitud de certificado con nuestra llave privada: # openssl req -new -key -out You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter., the field will be left blank Country Name (2 letter code) [AU]:MX State or Province Name (full name) [Some-State]:Baja California Locality Name (eg, city) []:Tijuana Organization Name (eg, company) [Internet Widgits Pty Ltd]:TuxJM Inc. Organizational Unit Name (eg, section) []:Hosting Common Name (eg, YOUR name) []:www.tuxjm.net Address 35

40 Please enter the following extra attributes to be sent with your certificate request A challenge password []: An optional company name []: Acabamos de generar la solicitud de certificado y se guardo en el archivo: /etc/apache2/ssl/www.tuxjm.net.csr Veamos el contenido: # cat BEGIN CERTIFICATE REQUEST----- MIIB9jCCAV8CAQAwgbUxCzAJBgasj3dmdk1YMRgwFgYDVQQIEw9CYWphIENhbGlm b3juawexedaobgnvbactb1rpanvhbmexjasdfasdfaothunhbgnvbsbkzsbnzxhp Y28gUy5BLiBkZSBDLlYuMRAwDgYDVQQLEwdIb3N0aW5nMRowGAYDVQQDExF3d3cu Y2FsY29aasd3bS5teDEkMCIGCSqGSIb3DQEJARYVam1lZGluYUBjYWxjb20uY29t Lm14MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGJBAR4lRhch4l92exwzHH X+HQuX1NIJU4nkF46SCWvgQIP36Qs2XgOkTJKSf9Rasdasdfae33P6QHCozdjqq+ LTcF1H6f5z+L7K2TZx5eVje03jkdindcnMAUnR5EYl9QfdXGdGLFR3IWXIcPA9mB s1asd3djhhguvf1pgk0fawidaqaboaawdqyjkozihvcnaqeebqadgyeab3px3qoi GadYTXuRxx34Vbol2w5jWXuyHtlbwqPlnY6M00PyWpfcGNPppeQV23232qocgHcl UwADN20b3//89yMeoqEzNy1RPjyNrzSufPml6Mx+RrTBypnmTlDUb2WTThrnzUNl Ok+azrk1BRYu2gYLEFNif56OaHnXjV3vR0Q= -----END CERTIFICATE REQUEST----- Ahora copiaremos desde el inicio de la linea: -----BEGIN CERTIFICATE REQUEST----- Hasta la linea final: -----END CERTIFICATE REQUEST----- Entonces iniciaremos sesión en cacert.org y crearemos un nuevo certificado para servidor (Server Certificates) y el contenido de el CSR lo pegaremos en la pagina de creación de certificados para que nos devuelva un certificado, el resultado que nos muestre lo pegaremos en un archivo llamado con el nombre de el host y con terminación.crt (La terminación no es obligatoria pero si es útil para reconocer los tipos de archivos). # vim BEGIN CERTIFICATE----- MIIEFzdopemeAwIBAgIDAdBFMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv b3qgq0exhjacbgnvbastfwh0dha6ly93d3cuy2fjzxj0lm9yzzeimcaga1ueaxmz Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y debjywnlcnqub3jnmb4xdta2mdexmjixntaxnloxdta2mdcxmtixntaxnlowhdea MBgGA1UEAxMRd3d3LmNhbGNvbS5jb20ubXgwgZ8wDQYJKoZIhvcNAQEBBQADgY0A MIGJAoGBAMYkEBHiVGFyHiX3Z7HDMcdf4dC5fU0glTieQXjpIJa+BAg/fpCzZeA6 RMkpJ/1HQOzpsdfasdfasdfKjN2Oqr4tNwXUfp/nP4vsrZNnHl5WPTNSEIZoWbyc wbsdhkrix1b91cz0ysvhchzchw8d2ygzwmho0amegbruxu8atqvragmbaagjgygw gyuwdaydvr0taqh/baiwada0bgnvhsueltarbggrbgefbqcdagyikwybbquhaweg CWCGSAGG+EIEAQYKKwYBBAGCNwoDAzALBgNVHQ8EBAMCBaAwMgYIKwYBBQUHAQEE JjAkMCIGCCsGAQUFBzABhhZasdafOi8vb2NzcC5jYWNlcnQub3JnMA0GCSqGSIb3 DQEBBQUAA4ICAQAIeqiyZECg7z7/hiynO0ZsY96WQ+oUAZS2XCjL67maOrawTIWJ 36

41 RN+9Na3sqw23DE5GnqY6IhG6NLLRiKqJt34Fxvjq1pUdTyEJdsBRQZZQxPa6gKph /AwYiUR39Rd+rRIwx7cvEjabH6amympo4cAalFmhITv+8wc9UT5JGZnJbnNK1Y9O 5BW6d8YTI2vQenHMT6y5sowLm65vPEdF2KD1bCHQ/3QTW0wMuV9bGQyTsNeBRB+9 ZGaXaP3IiC8ZmSbBj1Uh5+l5OcZhW6ucCQ5QKOGTVMrqyRD7kVXFAARf7jTU3Mq4 2VZcORTCerAjzpnyYAosQRztxYHGFjmL3f+4fBOqyxbm7tsPkv/bOrBOKS85wvyY ab8evasdf4kelivoq8u0uxolxwewi6rbzk2/qddabjy/hv4dim4f8vmhnegkouof x2bkrl59gpjzzcwwnscom2cm5doh+yps+y4srpcoy8psk0itay1asi42wr0ieydb C3OHJasdftSlIBrM2Uk1b/dNmxVUJfHS1qDLnEYsXhAiVIgHEVZGv7cfZuh7PnQn qompfasd3stvinu4mifwyumecfp0ndnnvy9rta0hpcv9zd3v3ez6plbrg2z0sf8g kzals42oev3hrtpxnwvqp+fai7nrgdcpng3q1tuj82yoovu39dmeusdnmw== -----END CERTIFICATE----- Capítulo 4. Implementación Ahora agregaremos esta información a la configuración de el virtual host predeterminado de apache, editar el archivo: # vim../modules.d/41_mod_ssl.default-vhost.conf # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A test # certificate can be generated with make certificate under # built time. Keep in mind that if you ve both a RSA and a DSA # certificate you can configure both in parallel (to also allow # the use of DSA ciphers, etc.) ###SSLCertificateFile conf/ssl/server.crt SSLCertificateFile conf/ssl/www.tuxjm.net.crt # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you ve both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) ###SSLCertificateKeyFile conf/ssl/server.key SSLCertificateKeyFile conf/ssl/www.tuxjm.net.key Ahora re iniciar apache2: # /etc/init.d/apache2 restart * Stopping apache2... * Starting apache2... Ahora prueba entrar con un navegador a tu servidor web pero usando https://hostname Se vera algo así: IMAGEN Comprueba que el certificado que use es el tuyo, haciendo esto: IMAGEN 37

42 Configuración de un virtual host dedicado a Postfix Admin TODO Configuración de restricciones de acceso y comunicación segura con (mod_ssl) TODO 4.7. Postfix Admin Intro: Instalación base de Postfix Admin En el capitulo 3. MySQL ya descargamos las fuentes de postfixadmin y las des comprimimos en /root/postfixadmin Entonces copiaremos el directorio visible por apache. # cd # cp -r -v postfixadmin /var/www/localhost/htdocs/postfixadmin # cd /var/www/localhost/htdocs/postfixadmin Configuración de Postfix Admin El archivo global de configuración de Postfix Admin es: /var/www/localhost/htdocs/postfixadmin/config.inc.php Podemos editar ese archivo libremente ya que esta el archivo config.inc.php.sample que es exactamente igual y lo podemos usar como respaldo. <?php // // Postfix Admin // by Mischa Peters <mischa at high5 dot net> 38

43 // Copyright (c) High5! // License Info: // // File: config.inc.php // if (ereg ("config.inc.php", $_SERVER[ PHP_SELF ])) { header ("Location: login.php"); exit; } // Postfix Admin Path // Set the location to your Postfix Admin installation here. $CONF[ postfix_admin_url ] = ; $CONF[ postfix_admin_path ] = ; // Language config // Language files are located in./languages. $CONF[ default_language ] = es ; // Database Config // mysql = MySQL 3.23 and 4.0 // mysqli = MySQL 4.1 // pgsql = PostgreSQL $CONF[ database_type ] = mysql ; $CONF[ database_host ] = localhost ; $CONF[ database_user ] = postfixadmin ; $CONF[ database_password ] = postfixadmin ; $CONF[ database_name ] = postfix ; $CONF[ database_prefix ] = ; // Site Admin // Define the Site Admins address below. // This will be used to send s from to create mailboxes. $CONF[ admin_ ] = ; // Mail Server // Hostname (FQDN) of your mail server. // This is used to send to Postfix in order to create mailboxes. $CONF[ smtp_server ] = localhost ; $CONF[ smtp_port ] = 25 ; // Encrypt // In what way do you want the passwords to be crypted? // md5crypt = internal postfix admin md5 // system = whatever you have set as your PHP system default // cleartext = clear text passwords (ouch!) $CONF[ encrypt ] = md5crypt ; // Generate Password // Generate a random password for a mailbox and display it. // If you want to automagically generate paswords set this to YES. $CONF[ generate_password ] = NO ; // Page Size // Set the number of entries that you would like to see // in one page. $CONF[ page_size ] = 10 ; // Default Aliases // The default aliases that need to be created for all domains. $CONF[ default_aliases ] = array ( 39

44 abuse => hostmaster => postmaster => webmaster => ); // Mailboxes // If you want to store the mailboxes per domain set this to YES. // Example: $CONF[ domain_path ] = YES ; // If you don t want to have the domain in your mailbox set this to NO. // Example: /usr/local/virtual/domain.tld/username $CONF[ domain_in_mailbox ] = NO ; // Default Domain Values // Specify your default values below. Quota in MB. $CONF[ aliases ] = 10 ; $CONF[ mailboxes ] = 10 ; $CONF[ maxquota ] = 10 ; // Quota // When you want to enforce quota for your mailbox users set this to YES. $CONF[ quota ] = NO ; // You can either use or $CONF[ quota_multiplier ] = ; // Transport // If you want to define additional transport options for a domain set this to YES. // Read the transport file of the Postfix documentation. $CONF[ transport ] = NO ; // Virtual Vacation // If you want to use virtual vacation for you mailbox users set this to YES. // NOTE: Make sure that you install the vacation module. $CONF[ vacation ] = NO ; // This is the autoreply domain that you will need to set in your Postfix // transport maps to handle virtual vacations. It does not need to be a // real domain (i.e. you don t need to setup DNS for it). $CONF[ vacation_domain ] = autoreply.change-this-to-your.domain.tld ; // Alias Control // Postfix Admin inserts an alias in the alias table for every mailbox it creates. // The reason for this is that when you want catch-all and normal mailboxes // to work you need to have the mailbox replicated in the alias table. // If you want to take control of these aliases as well set this to YES. //MOD//$CONF[ alias_control ] = NO ; $CONF[ alias_control ] = NO ; // Special Alias Control // Set to NO if you don t want your domain admins to change the default aliases. //MOD//$CONF[ special_alias_control ] = YES ; $CONF[ special_alias_control ] = NO ; // Logging // If you don t want logging set this to NO ; $CONF[ logging ] = YES ; // Header $CONF[ show_header_text ] = NO ; $CONF[ header_text ] = :: Postfix Admin :: ; // Footer // Below information will be on all pages. 40

45 // If you don t want the footer information to appear set this to NO. $CONF[ show_footer_text ] = YES ; $CONF[ footer_text ] = Return to change-this-to-your.domain.tld ; $CONF[ footer_link ] = ; // Welcome Message // This message is send to every newly created mailbox. // Change the text between EOM. $CONF[ welcome_text ] = <<<EOM Hi, Welcome to your new account. EOM; // // END OF CONFIG FILE //?> :wq Protegiendo la Interfaz de administración de Postfix Admin Por default la pagina de administración para Postfix Admin es y a esta se puede accesar sin ninguna restricción, por lo que la deberemos de proteger para que se pueda entrar a ella con credenciales validas, en este caso usaremos usuario y contraseña. De manera predeterminada el paquete de Postfix Admin trae un archivo.htaccess en el directorio admin, este lo podemos usar para proteger el directorio admin: # vim /var/www/localhost/htdocs/postfixadmin/admin/.htaccess AuthUserFile /var/www/localhost/htdocs/postfixadmin/admin/.htpasswd AuthGroupFile /dev/null AuthName "Postfix Admin" AuthType Basic <limit GET POST> require valid-user </limit> Cambiar la linea de AuthUserFile que apunte a el archivo que tendrá la contraseña, ponerla a: /var/www/localhost/htdocs/postfixadmin/admin/.htpasswd por default este archivo tiene un usuario: admin, con contraseña: admin # cat /var/www/localhost/htdocs/postfixadmin/admin/.htpasswd admin:$apr1$5ip4s/..$cmamyflza1glhgwffw2.g0 Es recomendable cambiar la contraseña a el usuario admin, esto lo podemos hacer así: # cd /var/www/localhost/htdocs/postfixadmin/admin/ 41

46 # htpasswd2.htpasswd admin New password: TECLEAR_NUEVA_CONTRASEÑA Re-type new password: TECLEAR_NUEVA_CONTRASEÑA Updating password for user admin Para que apache2 pueda hacer uso de las configuraciones del archivo /var/www/localhost/htdocs/postfixadmin/admin/.htaccess se deben de tener soporte para AuthConfig, esto se hace usando la directiva AllowOverride AuthConfig ya sea en el archivo global de configuración de apache /etc/apache2/httpd.conf o dentro de una sección <Directory> dentro de la configuración de tu VirtualHost. En este caso usaremos la configuración en Default Virtual Host, su archivo de configuración en nuestro servidor es: /etc/apache2/vhosts.d/00_default_vhost.conf, cambiaremos las siguientes directivas: AllowOverride None Por: AllowOverride AuthConfig Después de editar el archivo, es necesario re iniciar el servidor httpd, así: # /etc/init.d/apache2 restart * Stopping apache2... [ ok ] * Starting apache2... [ ok ] Ahora ya podremos entrar a la pagina de administración de Postfix Admin así: Y te preguntara el usuario y la contraseña Modificaciones extras a Postfix Admin para soporte de quotas con maildrop Puesto que usaremos a maildrop para el manejo de las quotas de los buzones de correo, entonces haremos una pequeña modificación a el script que se encarga de crear las cuentas de correo y a el que las modifica para que escriba en el formato correcto las quotas y así maildrop las pueda leer 42

47 4.8. Integración de Filtrado de SPAM y Virus. Capítulo 4. Implementación Intro a toda la suite de filtrado Amavisd-new blabla bla bla Instalación de amavisd-new Instalaremos amavisd-new: # emerge amavisd-new Este comando instalara todas sus dependencias, son varios módulos de perl Configuración de los permisos iniciales para amavisd-new El demonio amavisd corre con los privilegios de el usuario y grupo amavis y todos los directorios ya archivos están en /var/amavis a excepción de su archivo de configuración, el cual es: /etc/amavisd.conf. Los permisos originales son: # ls -ld /var/amavis drwxr-xr-x 5 amavis root 4096 Feb 15 11:24 /var/amavis Reconfiguraremos los permisos para que el usuario y grupo amavis tengan permisos de escritura sobre el directorio /var/amavis esto sera útil cuando le integremos clamav y los plugins de SA. Ejecutaremos los siguientes comandos para cambiarlos # chown -R amavis:amavis /var/amavis # ls -ld /var/amavis total 60 drwxr-xr-x 5 amavis amavis 4096 Feb 15 11:24 amavis # cd /var/amavis # mkdir var # chown -R amavis:amavis var 43

48 # ls -ld var drwxr-xr-x 2 amavis amavis 4096 Feb 15 12:22 var En uno de los comandos de arriba creamos el directorio var dentro de /var/amavis, este lo usaremos para ahí almacenar los archivos de el identificador del proceso (PID) y de Locking para amavisd, Tambien ahí guardaremos los archivos PID y sock para clamd y freshclam, esto con el fin de tenerlos separados y mejor organizados. Amavisd Tambien usa dos directorios mas en /var/amavis/, uno llamado tmp donde des comprime los correos y los escanea, el directorio quarantine lo usa para almacenar los correos puestos en cuarentena, ya se porque contiene virus o es considerado como spam. Mas adelante veremos las directivas que definen la ruta de los directorios antes mencionados. Se recomienda tener el directorio tmp en un disco de alta velocidad, por ejemplo un disco RAM, se recomienda usar un disco ram si el sistema operativo lo soporta y si se tienen memoria RAM libre, mas adelante se documentara como usar el directorio tmp en un disco RAM Configuración y personalizaron de amavisd-new El archivo de configuración amavisd-new es /etc/amavisd.conf, antes de editar alguna configuración haremos un respaldo de el archivo: # cd /etc/ # cp amavisd.conf amavisd.conf.orig El archivo de configuración amavisd.conf es parseado como un script en Perl y puede contener cualquier código Perl legal. Ya que es parseado como un script en perl, debes de escapar los siguientes caracteres: $, \) que aparezcan entre dobles comillas (") ante poniéndoles una diagonal invertida. Por ejemplo Este archivo esta organizado en secciones lógicas, se recomienda leer el archivo de ejemplo completo para conocer sus diferentes opciones, que en su mayoría están comentadas con ejemplos, para que puedas personalizar tu sistema. Personalizando el archivo de configuración de amavisd. # vim /etc/amavisd.conf Sección I: Configuraciones de el demonio amavisd y de el MTA En esta sección se definen parámetros globales para el demonio amavisd y otras para el servidor MTA. $MYHOME = /var/amavis 44

49 Una de las variables mas importantes es $MYHOME la cual indica la raíz para amavisd y donde están todos los archivos que utilizara. $mydomain = tuxjm.net; Esta variable indica el dominio local que recibe correos, esta variable se hará referencia mas adelante para mas configuraciones, se recomienda configurarla con tu dominio primario si es que hospedas varios dominios virtuales. $myhostname = mail.tuxjm.net ; Esta variable se recomienda poner el FQDN de nuestro dominio principal, si no esta configurado con un FQDN al iniciar amavisd nos dará un mensaje de error y no sera iniciado. $daemon_user = amavis ; $daemon_group = amavis ; Usuario y grupo con los que correa amavisd. $TEMPBASE = "$MYHOME/tmp"; Ruta para el directorio temporal, recordar que aquí es donde des comprime los correos y los analiza. $db_home = "$MYHOME/db"; Directorio para bases de datos DB, solo si se configura para que soporte, necesita soporte berkdb, esta activado por default. $pid_file = "$MYHOME/var/amavisd.pid"; Ruta para el archivo de identificación del proceso (PID) de amavisd, por default esta a $MYHOME/amavisd.pid $lock_file = "$MYHOME/var/amavisd.lock"; Ruta para el archivo de bloqueo de amavisd, por default esta a $MYHOME/amavisd.lock $forward_method = smtp:[ ]:10025 ; # where to forward checked mail A donde reenviar los correos analizados, los enviaremos al host en el puerto usando el protocolo smtp. Mas adelante configuraremos postfix para que cree un nuevo proceso smtp y que escuche peticiones en el puerto $notify_method = $forward_method; # where to submit notifications 45

50 A donde enviar las notificaciones, lo enviaremos también al en el puerto usando el protocolo = (1); # uncomment to DISABLE anti-virus = (1); # uncomment to DISABLE anti-spam code Desactivaremos temporalmente los filtros anti-spam y antivirus, para probar que amavisd inicie por si = ( [".$mydomain"] ); Esta directiva lista las tablas que serán usadas para decidir si un recipiente es local o no, en otras palabras si el mensaje es saliente o no. Lo que esto hace es que inserta cabeceras relacionados con el SPAM para los recipientes locales, limitando las notificaciones de virus a los recipientes locales, es importante que si en nuestro servidor tendremos varios dominios hospedados listar cada uno en este mapeo, por ejemplo, si son solo unos cuantos, se pueden agregar = ( [ ".$mydomain",.dominio2.tld,.dominio3.tld ] ); O también se puede listar en un archivo cada = ( read_hash("$myhome/local_domains") ); Donde el archivo es /var/amavis/local_domains y es un dominio por linea. NOTA: Recuerda que si hospedas varios dominios, cada vez que agregues un dominio virtual agregarlo a esta lista de mapeos y recargar amavisd Sección II: Configuraciones especificas para el MTA En esta sección se configuran parámetros de red para el demonio amavisd, la mayoría de las veces los valores predeterminados serán suficientes, aun así los comentare. $unix_socketname = "$MYHOME/var/amavisd.sock"; Ruta para el archivo de socket Unix que usara amavisd, este no se usa por default, pero posiblemente después lo usaremos. $inet_socket_port = 10024; Puerto de el servidor smtp, usado cuando se configura el MTA para pasar el correo a amavisd por SMTP. amavisd abrirá un socket TCP y escuchara peticiones en este puerto, en nuestro caso Postfix le enviara el correo a ese puerto, mas adelante veremos donde lo especificamos. 46

51 $inet_socket_bind = ; Dirección IP en la que amavisd escuchara peticiones, este se usa en conjunto con $inet_socket_port, por lo que el servicio amavisd se abrirá en = qw( [::1]); Lista de control de acceso para amavisd, esto indica que el servidor SMTP de amavisd solo recibirá peticiones en el localhost y para el localhost Sección III: Registro de bitácoras (logs) En esta sección se configuran parámetros para indicar como registrar los eventos (logs), a donde y que nivel darle a los eventos registrados. Por default envía todo a syslog: $DO_SYSLOG = 1; Pondrá un identificador de amavis para que se distinga en los logs. $syslog_ident = amavis ; Usa un nivel de log de 2: $log_level = 2; NOTA: Temporalmente se pondrá el valor de la directiva $log_level con valor a "1" para ver posibles errores iniciales, cuando el sistema este funcionando correctamente entonces se pondrá a "0" Sección IV: Notificaciones/DSN, bounce/reject/discard/pass, cuarentena Amavisd-new con la ayuda de SpamAssassin, analizadores de virus (antivirus) y otros programas externos tiene la capacidad de detectar spam, virus, correo con archivos adjuntos que nos gustaría 47

52 bloquear (bannear) y correos con las cabeceras mal formadas. Una vez que el correo indeseable es encontrado, amavisd-new tiene la capacidad de poner en cuarentena, descartar y/o permitir que el correo indeseable pase. Amavisd-new puede colocar información útil en las cabeceras de el correo, notificar a la gente de las acciones tomadas y también hacer "defang" de el correo que consideramos indeseable. Cuando amavisd-new hace defang al correo, el correo original es encapsulado dentro de un archivo adjunto. El archivo adjunto es enviado junto con una notificación diciendo que el contenido de el correo dentro del adjunto puede contener algo indeseable. Si el adjunto contiene un correo el cual contiene un virus, este virus puede infectar tu sistema. Las decisiones criticas que debemos de hacer cuando configuramos amavisd-new es decidir que acción tomar cuando un correo indeseable es encontrado. Para eliminar la confusión, voy a ejemplificar una configuración de amavisd-new que filtra el correo para un solo dominio y todos los usuarios en el dominio usaran la misma configuración. Esto es obviamente un escenario de los llamados "site wide" es decir que las configuraciones hechas serán aplicadas globalmente a todos los correos, este tipo de escenarios es típico para un administrador de sistemas en una empresa pequeña. Hay cierta configuraciones que pueden ser aplicadas por usuario o por dominio, y también hay ciertas opciones que pueden ser configuradas para dejar algunos usuarios o dominios pueda prescindir de algunos tests, o por lo menos recibir mensajes que ellos no recibirían normalmente. Estas son las = Hay más configuraciones que se podrían discutir para configuraciones individuales, pero para nuestro escenario "site wide", las ignoraremos por completo. Voy a discutir lo restante en dos grupos. El primer grupo sera para configuraciones que tratan con virus, archivos adjuntos para bloquear y cabeceras mal formados. Estos están agrupados juntos porque las configuraciones que usamos para determinar lo que le pasé a el correo que contiene estos tipos de elementos indeseados son paralelos uno con otro. Las configuraciones criticas son: $final_virus_destiny = $final_banned_destiny = $final_bad_header_destiny = $virus_quarantine_to = $banned_quarantine_to = $bad_header_quarantine_to = Hay cuatro posibles configuraciones para las variables $final_*_destiny. Estas son DPASS, D_BOUNCE, D_REJECT y D_DISCARD. Para nuestro caso, solo necesitamos considerar dos posibles configuraciones para las variables $*_quarantine_to: estas variables pueden ser configuradas, o dejaras sin definir. En otras palabras, las variables $*_quarantine_to pueden tener un valor asignado a 48

53 ellas que (parcialmente) define donde serán almacenados lo elementos puestos en cuarentena, o se les puede asignar un valor vacío el cual significa "no tenemos un lugar donde van los elementos en cuarentena". Cuando un correo no deseado es encontrado, amavisd-new puede efectuar una acción para las cuatro posibles configuraciones de las variables $final_*_destiny. Recuerda, estamos discutiendo correo que consideramos indeseable: D_PASS El correo pasara a el recipiente, sin importar si tiene contenido malo. Si la cuarentena esta configurada, una copia de el correo sera puesto en cuarentena, si no, por lo menos el recipiente recibirá el correo. Note que incluyendo un recipiente es funcionalmente equivalente a configurar $final_*_destiny = D_PASS; para dicho recipiente. D_BOUNCE El correo no sera enviado a su o sus recipientes. Una notificación de no envío (bounce o rebote) sera creada por amavisd-new y sera enviada a el remitente por amavisd-new. Excepciones: Los rebotes/bounces (DSN) no serán enviados si el nombre de un virus hace una concordancia o es enviado desde listas de correo (que tiene la Precedencia: bulk list junk), o para spam que el nivel excede la puntuación puesta en $sa_dsn_cutoff_level. Si la cuarentena esta configurada, una copia de el mensaje sera puesto en cuarentena. Si no, el correo se pierde, pero si el mensaje fue legitimo, el remitente deberá de recibir una notificación de la disposición de el mensaje. D_REJECT El correo no sera enviado a su o sus recipientes. Amavisd-new enviara una respuesta de rechazo con el código 550 (o 554) a el MTA que envía y ese MTA debe de crear un mensaje de rechazo (bounce) y regresarlo a el remitente. Esta notificación no es tan informativa como la que crea amavisd-new si estubieramos usando D_BOUNCE, así que D_BOUNCE es usualmente preferida sobre D_REJECT. Un caso donde D_BOUNCE no es preferida sobre D_REJECT es cuando amavisd-new es usado como un filtro proxy before-queue, pero esto para nada es recomendado ni soportado. Personalmente, prefiero D_DISCARD para spam y virus, ya que crear un DSN es usualmente (pero no siempre) una mala idea por varias razones, entre ellas, el hecho de que si el correo es un malware, la dirección de el remitente probablemente no es valida (undeliverable); o peor, es una dirección de correo real que ha sido falsificada. Si la cuarentena es configurada, una copia de el mensaje sera puesto en cuarentena. Si no, el correo se perderá, pero el remitente deberá de ser notificado de que el mensaje que envió fue rechazado. D_DISCARD El correo no sera enviado a su o sus recipientes y normalmente el remitente NO sera notificado. Si la cuarentena es configurada, una copia de el mensaje sera puesto en cuarentena. Si no, El correo se perderá. Note que hay configuraciones adicionales disponibles que pueden enviar notificaciones a personas que normalmente no son notificadas cuando un mensaje indeseable es encontrado así que es posible notificar el remitente aun cuando estemos usando D_DISCARD. Aquí hay unos ejemplos prácticos de como se debería de configurar el sistema: $final_virus_destiny = D_DISCARD; $virus_quarantine_to = undef; Cuando un virus es detectado, el mensaje sera descartado. $final_banned_destiny = D_BOUNCE; 49

54 $banned_quarantine_to = Aquí, si se recibe un mensaje que el o los archivos adjuntos están bloqueados, El remitente puede (o no) que reciba una notificación, y el mensaje sera puesto en cuarentena en la maquina local. Esta copia puede ser examinada por el administrador y así puede tomar medidas de que posible acción preventiva debe de tomar para que correo como ese entre en el sistema. Las cabeceras mal formadas, aunque son molestos, normalmente no son un riesgo de seguridad. El segundo grupo solo aplica a el SPAM. El SPAM es diferente a los otros tipos de correo no deseado porque además de "poner en cuarentena, descartar y/o permitir que el correo pase" hay 2 acciones más que pueden ocurrir: tenemos la capacidad de reescribir la linea de el "Asunto/Subject" en el correo que es pasado a el o los recipientes (para notificarles que el mensaje es posiblemente spam) y además podemos incluir información relacionada al SPAM en las cabeceras de el correo. Tambien podemos decidir que es lo que se debe de considerar como SPAM. Las meta principal de SpamAssassin es poner una puntuación numérica. Las puntuaciones demasiadas bajas y con puntuaciones negativas pueden ser considerados como "ham" (no spam) y las puntuaciones más altos pueden ser considerados SPAM. Los desarrolladores de SA han elegido usar una puntuación de 5.0 como la linea divisora entre el ham y el spam, pero desafortunadamente correo legitimo puede ser clasificado con una puntuación alta - y el spam con una baja. Es completamente tu responsabilidad decidir que puntuación sera el punto medio entre spam y ham. Si lo configuras con un valor bajo, puede que corras el gran riesgo de poner correo legitimo como spam. Configuralo con una puntuación alta, y seguramente, los recipientes recibirán una cantidad creciente de spam mezclado con correo legitimo. $final_spam_destiny = $spam_quarantine_to = Esto funciona exactamente igual como lo que se describió en el primer grupo. En otras palabras, estas dos configuraciones de spam son paralelas a las configuraciones de las otros tres tipos de correo no deseado Ahora estas son las configuraciones que son únicas para el SPAM: $sa_tag_level_deflt = $sa_tag2_level_deflt = $sa_kill_level_deflt = A estas tres configuraciones se les debe de asignar un valor numérico. Estos valores numéricos son comparados a la puntuación que SA produce. Note que amavisd-new también provee de un método para ajustar la puntuación de SA manualmente basado en el remitente (listas ligeras blancas y negras). La primer configuración: $sa_tag_level_deflt Esta configuración decide en que la puntuación en la que serán agregadas las cabeceras X-Spam-Status, X-Spam-Score y X-Spam-Level. Yo configuro esto a undef (sin definir) o así cada correo que es considerado local tendrá esta información en las cabeceras, sea spam o no. El dominio para el cual el correo es enviado debe de estar listado (u otra tabla de búsqueda que nos proporcione la misma funcionalidad) para que sea considerado local. Note que para esta configuración en particular, undef significa "más bajo que cualquier puntación posible" (undef solo es valido en amavisd-new 2.x y versiones nuevas). $sa_tag2_level_deflt Este es el nivel en el cual la linea de el Subject/Asunto de el correo sera antepuesta con lo que sea que asignes a la variable $sa_spam_subject_tag (asumiendo que 50

55 $sa_spam_modifies_subj es true). Por ejemplo, digamos que $sa_spam_subject_tag = "Spam>". Si el Asunto de el correo era Get a free laptop, ahora dirá Spam> Get a free laptop. Esto es hecho para correos que (una vez más) es considerado local y que realmente alcanzara al recipiente. La cabecera X-Spam-Status sera cambiado de "No" a "Yes" y una nueva cabecera: "X-Spam-Flag: YES" sera agregada Plus addressing puede que ocurra si el correo es pasado a el recipiente. No se hablara más sobre "plus addressing" en este documento. $sa_kill_level_deflt Considero que esta configuración es la más importante para el SPAM. Este es el punto en el cual alguna acción es tomada para el SPAM. Una vez que la puntuación de un correo alcanza lo que configuremos en esta variable, una de las cuatro posibles configuraciones de $final_spam_destiny (D_PASS, D_BOUNCE, D_REJECT o D_DISCARD) que hayamos escogido ocurrirá. El resultado de estas acciones sera exactamente lo mismo a lo que describimos en el primer grupo. Si solamente quieres marcar los mensajes como SPAM, y dejarlos pasar, una forma adicional de dejar pasar el SPAM es configurar este parámetro a un nivel muy alto (por ejemplo 9999). En este nivel, Es casi seguro que ningún correo de SPAM alcance una puntuación lo suficientemente alta para que alguna acción sea tomada. $sa_kill_level_deflt también manda a cuarentena el SPAM (si es que la cuarentena esta configurada). Una vez más, te daré un ejemplo practico para un sistema real: $final_spam_destiny = D_DISCARD; $spam_quarantine_to =- Una vez que el mensaje alcance la puntuación que hayamos puesto en $sa_kill_level_deflt: el mensaje no sera enviado a su o sus recipientes. El remitente no sera notificado. Una copia de correo sera enviada a la dirección de correo electrónico que configuramos aquí. El buzón de "spams" es el área de cuarentena para el SPAM. $sa_tag_level_deflt = undef; Cualquier mensaje que es enviado a un recipiente que es considerado local se les agregara las cabeceras X-Spam-Status, X-Spam-Score y X-Spam-Level. Como ya dije, para esta configuración en particular, undef esta programado para decir "más bajo que cualquier posible puntuación". $sa_tag2_level_deflt = 5.0; El correo que obtenga una puntuación de 5.0 o más tendrá Spam> antepuesto a la linea de el Asunto. Esto solo pasara si el correo es considerado local y es pasado a un recipiente ( y $sa_spam_modifies_subj es true). Configuramos $sa_spam_subject_tag = Spam> ; con anterioridad. La cabecera X-Spam-Status cambiara de "No" a "Yes" y la nueva cabecera "X-Spam-Flag: YES" sera agregada. $sa_kill_level_deflt = 8.0; Este es el nivel en el que D_DISCARD, la acción que configuramos a $final_spam_destiny sera lanzada y también el nivel en el que la puesta en cuarentena ocurre (si es que la cuarentena esta configurada). Para recapitular. El efecto de nuestras cinco configuraciones enviaran el correo que alcancen una puntuación de hasta 7.999, pondrán en cuarentena el correo que alcancen una puntuación de 8.0 o más, y se les agregara el prefijo Spam> a la linea de el asunto para el spam que el recipiente recibe (puntuaciones de 5.0 o más). Tambien escribirá las cabeceras X-Spam-Status, X-Spam-Score y X-Spam-Level para todos los correos, y agregara la cabecera "X-Spam-Flag: Yes" si el correo alcanza una puntuaciones de 5.0 o más. Asumiendo que el dominio es un dominio "local". A continuación describo dos configuraciones relacionadas al SPAM: 51

56 $sa_dsn_cutoff_level = 12.0; Puesto que estamos usando D_DISCARD, esta configuración no tendrá ningún efecto en nuestro ejemplo, pero si estuviéramos usando D_BOUNCE, puedes usar esto para configurar el nivel en el cual el remitente no sera notificado. Por ejemplo, cualquier correo que alcanza una puntuación de 12 o más auto cambiara D_BOUNCE a D_DISCARD. Si usas D_BOUNCE ( y en realidad quieres enviar notificaciones de rebotes/bounces), Te recomiendo fuertemente configurar esta opción. Parece que si no lo haces, algunas versiones de amavisd-new puede que asuman que $sa_dsn_cutoff_level = 0; lo cual también pondrá D_BOUNCE a D_DISCARD. $sa_quarantine_cutoff_level = 20; Si tienes una versión o nueva, la nueva opción $sa_quarantine_cutoff_level fue agregada. Si pones en cuarentena el spam, pero quieres borrar el SPAM con una puntuación muy alta para así reducir el numero de elementos en la cuarentena, esta opción te permite descartar spam en cuarentena que alcancen este nivel o más. Tiene sentido mantener una relación de: sa_tag_level <= sa_tag2_level <= sa_kill_level < sa_dsn_cutoff <= sa_quarantine_cutoff_level Post configuración Ya que en el archivo de configuración amavisd.conf cambiamos la ruta de le archivo del PID de amavisd entonces tendremos que reconfigurar el script de inicio de el demonio amavisd. Editar /etc/init.d/amavisd y cambiar la linea: De: start-stop-daemon --stop --quiet --pidfile /var/amavis/amavisd.pid por: start-stop-daemon --stop --quiet --pidfile /var/amavis/var/amavisd.pid Iniciaremos el demonio amavisd en modo debug para ver que cargue correctamente y ver posibles errores. # amavisd debug /usr/sbin/amavisd[3445]: starting. /usr/sbin/amavisd at mail.tuxjm.net amavisd-new ( ), Unicode aware /usr/sbin/amavisd[3445]: user=, EUID: 0 (0); group=, EGID: ( ); log_level=2 /usr/sbin/amavisd[3445]: Perl version /usr/sbin/amavisd[3445]: Net::Server: 2006/12/27-01:12:17 Amavis (type Net::Server::PreForkSimple) starting! pid(3445) /usr/sbin/amavisd[3445]: Net::Server: Binding to UNIX socket file /var/amavis/var/amavisd.sock using SOCK_STREAM /usr/sbin/amavisd[3445]: Net::Server: Binding to TCP port on 52

57 host /usr/sbin/amavisd[3445]: Net::Server: Setting gid to " " /usr/sbin/amavisd[3445]: Net::Server: Setting uid to "101" /usr/sbin/amavisd[3445]: Net::Server: Setting up serialization via flock /usr/sbin/amavisd[3445]: Module Amavis::Conf /usr/sbin/amavisd[3445]: Module Archive::Tar 1.28 /usr/sbin/amavisd[3445]: Module Archive::Zip 1.16 /usr/sbin/amavisd[3445]: Module BerkeleyDB 0.27 /usr/sbin/amavisd[3445]: Module Compress::Zlib /usr/sbin/amavisd[3445]: Module Convert::TNEF 0.17 /usr/sbin/amavisd[3445]: Module Convert::UUlib 1.06 /usr/sbin/amavisd[3445]: Module Digest::MD /usr/sbin/amavisd[3445]: Module MIME::Entity /usr/sbin/amavisd[3445]: Module MIME::Parser /usr/sbin/amavisd[3445]: Module MIME::Tools /usr/sbin/amavisd[3445]: Module Mail::Header 1.67 /usr/sbin/amavisd[3445]: Module Mail::Internet 1.67 /usr/sbin/amavisd[3445]: Module Net::Cmd 2.26 /usr/sbin/amavisd[3445]: Module Net::SMTP 2.29 /usr/sbin/amavisd[3445]: Module Net::Server 0.94 /usr/sbin/amavisd[3445]: Module Time::HiRes 1.86 /usr/sbin/amavisd[3445]: Module Unix::Syslog /usr/sbin/amavisd[3445]: Amavis::DB code loaded /usr/sbin/amavisd[3445]: Amavis::Cache code loaded /usr/sbin/amavisd[3445]: SQL base code NOT loaded /usr/sbin/amavisd[3445]: SQL::Log code NOT loaded /usr/sbin/amavisd[3445]: SQL::Quarantine NOT loaded /usr/sbin/amavisd[3445]: Lookup::SQL code NOT loaded /usr/sbin/amavisd[3445]: Lookup::LDAP code NOT loaded /usr/sbin/amavisd[3445]: AM.PDP-in proto code loaded /usr/sbin/amavisd[3445]: SMTP-in proto code loaded /usr/sbin/amavisd[3445]: Courier proto code NOT loaded /usr/sbin/amavisd[3445]: SMTP-out proto code loaded /usr/sbin/amavisd[3445]: Pipe-out proto code NOT loaded /usr/sbin/amavisd[3445]: BSMTP-out proto code NOT loaded /usr/sbin/amavisd[3445]: Local-out proto code loaded /usr/sbin/amavisd[3445]: OS_Fingerprint code NOT loaded /usr/sbin/amavisd[3445]: ANTI-VIRUS code NOT loaded /usr/sbin/amavisd[3445]: ANTI-SPAM code NOT loaded /usr/sbin/amavisd[3445]: ANTI-SPAM-SA code NOT loaded /usr/sbin/amavisd[3445]: Unpackers code loaded /usr/sbin/amavisd[3445]: Found $file at /usr/bin/file /usr/sbin/amavisd[3445]: No $dspam, not using it /usr/sbin/amavisd[3445]: Internal decoder for.mail /usr/sbin/amavisd[3445]: Internal decoder for.asc /usr/sbin/amavisd[3445]: Internal decoder for.uue /usr/sbin/amavisd[3445]: Internal decoder for.hqx /usr/sbin/amavisd[3445]: Internal decoder for.ync /usr/sbin/amavisd[3445]: Found decoder for.f at /usr/bin/unfreeze /usr/sbin/amavisd[3445]: Found decoder for.z at /bin/gzip -d /usr/sbin/amavisd[3445]: Internal decoder for.gz /usr/sbin/amavisd[3445]: Found decoder for.gz at /bin/gzip -d (backup, not used) 53

58 /usr/sbin/amavisd[3445]: Found decoder for.bz2 at /bin/bzip2 -d /usr/sbin/amavisd[3445]: No decoder for.lzo tried: lzop -d /usr/sbin/amavisd[3445]: No decoder for.rpm tried: rpm2cpio.pl, rpm2cpio /usr/sbin/amavisd[3445]: Found decoder for.cpio at /bin/cpio /usr/sbin/amavisd[3445]: Found decoder for.tar at /bin/cpio /usr/sbin/amavisd[3445]: Internal decoder for.tar (backup, not used) /usr/sbin/amavisd[3445]: Found decoder for.deb at /usr/bin/ar /usr/sbin/amavisd[3445]: Internal decoder for.zip /usr/sbin/amavisd[3445]: Found decoder for.rar at /usr/bin/unrar /usr/sbin/amavisd[3445]: Found decoder for.arj at /usr/bin/unarj /usr/sbin/amavisd[3445]: Found decoder for.arc at /usr/bin/arc /usr/sbin/amavisd[3445]: Found decoder for.zoo at /usr/bin/zoo /usr/sbin/amavisd[3445]: Found decoder for.lha at /usr/bin/lha /usr/sbin/amavisd[3445]: Found decoder for.cab at /usr/bin/cabextract /usr/sbin/amavisd[3445]: No decoder for.tnef tried: tnef /usr/sbin/amavisd[3445]: Internal decoder for.tnef /usr/sbin/amavisd[3445]: Found decoder for.exe at /usr/bin/unrar; /usr/bin/lha; /usr/bin/unarj /usr/sbin/amavisd[3445]: Creating db in /var/amavis/db/; BerkeleyDB 0.27, libdb 4.2 /usr/sbin/amavisd[3445]: Net::Server: Beginning prefork (4 processes) /usr/sbin/amavisd[3445]: Net::Server: Starting "4" children /usr/sbin/amavisd[3446]: Net::Server: Child Preforked (3446) /usr/sbin/amavisd[3446]: TIMING [total 4 ms] - bdb-open: 4 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3447]: Net::Server: Child Preforked (3447) /usr/sbin/amavisd[3447]: TIMING [total 4 ms] - bdb-open: 4 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3448]: Net::Server: Child Preforked (3448) /usr/sbin/amavisd[3449]: Net::Server: Child Preforked (3449) /usr/sbin/amavisd[3445]: Net::Server: Parent ready for children. /usr/sbin/amavisd[3448]: TIMING [total 11 ms] - bdb-open: 11 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3449]: TIMING [total 7 ms] - bdb-open: 7 (100%)100, rundown: 0 (0%)100 Si inicia correctamente y sin errores, podemos detener el demonio con Ctrl+C y depuse iniciarlo correctamente con los scritps que provee Gentoo. Iniciando amavisd: # /etc/init.d/amavisd start Para que el demonio de amavisd sea iniciado al arranque de el servidor, agregarlo al runlevel default, así: # rc-update add amavisd default * amavisd added to runlevel default * rc-update complete. 54

59 Instalación y configuración de SpamAssassin y sus plugins. # echo "mail-filter/spamassassin berkdb" >> /etc/portage/package.use # emerge spamassassin Configuración básica de SpamAssassin. # vim /etc/mail/spamassassin/local.cf Configurando Vipul s Razor Verbo: # emerge razor (Define temporalmente a bash como el shell de amavis) # usermod -s /bin/bash amavis # su - amavis $ razor-admin -create $ exit Redefinir el shell a /bin/false # usermod -s /bin/false amavis Instalando DCC (Distributed Checksum Clearinghouse) Verbo: # emerge -pv dcc 55

60 Instalando pyzor Verbo # emerge dev-python/pyzor Activando los plugins en la configuración de Spamassassin. Verbo # vim /etc/mail/spamassassin/v310.pre # DCC - perform DCC message checks # DCC is disabled here because it is not open source. See the DCC # license for more details loadplugin Mail::SpamAssassin::Plugin::DCC # Pyzor - perform Pyzor message checks loadplugin Mail::SpamAssassin::Plugin::Pyzor # Razor2 - perform Razor2 message checks # loadplugin Mail::SpamAssassin::Plugin::Razor Añadir reglas extras de los Ninjas de SARE en el Emporio de Reglas de SpamAssassin con rules_du_jour. Usar el overlay de tuxjm.net para instalar la ultima versión de rules_du_jour SPF (Infraestructura de Políticas de envío, Sender Policy Framework) - Instalar Soporte SPF en SpamAssassin: # emerge dev-perl/mail-spf-query Instalando el Antivirus ClamAV. Configurar clamd y freshclam # vim /etc/clamd.conf 56

61 # vim /etc/freshclam.conf # chown -R clamav:amavis /var/lib/clamav /var/log/clamav # chmod -R 775 /var/lib/clamav /var/log/clamav Iniciar clamd # /etc/init.d/clamd start * Starting clamd... [ ok ] * Starting freshclam... [ ok ] # rc-update add clamd default * clamd added to runlevel default * rc-update complete Integración y configuración de SpamAssassin y los plugins y clamav con amavisd-new. Primero el Antivirus En /etc/amavisd.conf comentar la linea = (1); # uncomment to DISABLE anti-virus code para activar filtro antivirus con clamav. Y en los logs se verán unas lineas así: # amavisd debug /usr/sbin/amavisd[3451]: starting. /usr/sbin/amavisd at mail.tuxjm.net amavisd-new ( ), Unicode aware /usr/sbin/amavisd[3451]: user=, EUID: 0 (0); group=, EGID: ( ); log_level=2 /usr/sbin/amavisd[3451]: Perl version /usr/sbin/amavisd[3451]: Net::Server: 2006/12/27-01:13:54 Amavis (type Net::Server::PreForkSimple) starting! pid(3451) /usr/sbin/amavisd[3451]: Net::Server: Binding to UNIX socket file /var/amavis/var/amavisd.sock using SOCK_STREAM /usr/sbin/amavisd[3451]: Net::Server: Binding to TCP port on host /usr/sbin/amavisd[3451]: Net::Server: Setting gid to " " /usr/sbin/amavisd[3451]: Net::Server: Setting uid to "101" /usr/sbin/amavisd[3451]: Net::Server: Setting up serialization via flock /usr/sbin/amavisd[3451]: Module Amavis::Conf /usr/sbin/amavisd[3451]: Module Archive::Tar 1.28 /usr/sbin/amavisd[3451]: Module Archive::Zip 1.16 /usr/sbin/amavisd[3451]: Module BerkeleyDB 0.27 /usr/sbin/amavisd[3451]: Module Compress::Zlib /usr/sbin/amavisd[3451]: Module Convert::TNEF 0.17 /usr/sbin/amavisd[3451]: Module Convert::UUlib

62 /usr/sbin/amavisd[3451]: Module Digest::MD /usr/sbin/amavisd[3451]: Module MIME::Entity /usr/sbin/amavisd[3451]: Module MIME::Parser /usr/sbin/amavisd[3451]: Module MIME::Tools /usr/sbin/amavisd[3451]: Module Mail::Header 1.67 /usr/sbin/amavisd[3451]: Module Mail::Internet 1.67 /usr/sbin/amavisd[3451]: Module Net::Cmd 2.26 /usr/sbin/amavisd[3451]: Module Net::SMTP 2.29 /usr/sbin/amavisd[3451]: Module Net::Server 0.94 /usr/sbin/amavisd[3451]: Module Time::HiRes 1.86 /usr/sbin/amavisd[3451]: Module Unix::Syslog /usr/sbin/amavisd[3451]: Amavis::DB code loaded /usr/sbin/amavisd[3451]: Amavis::Cache code loaded /usr/sbin/amavisd[3451]: SQL base code NOT loaded /usr/sbin/amavisd[3451]: SQL::Log code NOT loaded /usr/sbin/amavisd[3451]: SQL::Quarantine NOT loaded /usr/sbin/amavisd[3451]: Lookup::SQL code NOT loaded /usr/sbin/amavisd[3451]: Lookup::LDAP code NOT loaded /usr/sbin/amavisd[3451]: AM.PDP-in proto code loaded /usr/sbin/amavisd[3451]: SMTP-in proto code loaded /usr/sbin/amavisd[3451]: Courier proto code NOT loaded /usr/sbin/amavisd[3451]: SMTP-out proto code loaded /usr/sbin/amavisd[3451]: Pipe-out proto code NOT loaded /usr/sbin/amavisd[3451]: BSMTP-out proto code NOT loaded /usr/sbin/amavisd[3451]: Local-out proto code loaded /usr/sbin/amavisd[3451]: OS_Fingerprint code NOT loaded /usr/sbin/amavisd[3451]: ANTI-VIRUS code loaded /usr/sbin/amavisd[3451]: ANTI-SPAM code NOT loaded /usr/sbin/amavisd[3451]: ANTI-SPAM-SA code NOT loaded /usr/sbin/amavisd[3451]: Unpackers code loaded /usr/sbin/amavisd[3451]: Found $file at /usr/bin/file /usr/sbin/amavisd[3451]: No $dspam, not using it /usr/sbin/amavisd[3451]: Internal decoder for.mail /usr/sbin/amavisd[3451]: Internal decoder for.asc /usr/sbin/amavisd[3451]: Internal decoder for.uue /usr/sbin/amavisd[3451]: Internal decoder for.hqx /usr/sbin/amavisd[3451]: Internal decoder for.ync /usr/sbin/amavisd[3451]: Found decoder for.f at /usr/bin/unfreeze /usr/sbin/amavisd[3451]: Found decoder for.z at /bin/gzip -d /usr/sbin/amavisd[3451]: Internal decoder for.gz /usr/sbin/amavisd[3451]: Found decoder for.gz at /bin/gzip -d (backup, not used) /usr/sbin/amavisd[3451]: Found decoder for.bz2 at /bin/bzip2 -d /usr/sbin/amavisd[3451]: No decoder for.lzo tried: lzop -d /usr/sbin/amavisd[3451]: No decoder for.rpm tried: rpm2cpio.pl, rpm2cpio /usr/sbin/amavisd[3451]: Found decoder for.cpio at /bin/cpio /usr/sbin/amavisd[3451]: Found decoder for.tar at /bin/cpio /usr/sbin/amavisd[3451]: Internal decoder for.tar (backup, not used) /usr/sbin/amavisd[3451]: Found decoder for.deb at /usr/bin/ar /usr/sbin/amavisd[3451]: Internal decoder for.zip /usr/sbin/amavisd[3451]: Found decoder for.rar at /usr/bin/unrar /usr/sbin/amavisd[3451]: Found decoder for.arj at /usr/bin/unarj 58

63 /usr/sbin/amavisd[3451]: Found decoder for.arc at /usr/bin/arc /usr/sbin/amavisd[3451]: Found decoder for.zoo at /usr/bin/zoo /usr/sbin/amavisd[3451]: Found decoder for.lha at /usr/bin/lha /usr/sbin/amavisd[3451]: Found decoder for.cab at /usr/bin/cabextract /usr/sbin/amavisd[3451]: No decoder for.tnef tried: tnef /usr/sbin/amavisd[3451]: Internal decoder for.tnef /usr/sbin/amavisd[3451]: Found decoder for.exe at /usr/bin/unrar; /usr/bin/lha; /usr/bin/unarj /usr/sbin/amavisd[3451]: Using internal av scanner code for (primary) ClamAV-clamd /usr/sbin/amavisd[3451]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan /usr/sbin/amavisd[3451]: Creating db in /var/amavis/db/; BerkeleyDB 0.27, libdb 4.2 /usr/sbin/amavisd[3451]: Net::Server: Beginning prefork (4 processes) /usr/sbin/amavisd[3451]: Net::Server: Starting "4" children /usr/sbin/amavisd[3452]: Net::Server: Child Preforked (3452) /usr/sbin/amavisd[3452]: TIMING [total 4 ms] - bdb-open: 4 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3453]: Net::Server: Child Preforked (3453) /usr/sbin/amavisd[3453]: TIMING [total 4 ms] - bdb-open: 4 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3454]: Net::Server: Child Preforked (3454) /usr/sbin/amavisd[3455]: Net::Server: Child Preforked (3455) /usr/sbin/amavisd[3455]: TIMING [total 4 ms] - bdb-open: 4 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3451]: Net::Server: Parent ready for children. /usr/sbin/amavisd[3454]: TIMING [total 13 ms] - bdb-open: 13 (100%)100, rundown: 0 (0%)100 Después el AntiSPAM: # amavisd debug /usr/sbin/amavisd[3457]: starting. /usr/sbin/amavisd at mail.tuxjm.net amavisd-new ( ), Unicode aware /usr/sbin/amavisd[3457]: user=, EUID: 0 (0); group=, EGID: ( ); log_level=2 /usr/sbin/amavisd[3457]: Perl version /usr/sbin/amavisd[3457]: INFO: no optional modules: Mail::SpamAssassin::Plugin::DomainKeys Mail::DomainKeys::Header Mail::DomainKeys::Message Mail::DomainKeys::Policy Mail::DomainKeys::Signature Mail::DomainKeys::Key Mail::DomainKeys::Key::Public Crypt::OpenSSL::RSA auto::crypt::openssl::rsa::new_public_key auto::crypt::openssl::rsa::load_public_key auto::crypt::openssl::rsa::_new auto::crypt::openssl::rsa::destroy 59

64 IP::Country::Fast /usr/sbin/amavisd[3457]: SpamControl: init_pre_chroot done /usr/sbin/amavisd[3457]: Net::Server: 2006/12/27-01:15:27 Amavis (type Net::Server::PreForkSimple) starting! pid(3457) /usr/sbin/amavisd[3457]: Net::Server: Binding to UNIX socket file /var/amavis/var/amavisd.sock using SOCK_STREAM /usr/sbin/amavisd[3457]: Net::Server: Binding to TCP port on host /usr/sbin/amavisd[3457]: Net::Server: Setting gid to " " /usr/sbin/amavisd[3457]: Net::Server: Setting uid to "101" /usr/sbin/amavisd[3457]: Net::Server: Setting up serialization via flock /usr/sbin/amavisd[3457]: Module Amavis::Conf /usr/sbin/amavisd[3457]: Module Archive::Tar 1.28 /usr/sbin/amavisd[3457]: Module Archive::Zip 1.16 /usr/sbin/amavisd[3457]: Module BerkeleyDB 0.27 /usr/sbin/amavisd[3457]: Module Compress::Zlib /usr/sbin/amavisd[3457]: Module Convert::TNEF 0.17 /usr/sbin/amavisd[3457]: Module Convert::UUlib 1.06 /usr/sbin/amavisd[3457]: Module DBD::mysql /usr/sbin/amavisd[3457]: Module DBI 1.50 /usr/sbin/amavisd[3457]: Module DB_File /usr/sbin/amavisd[3457]: Module Digest::MD /usr/sbin/amavisd[3457]: Module MIME::Entity /usr/sbin/amavisd[3457]: Module MIME::Parser /usr/sbin/amavisd[3457]: Module MIME::Tools /usr/sbin/amavisd[3457]: Module Mail::Header 1.67 /usr/sbin/amavisd[3457]: Module Mail::Internet 1.67 /usr/sbin/amavisd[3457]: Module Mail::SPF::Query /usr/sbin/amavisd[3457]: Module Mail::SpamAssassin /usr/sbin/amavisd[3457]: Module Net::Cmd 2.26 /usr/sbin/amavisd[3457]: Module Net::DNS 0.53 /usr/sbin/amavisd[3457]: Module Net::SMTP 2.29 /usr/sbin/amavisd[3457]: Module Net::Server 0.94 /usr/sbin/amavisd[3457]: Module Razor2::Client::Version 2.82 /usr/sbin/amavisd[3457]: Module Time::HiRes 1.86 /usr/sbin/amavisd[3457]: Module Unix::Syslog /usr/sbin/amavisd[3457]: Amavis::DB code loaded /usr/sbin/amavisd[3457]: Amavis::Cache code loaded /usr/sbin/amavisd[3457]: SQL base code NOT loaded /usr/sbin/amavisd[3457]: SQL::Log code NOT loaded /usr/sbin/amavisd[3457]: SQL::Quarantine NOT loaded /usr/sbin/amavisd[3457]: Lookup::SQL code NOT loaded /usr/sbin/amavisd[3457]: Lookup::LDAP code NOT loaded /usr/sbin/amavisd[3457]: AM.PDP-in proto code loaded /usr/sbin/amavisd[3457]: SMTP-in proto code loaded /usr/sbin/amavisd[3457]: Courier proto code NOT loaded /usr/sbin/amavisd[3457]: SMTP-out proto code loaded /usr/sbin/amavisd[3457]: Pipe-out proto code NOT loaded /usr/sbin/amavisd[3457]: BSMTP-out proto code NOT loaded /usr/sbin/amavisd[3457]: Local-out proto code loaded /usr/sbin/amavisd[3457]: OS_Fingerprint code NOT loaded /usr/sbin/amavisd[3457]: ANTI-VIRUS code loaded /usr/sbin/amavisd[3457]: ANTI-SPAM code loaded 60

65 /usr/sbin/amavisd[3457]: ANTI-SPAM-SA code loaded /usr/sbin/amavisd[3457]: Unpackers code loaded /usr/sbin/amavisd[3457]: Found $file at /usr/bin/file /usr/sbin/amavisd[3457]: No $dspam, not using it /usr/sbin/amavisd[3457]: Internal decoder for.mail /usr/sbin/amavisd[3457]: Internal decoder for.asc /usr/sbin/amavisd[3457]: Internal decoder for.uue /usr/sbin/amavisd[3457]: Internal decoder for.hqx /usr/sbin/amavisd[3457]: Internal decoder for.ync /usr/sbin/amavisd[3457]: Found decoder for.f at /usr/bin/unfreeze /usr/sbin/amavisd[3457]: Found decoder for.z at /bin/gzip -d /usr/sbin/amavisd[3457]: Internal decoder for.gz /usr/sbin/amavisd[3457]: Found decoder for.gz at /bin/gzip -d (backup, not used) /usr/sbin/amavisd[3457]: Found decoder for.bz2 at /bin/bzip2 -d /usr/sbin/amavisd[3457]: No decoder for.lzo tried: lzop -d /usr/sbin/amavisd[3457]: No decoder for.rpm tried: rpm2cpio.pl, rpm2cpio /usr/sbin/amavisd[3457]: Found decoder for.cpio at /bin/cpio /usr/sbin/amavisd[3457]: Found decoder for.tar at /bin/cpio /usr/sbin/amavisd[3457]: Internal decoder for.tar (backup, not used) /usr/sbin/amavisd[3457]: Found decoder for.deb at /usr/bin/ar /usr/sbin/amavisd[3457]: Internal decoder for.zip /usr/sbin/amavisd[3457]: Found decoder for.rar at /usr/bin/unrar /usr/sbin/amavisd[3457]: Found decoder for.arj at /usr/bin/unarj /usr/sbin/amavisd[3457]: Found decoder for.arc at /usr/bin/arc /usr/sbin/amavisd[3457]: Found decoder for.zoo at /usr/bin/zoo /usr/sbin/amavisd[3457]: Found decoder for.lha at /usr/bin/lha /usr/sbin/amavisd[3457]: Found decoder for.cab at /usr/bin/cabextract /usr/sbin/amavisd[3457]: No decoder for.tnef tried: tnef /usr/sbin/amavisd[3457]: Internal decoder for.tnef /usr/sbin/amavisd[3457]: Found decoder for.exe at /usr/bin/unrar; /usr/bin/lha; /usr/bin/unarj /usr/sbin/amavisd[3457]: Using internal av scanner code for (primary) ClamAV-clamd /usr/sbin/amavisd[3457]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan /usr/sbin/amavisd[3457]: Creating db in /var/amavis/db/; BerkeleyDB 0.27, libdb 4.2 /usr/sbin/amavisd[3457]: SpamControl: initializing Mail::SpamAssassin /usr/sbin/amavisd[3457]: SpamControl: init_pre_fork done /usr/sbin/amavisd[3457]: Net::Server: Beginning prefork (4 processes) /usr/sbin/amavisd[3457]: Net::Server: Starting "4" children /usr/sbin/amavisd[3459]: Net::Server: Child Preforked (3459) /usr/sbin/amavisd[3459]: TIMING [total 8 ms] - bdb-open: 8 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3460]: Net::Server: Child Preforked (3460) /usr/sbin/amavisd[3460]: TIMING [total 16 ms] - bdb-open: 16 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3461]: Net::Server: Child Preforked (3461) /usr/sbin/amavisd[3461]: TIMING [total 8 ms] - bdb-open: 8 (100%)100, rundown: 0 (0%)100 /usr/sbin/amavisd[3457]: Net::Server: Parent ready for children. 61

66 /usr/sbin/amavisd[3462]: Net::Server: Child Preforked (3462) /usr/sbin/amavisd[3462]: TIMING [total 7 ms] - bdb-open: 7 (100%)100, rundown: 0 (0%) Integrando todo amavisd-new con Postfix. Configuración base de postfix: /etc/postfix/master.cf ### BEGIN AMAVISD-NEW CONFIG smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes :10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks= /8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 ### END AMAVISD-NEW CONFIG - Copiar archivo alias a el directorio de postfix # cp -v /etc/mail/aliases /etc/postfix/ aliases -> /etc/postfix/aliases /etc/postfix/main.cf ### BEGIN AMAVISD-NEW biff = no empty_address_recipient = MAILER-DAEMON queue_minfree = content_filter = smtp-amavis:[ ]:10024 ### END AMAVISD-NEW # rc-update add postfix default * postfix added to runlevel default * rc-update complete. 62

67 Al final cuando este todo integrado reiniciaremos postfix, y amavisd, en el log veremos como carga amavisd-new: # tail -f /var/log/mail.log amavis[3661]: starting. /usr/sbin/amavisd at mail.tuxjm.net amavisd-new ( ), Unicode aware amavis[3661]: Perl version amavis[3662]: Module Amavis::Conf amavis[3662]: Module Archive::Tar 1.28 amavis[3662]: Module Archive::Zip 1.16 amavis[3662]: Module BerkeleyDB 0.27 amavis[3662]: Module Compress::Zlib amavis[3662]: Module Convert::TNEF 0.17 amavis[3662]: Module Convert::UUlib 1.06 amavis[3662]: Module DBD::mysql amavis[3662]: Module DBI 1.50 amavis[3662]: Module DB_File amavis[3662]: Module Digest::MD amavis[3662]: Module MIME::Entity amavis[3662]: Module MIME::Parser amavis[3662]: Module MIME::Tools amavis[3662]: Module Mail::Header 1.67 amavis[3662]: Module Mail::Internet 1.67 amavis[3662]: Module Mail::SPF::Query amavis[3662]: Module Mail::SpamAssassin amavis[3662]: Module Net::Cmd 2.26 amavis[3662]: Module Net::DNS 0.53 amavis[3662]: Module Net::SMTP 2.29 amavis[3662]: Module Net::Server 0.94 amavis[3662]: Module Razor2::Client::Version 2.82 amavis[3662]: Module Time::HiRes 1.86 amavis[3662]: Module Unix::Syslog amavis[3662]: Amavis::DB code loaded amavis[3662]: Amavis::Cache code loaded amavis[3662]: SQL base code NOT loaded amavis[3662]: SQL::Log code NOT loaded amavis[3662]: SQL::Quarantine NOT loaded amavis[3662]: Lookup::SQL code NOT loaded amavis[3662]: Lookup::LDAP code NOT loaded amavis[3662]: AM.PDP-in proto code loaded amavis[3662]: SMTP-in proto code loaded amavis[3662]: Courier proto code NOT loaded amavis[3662]: SMTP-out proto code loaded amavis[3662]: Pipe-out proto code NOT loaded amavis[3662]: BSMTP-out proto code NOT loaded amavis[3662]: Local-out proto code loaded amavis[3662]: OS_Fingerprint code NOT loaded amavis[3662]: ANTI-VIRUS code loaded amavis[3662]: ANTI-SPAM code loaded amavis[3662]: ANTI-SPAM-SA code loaded amavis[3662]: Unpackers code loaded 63

68 amavis[3662]: Found $file at /usr/bin/file amavis[3662]: No $dspam, not using it amavis[3662]: Internal decoder for.mail amavis[3662]: Internal decoder for.asc amavis[3662]: Internal decoder for.uue amavis[3662]: Internal decoder for.hqx amavis[3662]: Internal decoder for.ync amavis[3662]: Found decoder for.f at /usr/bin/unfreeze amavis[3662]: Found decoder for.z at /bin/gzip -d amavis[3662]: Internal decoder for.gz amavis[3662]: Found decoder for.bz2 at /bin/bzip2 -d amavis[3662]: No decoder for.lzo tried: lzop -d amavis[3662]: No decoder for.rpm tried: rpm2cpio.pl, rpm2cpio amavis[3662]: Found decoder for.cpio at /bin/cpio amavis[3662]: Found decoder for.tar at /bin/cpio amavis[3662]: Found decoder for.deb at /usr/bin/ar amavis[3662]: Internal decoder for.zip amavis[3662]: Found decoder for.rar at /usr/bin/unrar amavis[3662]: Found decoder for.arj at /usr/bin/unarj amavis[3662]: Found decoder for.arc at /usr/bin/arc amavis[3662]: Found decoder for.zoo at /usr/bin/zoo amavis[3662]: Found decoder for.lha at /usr/bin/lha amavis[3662]: Found decoder for.cab at /usr/bin/cabextract amavis[3662]: No decoder for.tnef tried: tnef amavis[3662]: Internal decoder for.tnef amavis[3662]: Found decoder for.exe at /usr/bin/unrar; /usr/bin/lha; /usr/bin/unarj amavis[3662]: Using internal av scanner code for (primary) ClamAV-clamd amavis[3662]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan amavis[3662]: Creating db in /var/amavis/db/; BerkeleyDB 0.27, libdb 4.2 Capítulo 4. Implementación Listas Grises (Greylisting) 64

69 Capítulo 5. Administración Postfix Admin permite tres niveles de acceso: el administrador del sitio, el administrador de dominio, y el de usuario. El administrador del sitio controla el sitio por completo y tiene acceso a cada opción, es un nivel comparable a el usuario root en un sistema Unix pero claro solo aplicado a Phamm. El administrador del dominio puede agregar, remover, y modificar cuentas y aliases para su dominio. El usuario solo puede cambiar sus opciones Administración del sitio. Para accesar a la pagina de la administración de Postfix Admin se entra así: IMAGEN Cuando un administrador de sitio inicia sesión, inician con una lista de los dominios. Pueden dar click sobre el dominio para entrar a la pagina de administración de ese dominio y manipular sus opciones. Can Edit Accounts controla las opciones para que un administrador de dominio pueda agregar o eliminar cuentas virtuales. Cuando esta apagado, el administrador del dominio aun puede modificar atributos de cuentas existentes como cambiar la contraseña. Domain Is Active activa y desactiva el atributo de active el dominio en el directorio LDAP. Si el servidor de correo o el servidor IMAP están configurados para usar este atributo, uno puede desactivar un dominio temporalmente sin tener que removerlo de el directorio LDAP Administración de dominios. IMAGEN Cuando un administrador de dominio inicia sesión, verán la lista de dominios y alias para su dominio. Pueden dar click en un usuario para ver la administración de ese usuario, agregar o eliminar cuentas o alias, Tambien pueden activar y desactivar las cuentas. Algunas de estas opciones puede que no estén presente, esto depende de como configuro los permisos el site admin. Para eliminar una cuenta se selecciona la casilla que tiene a un lado y se presiona sobre el botón Delete. 65

70 Capítulo 5. Administración Account Is Active activa o desactiva una cuenta sin borrarla. Es como la opción Domain Is Active, el servidor de correo y el servidor IMAP deben de estar configurados para usar esta opción en el directorio LDAP. SMTP esta opción es para permitir que dicha cuenta pueda usar el servicio SMTP es decir para enviar correos por el servidor, si se activa la cuenta tendrá que configurar la autenticación SMTP en su cliente de correos, como se describe en el capitulo 6: Configuración de Clientes de Correo. SI no se activa esta opción la cuenta solo podrá recibir correos, pero si podría enviar por medio de un webmail Administración de usuarios. IMAGEN Cuando un usuario inicia sesión, se le presenta la pantalla donde configuración sus opciones, esto depende de si es una cuenta o un alias. En realidad todo lo que un usuario con esta configuración puede hacer es cambiar su contraseña, su nombre, y activar el forward. Un usuario alias puede hacer unas cosas mas, como agregar y quitar destinatarios de ese alias: como se muestra en la siguiente imagen: IMAGEN Para agregar destinatarios a un alias, el usuario solo necesita agregarlos en el área de texto ya en una lista separada por comas o un destinatario por linea, esta segunda opción seria mejor ya que es mas organizado y visible, si se desea eliminar un alias, basta con seleccionar la casilla y dar click al botón Modify Alias Notas sobre la creación de cuentas Cuando creas una cuanta o un alias dentro de la base de datos MySQL, esta estará instantáneamente activa para el sistema de correo. Para cuantas virtuales, se deberá de hacer notar que el directorio en /home/vmail no es creado en ese momento. Sin embargo, podemos darle la vuelta a esto ya que el agente de envío de postfix virtual (8) creara los directorios necesarios la primer vez que la cuenta recibe un correo. Debido a este caso, recomendamos enviar un mensaje de bienvenida a la cuenta para que se cree este directorio. Con Postfix Admin se puede hacer que envíe un correo automáticamente al nuevo buzón, esto se hace con el plugin mail, para activarlo editar el archivo de configuración del plugin mail: /RUTA/A/PHAMM/plugins/mail/config.inc.php // Welcome message Settings and template define (SEND_WELCOME,1); $welcome_msg =../plugins/mail/welcome_message.txt ; $welcome_subject = Bienvenido tu cuenta de correo ya esta lista! ; $welcome_sender = ; $welcome_bcc = ; 66

71 Capítulo 5. Administración Usando Maildrop en lugar de virtual (8) como MDA (Mail Delivery Agent) Usando maildrop como el transporte para nuestros dominios podemos tener soporte de quotas y otras opciones de filtrado. METER UN BUEN VERBO Notas sobre la eliminación de cuentas Cuando eliminas una cuenta o un alias en el directorio MySQL, instantáneamente sera inactiva. Para cuentas virtuales, se deberá hacer notar que el directorio Unix de ese buzón no es borrado. Por ejemplo, los datos permanecen en el disco hasta que un administrador de el sistema lo elimine manualmente. Esto podrá ayudar para mantener los datos hasta un periodo de gracia, dependiendo de la política de retención de correo. Por ejemplo en caso de que la cuenta haya sido eliminada por error. Sin embargo si otra cuenta es creada con la misma ruta de el buzón, los datos serán disponibles para el nuevo usuario. Esto puede ser considerado como una violación a la privacidad de el anterior usuario. 67

72 Capítulo 6. Configuración de Clientes de Correo Este capitulo describe como configurar diferentes clientes de correo para usarlo con este servidor de correo: 6.1. Microsoft Outlook Introducción: Antes de configurar una cuenta de correo en el Outlook se deben de tener los datos necesarios para configurarlas, estos datos deben de ser proporcionados por Jorge Armando Medina y los datos requeridos son estos: Nombre de correo: Contraseña: ************ Dirección servidor POP3: mail.tuxjm.net Dirección servidor SMTP: mail.tuxjm.net NOTA: Es sumamente importante configurar las opciones tal y como están aquí para no tener ningún problema, Tambien es MUY importante ingresar los datos tal y como se proporcionan respetando las mayúsculas y las minúsculas. 1.- Ejecutar Outlook: 2.- Ir a el Menú Tools=> Accounts, como se muestra en la imagen:. IMAGEN 3.- Lo siguiente es elegir la opción que dice: "Add a new account" como se muestra en la imagen: 68

73 Capítulo 6. Configuración de Clientes de Correo IMAGEN 4.- Elegir el tipo de cuenta que se desea configurar, en este caso es del tipo "POP3" como se muestra en la siguiente imagen: IMAGEN 5.- Ahora lo que sigue es llenar los datos básicos para configurar la cuenta, esto con los datos que se mencionaron antes, como se muestra en la imagen: IMAGEN 6.- Después se tiene que dar click en el botón "More Settings" y posicionarse en la pestaña "General" y poner los datos como se muestra en la siguiente imagen: IMAGEN 7.- Y ahora ir a la ficha "Outgoing server" y dejarlo como se muestra en la siguiente imagen, recordar que es sumamente importante configurar esto tal y como se muestra en la imagen para no tener problemas posteriores:. IMAGEN 8.- Por ultimo hay que presionar el botón OK para terminar y se vera un mensaje como el que se muestra en la siguiente ventana: IMAGEN 9.- Ahora se puede hacer una prueba enviando un correo a si mismo, es decir, a la misma dirección de correo que se acaba de configurar y ver que no marque ningún error y esperar un momento para ver si llega el correo, si marca algún error volver a revisar la configuración y verificar que no se cometió ningún error 6.2. Mozilla Thunderbird 1.- Ejecutar thunderbird, si es la primer vez que se ejecuta Thunderbird, te preguntara si deseas importar las Opciones, Configuraciones de Cuenta, Libreta de direcciones y correos desde otro programa, si no lo deseas, elije la opción: Don t import anything. Como se muestra en la siguiente imagen. 69

74 Capítulo 6. Configuración de Clientes de Correo 2.- Ahora aparecerá el Asistente para la creación de cuentas, elegiremos la creación de una cuenta de correo. 70

75 Capítulo 6. Configuración de Clientes de Correo 71

76 Capítulo 6. Configuración de Clientes de Correo 3.- Agregamos los datos de la identidad de la nueva cuenta de correo: Nombre y dirección de correo electrónico. 72

77 Capítulo 6. Configuración de Clientes de Correo 73

78 Capítulo 6. Configuración de Clientes de Correo 4.- Ahora configuraremos la información de el servidor de correo que usaremos para bajar o leer nuestros correos, ya sea POP o IMAP configurar el servidor de correo entrante y saliente, siempre poner el nombre completo: mail.tuxjm.net. 74

79 Capítulo 6. Configuración de Clientes de Correo 75

80 Capítulo 6. Configuración de Clientes de Correo 5.- Ahora configuraremos la información de los nombres de usuario que usaremos para autenticarnos a el servidor POP/IMAP y SMTP, como en nuestro caso el usuario es el mismo para ambos servicios dejaremos los valores predeterminados, recordar que debemos de escribir el nombre de usuario completo, es decir, con todo y dominio, por ejemplo: 76

81 Capítulo 6. Configuración de Clientes de Correo 77

Le activaremos el USE flag de mysql el cual activara el activara soporte para usar authlib.

Le activaremos el USE flag de mysql el cual activara el activara soporte para usar authlib. Maildrop - Agente de Envio de Correo (MDA) Anterior Capítulo 4. Implementación Siguiente Maildrop - Agente de Envio de Correo (MDA) Instalaremos y configuraremos Courier maildrop, este sera usado como

Más detalles

Configuración de un servidor de correo electrónico: Dovecot-Postfix en Fedora 18

Configuración de un servidor de correo electrónico: Dovecot-Postfix en Fedora 18 Configuración de un servidor de correo electrónico: Dovecot-Postfix en Fedora 18 Jorge Enrique Castañeda Moyano Código 1150367 Jonathan Sandoval Ortega Código 1150125 Configuración servidor de correo electrónico

Más detalles

Autenticación por SASL

Autenticación por SASL Autenticación por SASL En este apartado configuraremos la autenticación de usuarios por smtp. De momento vamos a hacerlo de forma sencilla y más tarde configuraremos sasl para que la autenticación vaya

Más detalles

Introducción a Postfix

Introducción a Postfix Introducción a Postfix Curso de Introducción al Software Libre para Alumnos Administración avanzada Adrián Santos Marrero 1 de diciembre de 2007 Qué es? Es un MTA (Mail Transfer Agent) Transporta correo

Más detalles

Tema: Servidor de Correo Electrónico

Tema: Servidor de Correo Electrónico Tema: Servidor de Correo Electrónico Catedratico: Alex Garcia Fecha: 17 de mayo de 2013 Integrantes: Raquel Carrillo. Carnet: 0900 08 5836 Mario Osoy Carnet: 0900 10 5281 Juan Carlos Giron Carnet: 0900

Más detalles

El IETF (Internet Ingineering Task Force, Equipo de Trabajo de Ingeniería de Internet)

El IETF (Internet Ingineering Task Force, Equipo de Trabajo de Ingeniería de Internet) ANEXOS Anexo 1: Protocolos de correo electrónico A continuación se presentan de forma resumida y funcional los protocolos de correo electrónico actualmente en vigor. Este análisis se centrará en aspectos

Más detalles

SISTEMA OPERATIVO GNU/LINUX SERVIDOR DE CORREO

SISTEMA OPERATIVO GNU/LINUX SERVIDOR DE CORREO SISTEMA OPERATIVO GNU/LINUX SERVIDOR DE CORREO Administración de Infraestructuras Técnologo en Informática 2012 Ap Solange Mikeliunas Ap Solange Mikeliunas Servidor de correo 1-13 Índice de contenido SERVIDOR

Más detalles

Servidor Email en Ubuntu 12.04 Juan Antonio Fañas

Servidor Email en Ubuntu 12.04 Juan Antonio Fañas Un servidor de correo es una aplicación de red ubicada en un servidor en internet. El MTA tiene varias formas de comunicarse con otros servidores de correo: 1. Recibe los mensajes desde otro MTA. Actúa

Más detalles

INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DE CORREO EXIM 4.8 EN FEDORA 20 FRAYBA SERYEY OTALORA TORRES 1150320 JOSE EDUARDO JAIMES BARRERA 1150315

INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DE CORREO EXIM 4.8 EN FEDORA 20 FRAYBA SERYEY OTALORA TORRES 1150320 JOSE EDUARDO JAIMES BARRERA 1150315 INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DE CORREO EXIM 4.8 EN FEDORA 20 FRAYBA SERYEY OTALORA TORRES 1150320 JOSE EDUARDO JAIMES BARRERA 1150315 UNIVERSIDAD FRANCISCO DE PAULA SANTANDER FACULTAD DE

Más detalles

Por D. Rafael J. Montero González

Por D. Rafael J. Montero González Por D. Rafael J. Montero González Introducción Características Componentes Funcionamiento Mensajes Servidores de correo Clientes de correo (MUA) Agentes de recuperación de correo (MRA) Protocolo SMTP Protocolo

Más detalles

Por lo tanto, podemos discriminar dos tipos de agentes que están involucrados en la transferencia de correo, MUA y MTA:

Por lo tanto, podemos discriminar dos tipos de agentes que están involucrados en la transferencia de correo, MUA y MTA: EL SISTEMA DE CORREO ELECTRÓNICO (SMTP Y POP3) El correo electrónico es una de las aplicaciones TCP/IP más utilizadas en estos días En su forma más sencilla, el correo electrónico, es una manera de enviar

Más detalles

INSTALACION, CONFIGURACION Y PRUEBAS DE CORREO ELECTRONICO POSTFIX ADMINISTRACION DE SISTEMAS OPERATIVOS DE RED FRANCISCO JAVIER DUARTE GARCIA 1150712

INSTALACION, CONFIGURACION Y PRUEBAS DE CORREO ELECTRONICO POSTFIX ADMINISTRACION DE SISTEMAS OPERATIVOS DE RED FRANCISCO JAVIER DUARTE GARCIA 1150712 INSTALACION, CONFIGURACION Y PRUEBAS DE CORREO ELECTRONICO POSTFIX ADMINISTRACION DE SISTEMAS OPERATIVOS DE RED FRANCISCO JAVIER DUARTE GARCIA 1150712 RICHARD MARTINEZ VALDERRAMA 1150390 UNIVERSIDAD FRANCISCO

Más detalles

Instalación y administración de servicios de correo electrónico

Instalación y administración de servicios de correo electrónico Instalación y administración de servicios de Álvaro Primo Guijarro Seguridad Informatica 07/02/ Contenido 1. Crear una cuenta de correo gratuita Gmail y configurar clientes de correo (MUA): Microsoft Outlook

Más detalles

Ubuntu Server 12.10. HOW TO : Servidor de Mail Postfix

Ubuntu Server 12.10. HOW TO : Servidor de Mail Postfix Ubuntu Server 12.10 HOW TO : Servidor de Mail Postfix EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar mail postfix y como instalarlo. Qué es un Correo Electrónico? Un servidor

Más detalles

Telnet. Telnet Operación

Telnet. Telnet Operación Telnet Protocolo utilizado para la ejecución de procesos en sistemas remotos. Emulación de Terminal Utiliza las funcionalidades de TCP Well Known Service, port number 23 Telnet Operación NVT (Network Virtual

Más detalles

SERVICIOS DE RED Correo electrónico: Introducción

SERVICIOS DE RED Correo electrónico: Introducción Administración de Redes SERVICIOS DE RED Correo electrónico: Introducción Profesor Eduardo Blanco Departamento de Computación y T. I. USB Componentes del sistema de email Un agente de usuario MUA (Mail

Más detalles

Para defendernos de estas amenazas, ebox dispone de un filtrado de correo bastante potente y flexible.

Para defendernos de estas amenazas, ebox dispone de un filtrado de correo bastante potente y flexible. Filtrado de correo electrónico Los principales problemas en el sistema de correo electrónico son el spam y los virus. El spam, o correo electrónico no deseado, distrae la atención del usuario que tiene

Más detalles

INSTALACIÓN DE SERVIDOR DE CORREO ELECTRÓNICO

INSTALACIÓN DE SERVIDOR DE CORREO ELECTRÓNICO 6 INSTALACIÓN DE SERVIDOR DE CORREO ELECTRÓNICO INTRODUCCIÓN Un servidor de correo electrónico lo podemos definir como aquella aplicación de red que se encuentra instalada en un servidor de internet con

Más detalles

INSTALACION, CONFIGURACION Y FUNCIONAMIENTO DE SENDMAIL EN FEDORA PRESENTADO POR ALFREDO SANCHEZ CONTRERAS CODIGO 0152605 ASIGNATURA ASOR PRESENTADO A

INSTALACION, CONFIGURACION Y FUNCIONAMIENTO DE SENDMAIL EN FEDORA PRESENTADO POR ALFREDO SANCHEZ CONTRERAS CODIGO 0152605 ASIGNATURA ASOR PRESENTADO A INSTALACION, CONFIGURACION Y FUNCIONAMIENTO DE SENDMAIL EN FEDORA PRESENTADO POR ALFREDO SANCHEZ CONTRERAS CODIGO 0152605 ASIGNATURA ASOR PRESENTADO A ING. JEAN POLO CEQUEDA UNIVERSIDAD FRANCISCO DE PAULA

Más detalles

3º Practica Servidor de Correo en Centos Postfix. Sistema Principal 1) Obtener e instalar el servidor de correo Postfix.

3º Practica Servidor de Correo en Centos Postfix. Sistema Principal 1) Obtener e instalar el servidor de correo Postfix. 3º Practica Servidor de Correo en Centos Postfix Se va a proceder a configurar 2 sistemas en la red que tenemos asignada, el primer sistema sera el sistema principal y el 2º el sistema de reserva. Sistema

Más detalles

CAPÍTULO 4. FUNCIONAMIENTO DEL CORREO ELECTRÓNICO

CAPÍTULO 4. FUNCIONAMIENTO DEL CORREO ELECTRÓNICO CAPÍTULO 4. FUNCIONAMIENTO DEL CORREO ELECTRÓNICO El correo electrónico es una herramienta cotidiana que forma parte de la rutina diaria, personal y profesional, de millones de personas. Sin embargo, pocas

Más detalles

ZeroShell - Configuración del HotSpot

ZeroShell - Configuración del HotSpot ZeroShell - Configuración del HotSpot Planteamiento Configuración network en ZeroShell En SETUP->Network, configurar las direcciones IP de las tarjetas de red: ETH00 hacia la red que debe atravesar el

Más detalles

Cómo utilizar SASL con Postfix.

Cómo utilizar SASL con Postfix. Indice de documentación Cómo utilizar SASL con Postfix. 1.- Introducción. La autentificacion del usuario en un servidor SMTP es un tema muy importante, sobre todo cuando los usuarios están fuera de nuestra

Más detalles

Administración de Postfix

Administración de Postfix Administración de Postfix Roberto García Fernández INTRODUCCIÓN Servidores de correo Sendmail Más antiguo Smail Más sencillo pero menos extendido Qmail Compatible con Sendmail Muy seguro Exim Similar a

Más detalles

Introducción a las redes de Computadoras Capítulo 2 Clase 2

Introducción a las redes de Computadoras Capítulo 2 Clase 2 Introducción a las redes de Computadoras Capítulo 2 Clase 2 Nota acerca de las transparencias del curso: Estas transparencias están basadas en el sitio web que acompaña el libro, y han sido modificadas

Más detalles

LINUX WEEK PUCP 2006 Control Antivirus y Antispam en sistemas Linux. Ing. Genghis Ríos Kruger

LINUX WEEK PUCP 2006 Control Antivirus y Antispam en sistemas Linux. Ing. Genghis Ríos Kruger LINUX WEEK PUCP 2006 Control Antivirus y Antispam en sistemas Linux Ing. Genghis Ríos Kruger Agenda Virus en Linux Spam Programas disponibles Correo Electrónico Escaneo del Correo Programa Filterman Los

Más detalles

SERVIDOR DE CORREO EN LINUX VERSIÓN 2 TECNOLOGIA EN GESTIÓN DE REDES DE DATOSCENTRO DE SERVICIOS Y GESTIÓN EMPRESARIAL SENA, MEDELLÍN

SERVIDOR DE CORREO EN LINUX VERSIÓN 2 TECNOLOGIA EN GESTIÓN DE REDES DE DATOSCENTRO DE SERVICIOS Y GESTIÓN EMPRESARIAL SENA, MEDELLÍN TECNOLOGIA EN GESTIÓN DE REDES DE DATOSCENTRO DE SERVICIOS Y GESTIÓN EMPRESARIAL SENA, MEDELLÍN 22/06/2012 SENA OSCAR DAVID ECHEVERRY ZAPATA SEBASTIAN VALENCIA FICHA: 230490 TECNOLOGIA: Gestión de redes

Más detalles

Correo Electrónico Avanzado. Juan Díez-Yanguas Barber

Correo Electrónico Avanzado. Juan Díez-Yanguas Barber Correo Electrónico Avanzado Juan Díez-Yanguas Barber Contenidos Introducción Configuración de Postfix y Dovecot Postfix Admin. Usuarios y dominios virtuales Webmail. RoundCube Mail AntiSpam - Antivirus

Más detalles

MySQL: Guía de Referencia

MySQL: Guía de Referencia Instituto Tecnologico Superior de Coatzacoalcos (ITESCO). MySQL: Guía de Referencia Farid Alfredo Bielma Lopez fbielma@fbielma.org http://fbielma.org/course/fbielma/curso_mysql.pdf Resumen del curso Algunas

Más detalles

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez Instituto Tecnológico de Las América Materia Sistemas operativos III Temas Servidor de Email Facilitador José Doñe Sustentante Robín Bienvenido Disla Ramirez Matricula 2011-2505 Grupo 1 Servidor de Email

Más detalles

CORREO ELECTRONICO. En el mercado existen muchos aplicativos orientados a servidores de correo inicialmente configuraremos el HMAILSERVER

CORREO ELECTRONICO. En el mercado existen muchos aplicativos orientados a servidores de correo inicialmente configuraremos el HMAILSERVER CORREO ELECTRONICO Correo electrónico, o en inglés e-mail (electronic mail), es un servicio de red que permite a los usuarios enviar y recibir mensajes rápidamente (también denominados mensajes electrónicos

Más detalles

La Capa de Aplicación Protocolos de Aplicación Básicos

La Capa de Aplicación Protocolos de Aplicación Básicos La Capa de Aplicación Protocolos de Aplicación Básicos mayo de 2008 DNS DNS (RFC 1034 y 1035) Idea básica: Cada nodo tiene un nombre único asignado a una dirección IP. El Sistema de Nombres de Dominio

Más detalles

si por el contrario, queremos compilarlo, tendremos que realizar los siguientes pasos: cd netinvent./configure make make install

si por el contrario, queremos compilarlo, tendremos que realizar los siguientes pasos: cd netinvent./configure make make install Manual de usuario NetInvent (servidor) Netinvent se proporciona en una paquete comprimido en formato netinvent.tar.gz. Este formato es uno de los comúnmente utilizados para distribuir los programas bajos

Más detalles

Instalación de Postfix y Dovecot Servicios de Red e Internet

Instalación de Postfix y Dovecot Servicios de Red e Internet Instalación de Postfix y Dovecot Servicios de Red e Internet 18/01/2012 INVENTARIOS DE SISTEMAS: Servidor de Correo: asir.ieslasgalletas.org o Sistema Operativo: Ubuntu Server 10.04 o IP: 192.168.1.159

Más detalles

ARQUITECTURA DE REDES Laboratorio

ARQUITECTURA DE REDES Laboratorio ARQUITECTURA DE REDES Laboratorio Práctica 6: Correo electrónico. 1. OBJETIVOS En esta práctica se va a hacer uso de los protocolos de correo electrónico más habituales. En concreto, se van a utilizar:

Más detalles

Paso 1 - Servidor de correo en Ubuntu: Instalar Apache 2

Paso 1 - Servidor de correo en Ubuntu: Instalar Apache 2 Si estamos trabajando en Ubuntu Server sin el entorno gráfico instalado, puede que nos interese instalarnos la aplicación Midnight Commander. Midnight Commander es un conocido gestor de ficheros especialmente

Más detalles

Para qué un servidor de correo? Instalación de postfix

Para qué un servidor de correo? Instalación de postfix Para qué un servidor de correo? Bueno, hoy tenemos correo gratis y extraordinario en la red: gmail, yahoo, terra,... Incluso gmail ya con el dominio que tú le indiques. Evidentemente, no lo queremos para

Más detalles

Universidad Nacional de Quilmes

Universidad Nacional de Quilmes Universidad Nacional de Quilmes Laboratorio de Redes y Sistemas Operativos SquirrelMail, nuestro propio servidor de mails Autores: Lucas Alan Silvestri Sergio Ariel Guzman Matias Ezequiel Piedrabuena Profesor:

Más detalles

CORREO ELECTRONICO POSTFIX CON WEBMAIL ADMINISTRACION DE SISTEMAS OPERATIVOS DE RED

CORREO ELECTRONICO POSTFIX CON WEBMAIL ADMINISTRACION DE SISTEMAS OPERATIVOS DE RED CORREO ELECTRONICO POSTFIX CON WEBMAIL ADMINISTRACION DE SISTEMAS OPERATIVOS DE RED BRIAN ALEXIS SIERRA FERRER 1150410 OSCAR MAURICIO URIBE CORDERO 1150454 UNIVERSIDAD FRANCISCO DE PAULA SANTANDER INGENIERIA

Más detalles

Alejandro Bárcena Campos alejandro@barcena.com.mx m77. Postfix + Cyrus + Courier + AMaViS + Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos alejandro@barcena.com.mx m77. Postfix + Cyrus + Courier + AMaViS + Spamassassin + ClamAV + Mysql Qué es el correo electrónico? El correo electrónico (electronic mail, e-mail o email) es un método de almacenamiento y reenvío de mensajes. Básicamente comprende: Elaboración Envío Recepción Los mensajes

Más detalles

Servicio de correo electrónico (SMTP/POP3 IMAP4)

Servicio de correo electrónico (SMTP/POP3 IMAP4) Servicio de correo electrónico (SMTP/POP3 IMAP4) El servicio de correo electrónico es un método de almacenamiento y envío [1] para la composición, emisión, reserva y recepción de mensajes sobre sistemas

Más detalles

Monitoreo de redes. Ing. Diego Córdoba www.linuxinstitute.com.ar Pagina 1 de 9

Monitoreo de redes. Ing. Diego Córdoba www.linuxinstitute.com.ar Pagina 1 de 9 Monitoreo de redes Ing. Diego Córdoba www.linuxinstitute.com.ar Pagina 1 de 9 HIDS: Host Intrusion Detection System OSSEC es un Host Intrusion Detection System, cuya principal función es realizar controles

Más detalles

Servidor de correo en Ubuntu: Instalar y configurar servidor de correo

Servidor de correo en Ubuntu: Instalar y configurar servidor de correo Servidor de correo en Ubuntu: Instalar y configurar servidor de correo POSTFIX Postfix es un agente de transporte de correo de manera que nos permite enrutar y transferir correo electrónico. Por ello,

Más detalles

JAMES 2.1 Toni dlf. Díaz (25/09/2003). toni@blyx.com

JAMES 2.1 Toni dlf. Díaz (25/09/2003). toni@blyx.com JAMES 2.1 Toni dlf. Díaz (25/09/2003). toni@blyx.com He escrito este pequeño manual para que no se me olvide como instalar y configurar "el Jaime" el servidor de correo basado en Java 2 que forma parte

Más detalles

SendMail. delaf.sytes.net. Instalación y envio de emails L A TEX. 28 may 2009. Universidad Nacional Andrés Bello

SendMail. delaf.sytes.net. Instalación y envio de emails L A TEX. 28 may 2009. Universidad Nacional Andrés Bello Instalación Instalación y envio de emails delaf.sytes.net L A TEX Universidad Nacional Andrés Bello 28 may 2009 Instalación Tabla de contenidos 1 Introducción Correo electrónico 2 Instalación Debian GNU/Linux

Más detalles

Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora.

Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora. Instalación y configuración de un servidor de base de datos MySQL 4.1 y su réplica en Red Hat Linux ES 4.0 o Fedora. Toni de la Fuente Díaz http://blyx.com Septiembre 2006 Introducción:...1 Datos de interés

Más detalles

Descarga. MUY IMPORTANTE! Courier debe ser desempaquetado y compilado por un usuario que NO SEA ROOT! Esto no es opcional, es OBLIGATORIO.

Descarga. MUY IMPORTANTE! Courier debe ser desempaquetado y compilado por un usuario que NO SEA ROOT! Esto no es opcional, es OBLIGATORIO. Servidor de email Courier-MTA - Parte 1 Me la paso recomendando Courier-MTA en todos lados. Hoy me llegó la hora: dejo de amenazar, y les presento esta maravillosa pieza de software... y comentarios de

Más detalles

Desarrollo Web con PHP

Desarrollo Web con PHP Desarrollo Web con PHP Ignacio Andrés González Una tarea habitual en aplicaciones web es el envío de email. Php dispone de la función mail() de forma implícita, por lo que no precisa istalación de ningún

Más detalles

Correo Electrónico, Representación y Transferencia. ELO322: Redes de Computadores Agustín J. González

Correo Electrónico, Representación y Transferencia. ELO322: Redes de Computadores Agustín J. González Correo Electrónico, Representación y Transferencia ELO322: Redes de Computadores Agustín J. González 1 Introducción Muchas aplicaciones de usuario usan una arquitectura cliente-servidor, el correo electrónico

Más detalles

Instalación de un servidor de correo

Instalación de un servidor de correo 1 de 8 Ver índice Instalación de un servidor de correo Un servidor de correo El servidor de correo Mercury Mail puede descargarse www.pmail.com o bien instalar directamente el fichero m32-462.exe que encontrarás

Más detalles

Instalación y. bastionamiento de un. servidor de correo bajo. GNU/Linux

Instalación y. bastionamiento de un. servidor de correo bajo. GNU/Linux Instalación y bastionamiento de un servidor de correo bajo GNU/Linux Lorena Fernández a.k.a. Loretahur www.loretahur.es INDICE 1. Introducción... 1 1.1. Características de Postfix... 2 2. Protocolos...

Más detalles

Vielka Mari Utate Tineo 2013-1518. Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. Sistema Operativo 3 PRACTICA NO. 16, SERVIDOR EMAIL

Vielka Mari Utate Tineo 2013-1518. Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. Sistema Operativo 3 PRACTICA NO. 16, SERVIDOR EMAIL PRACTICA NO. 16, SERVIDOR EMAIL -EJEMPLO REAL DE USO DEL SERVIDOR DE EMAIL Vielka Mari Utate Tineo 2013-1518 Instituto Tecnológico de las Américas ITLA Profesor José Doñé Sistema Operativo 3 Vielka Utate

Más detalles

IMPLEMENTACION DE UN SERVIDORES DE CORREOS

IMPLEMENTACION DE UN SERVIDORES DE CORREOS UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACION CATEDRA: REDES I IMPLEMENTACION DE UN SERVIDORES DE CORREOS AUTORES: CARNET NOMBRE

Más detalles

INSTRUCTIVO DE INSTALACION DSPACE 5.1

INSTRUCTIVO DE INSTALACION DSPACE 5.1 Grupo de Innovación y Apropiación de Tecnologías de la Información Archivística Compilador: Pedro Antonio Gómez Guarín INSTRUCTIVO DE INSTALACION DSPACE 5.1 INSTALACION DSPACE 5.1 Contenido INTRODUCCION...

Más detalles

MICROSOFT EXCHANGE 2007

MICROSOFT EXCHANGE 2007 MICROSOFT EXCHANGE 2007 En el momento de elaborar este documento en la URL http://technet.microsoft.com/enus/evalcenter/bb736128.aspx podíamos descargar una versión de prueba de Microsoft Exchange 2007.

Más detalles

Servidor de correo en Ubuntu 10.4: Instalar Apache 2.

Servidor de correo en Ubuntu 10.4: Instalar Apache 2. Servidor de correo en Ubuntu 10.4: Instalar Apache 2. Apache2 es un potente servidor HTTP de código abierto. Con el podemos montar un servidor web de una forma sencilla y segura. Para poder instalar un

Más detalles

Rawel E. Luciano B. 2011-2281. Sistema Operativo III 15- SERVIDOR EMAIL. José Doñe

Rawel E. Luciano B. 2011-2281. Sistema Operativo III 15- SERVIDOR EMAIL. José Doñe Nombre: Rawel E. Luciano B. Matricula: 2011-2281 Materia: Sistema Operativo III How to: 15- SERVIDOR EMAIL Profesor: José Doñe Servidor de Correo Un servidor de correo es una aplicación informática ubicada

Más detalles

S M T P y P O P 3 u s a n d o T E L N E T Editado viernes, 27 de agosto de 2006 Introducción Este artículo sólo pretende mostrar de qué manera, a través de TELNET, se puede enviar y recibir correo electrónico

Más detalles

ADMINISTRADOR DE CORREO ZIMBRA

ADMINISTRADOR DE CORREO ZIMBRA Administrador de Correo Zimbra Escuela de Sistemas y Tecnologías BIOS Página 1 de 9 ADMINISTRADOR DE CORREO ZIMBRA OBJETIVOS GENERALES La empresa VMware viene demostrando desde hace bastante tiempo la

Más detalles

Manual de Usuario. Start Web Hosting

Manual de Usuario. Start Web Hosting Manual de Usuario Start Web Hosting 1 INDICE 1. Introducción... 3 2. Características del servicio... 3 2.1. Recursos... 3 2.2. Gestión... 4 2.3. Inicio de uso del servicio... 4 3. El panel de control...

Más detalles

MANUAL WEBMAIL. Webmail es un servicio online que permite ingresar a su cuenta de email sin necesidad de un software especializado a través de la Web.

MANUAL WEBMAIL. Webmail es un servicio online que permite ingresar a su cuenta de email sin necesidad de un software especializado a través de la Web. MANUAL WEBMAIL Webmail es un servicio online que permite ingresar a su cuenta de email sin necesidad de un software especializado a través de la Web. Para poder acceder a nuestro webmail tenemos que seguir

Más detalles

Correo Electrónico (RFC 822, MIME, SMTP, POP3 e IMAP)

Correo Electrónico (RFC 822, MIME, SMTP, POP3 e IMAP) Correo Electrónico (RFC 822, MIME, SMTP, POP3 e IMAP) Apunte de clase sobre correo electrónico. Teoría de las comunicaciones (FCEN, UBA). Escrito por Carolina León Carri mcarri@dc.uba.ar Junio 2006. 1.

Más detalles

Monitorización SGBD PostgreSQL

Monitorización SGBD PostgreSQL Monitorización SGBD PostgreSQL Página 1 Monitorización SGBD PostgreSQL. OpenOffice/PDF Version 1º Edition, 22 September 2012 Copyright 2012 Luis Caballero Cruz Página 2 1 MONITORIZACIÓN

Más detalles

Servidor de correo. En un servidor de correo, intervienen los siguientes protocolos:

Servidor de correo. En un servidor de correo, intervienen los siguientes protocolos: Rocío Alt. Abreu Ortiz 2009-3393 Servidor de correo El servidor de correo se encargara de gestionar los correos de los usuarios de su dominio o empresa (ejemplo: @suempresa.com), pudiendo atender miles

Más detalles

Cómo Configurar Postfix con SASL.

Cómo Configurar Postfix con SASL. Cómo Configurar Postfix con SASL. Este es un manual en versión BETA, puede haber algunos errores tipográficos y de ortografía. Última modificación: Viernes 26 de Agosto de 2003, 8:55 AM. Joel Barrios Dueñas

Más detalles

Manual del e-mail: Guía del usuario Ab core para acceder y configurar la cuenta e-mail

Manual del e-mail: Guía del usuario Ab core para acceder y configurar la cuenta e-mail Manual del e-mail: Guía del usuario Ab core para acceder y configurar la cuenta e-mail 1 Índice ÍNDICE 2 INTRODUCCIÓN 3 PREGUNTAS FRECUENTES: 3 CÓMO FUNCIONA EL CORREO ELECTRÓNICO? 3 QUÉ DIFERENCIA HAY

Más detalles

Visión general de Dovecot

Visión general de Dovecot servidor POP/IMAP seguro Luís Meléndez 1 Javier Álvarez Uriarte 1 Victoriano Giralt 2 1 Servicio de Informática Universidad de Córdoba 2 Servicio Central de Informática Universidad de Málaga Granada, 14

Más detalles

Servidor de Protocolo de Transferencia de

Servidor de Protocolo de Transferencia de Servidor de Protocolo de Transferencia de Archivos (FTP) Etiquetas: ftp «Volver a Administración de... Imprimir Table of Contents [-] 1 Acerca del Protocolo FTP 2 Funcionamiento del Protocolo FTP 3 Modos

Más detalles

SpamTitan. 1 de 42 01/12/2007 1:55. Instalación y configuración de SpamTitan,

SpamTitan. 1 de 42 01/12/2007 1:55. Instalación y configuración de SpamTitan, 1 de 42 01/12/2007 1:55 SpamTitan Instalación y configuración de SpamTitan, En este procedimiento se explica el proceso de configuración de un servidor Anti Spam llamado SpamTitan, actualmente está disponible

Más detalles

TEMA 7. CORREO ELECTRÓNICO

TEMA 7. CORREO ELECTRÓNICO 1 TEMA 7. CORREO ELECTRÓNICO 1. Introducción 2. Direcciones de correo 3. Elementos de un correo 4. Funcionamiento general o del servicio de correo electrónico 5. Protocolos 6. Servidores de correo electrónico

Más detalles

LABORATORIO DE FTP. PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez. PRESENTADO A: Marcelo Utard Javier Bozzuto

LABORATORIO DE FTP. PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez. PRESENTADO A: Marcelo Utard Javier Bozzuto LABORATORIO DE FTP PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez PRESENTADO A: Marcelo Utard Javier Bozzuto ESCUELA DE GRADUADOS DE ELECTRÓNICA Y TELECOMUNICACIONES LABORATORIO DE

Más detalles

Laboratorio Configuración de Correo SendMail

Laboratorio Configuración de Correo SendMail Laboratorio Configuración de Correo SendMail Objetivo General: Configurar un Servidor de Correo SendMail. Objetivo Específico: Al finalizar éste Laboratorio el alumno será capaz de: Instalar los paquetes

Más detalles

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO PRÁCTICA 4: Implementación de un Cliente de Correo

Más detalles

COBEMAIL Versión 3.10 Manual del usuario

COBEMAIL Versión 3.10 Manual del usuario COBEMAIL Versión 3.10 Manual del usuario www.cobtools.com Página - 1 - I N D I C E Introducción... 3 Instalación... 4 Parámetros que acepta... 7 Instrucciones para generar en el archivo de Email... 8 Registros

Más detalles

Administracion de red y servicios en GNU/Linux para tecnicos Codigo: ARSLT

Administracion de red y servicios en GNU/Linux para tecnicos Codigo: ARSLT Administracion de red y servicios en GNU/Linux para tecnicos Codigo: ARSLT Objetivo del curso Proporcionar al participante conocimientos técnicos necesarios para la utilización del sistema Operativo GNU/Linux,

Más detalles

CENTRO DE BACHILLERATO TECNOLÓGICO INDUSTRIAL Y DE SERVICIOS #166 Pablo Torres Burgos

CENTRO DE BACHILLERATO TECNOLÓGICO INDUSTRIAL Y DE SERVICIOS #166 Pablo Torres Burgos INSTRUCCIONES: Crear una máquina virtual con CentOS. Esperar a que cargue el SO y abrir una terminal de comandos. Realizar lo siguiente. NOTA: Para cada comando que se ejecute exitosamente: tomar una captura

Más detalles

SERVICIO DE CORREO COIT.ES

SERVICIO DE CORREO COIT.ES SERVICIO DE CORREO COIT.ES 1. Descripción del servicio El nuevo servicio de correo con dominio COIT.ES proporcionado por el Colegio Oficial de Ingenieros de Telecomunicación a todos sus colegiados de manera

Más detalles

HONEYPOT III Servicios emulados con Valhalla Honeypot

HONEYPOT III Servicios emulados con Valhalla Honeypot HONEYPOT III Servicios emulados con Valhalla Honeypot Popularidad: 2 Simplicidad: 10 Impacto: 9 Nivel de Riesgo: 4 Objetivo: Usar un honeypot con varios servicios de interacción media Herramientas necesarias:

Más detalles

Servicios clásicos de Internet

Servicios clásicos de Internet Daniel Morató Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra daniel.morato@unavarra.es Laboratorio de Interfaces de Redes http://www.tlm.unavarra.es/asignaturas/lir

Más detalles

http://recursostic.educacion.es/observatorio/web/es/software/servidores/800-monograficoservidores-wamp?start=3

http://recursostic.educacion.es/observatorio/web/es/software/servidores/800-monograficoservidores-wamp?start=3 Hola amigos, os paso un mini manual de XAMPP, un servidor wamp, para poder hacer pruebas de forma local, en mi caso de Oscommerce, aunque también lo he probado con éxito con otros CMS. Fácil de instalar,

Más detalles

Estableciendo Sesiones SSL en MySQL

Estableciendo Sesiones SSL en MySQL Estableciendo Sesiones SSL en MySQL Estableciendo Sesiones SSL en MySQL Objetivos: Crear la infraestructura de certificados X.509 necesaria para incorporar servicios de seguridad en el acceso a un Base

Más detalles

Software Developement

Software Developement AnesGy Software Developement Clase AnesGyMail (PHP) Página 1 de 8 Descripción de la clase La utilidad de esta clase está en el envío de correos electrónicos desde PHP vía un servidor SMTP. También funciona

Más detalles

DESCRIPCIÓN DEL SERVICIO DE CORREO ELECTRÓNICO DE LA UNIVERSIDAD DE BURGOS

DESCRIPCIÓN DEL SERVICIO DE CORREO ELECTRÓNICO DE LA UNIVERSIDAD DE BURGOS REVISIÓN: NÚMERO 3 HOJA: 1 DE 13 DESCRIPCIÓN DEL SERVICIO DE CORREO ELECTRÓNICO DE LA UNIVERSIDAD DE BURGOS 1. OBJETO. 2. CLIENTES. 3. RESPONSABLE. 4. ACCESO AL CORREO ELECTRÓNICO. 5. DESCRIPCIÓN TÉCNICA

Más detalles

Módulos. Programador de Sistemas. Módulo 1. Teoría de la programación. Módulo 2. Conceptos de redes de comunicación. Módulo 3. Windows Server 2008

Módulos. Programador de Sistemas. Módulo 1. Teoría de la programación. Módulo 2. Conceptos de redes de comunicación. Módulo 3. Windows Server 2008 Material del Curso Módulo 2. Conceptos de Redes de Comunicación aemperador@efor.es Septiembre 2011 Febrero 2012 Módulos Módulo 1. Teoría de la programación Módulo 2. Conceptos de redes de comunicación

Más detalles

Servidores Linux. CEP Indalo. Enrique Brotons SERVIDOR WEB

Servidores Linux. CEP Indalo. Enrique Brotons SERVIDOR WEB SERVIDOR WEB Hoy en día casi todos los centros educativos cuentan con una página web donde poder ofrecer información del centro como las enseñanzas que se imparten, horarios escolares, ubicación del mismo,

Más detalles

Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows. Módulo 5: Servicio Microsoft Exchange

Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows. Módulo 5: Servicio Microsoft Exchange Ministerio de Educación, Cultura y Deporte. Aulas en Red. Windows Módulo 5: Servicio Microsoft Exchange Aulas en red. Aplicaciones y servicios. Windows Servicio Correo Electrónico En este apartado procederemos

Más detalles

Alcance y Descripción del producto APLICACIONES ESTANDAR INSTALACIÓN Y CONFIGURACIÓN EN SERVIDORES. Página 1 de 6

Alcance y Descripción del producto APLICACIONES ESTANDAR INSTALACIÓN Y CONFIGURACIÓN EN SERVIDORES. Página 1 de 6 Alcance y Descripción del producto APLICACIONES ESTANDAR INSTALACIÓN Y CONFIGURACIÓN EN SERVIDORES Página 1 de 6 1 Introducción La propuesta se basa en proveer aplicaciones sobre la infraestructura de

Más detalles

OBJETIVOS DE LA CAPACITACION

OBJETIVOS DE LA CAPACITACION OBJETIVOS DE LA CAPACITACION Cuando empiezan a funcionar tus correos. Utilizar tu correo por Web. Cambiar la contraseña de tu correo. Configurar Redireccionamientos. Crear Auto Contestadores. Configuración

Más detalles

ISPConfig Documentation

ISPConfig Documentation ISPConfig Documentation ISPConfig Documentation I Table de Contenidos III Manual del Cliente...1 1 General...1 1.1 Login y contraseña...1 1.2 El interfaz para Clientes...1 1.3 Los Privilegios para Clientes

Más detalles

LOGO. Modulo 2. Carlos Villanueva

LOGO. Modulo 2. Carlos Villanueva SSO5501 Hardening de un Sistema Operativo de Red LOGO Modulo 2 Carlos Villanueva Introduccion Hardering, del ingles Endurecimiento, se refiere al proceso de segurizar un Sistema o Aplicación Objetivos

Más detalles

OpenFire. Introducción. Sobre Openfire. Caracteristicas. Caracteristicas. Tabla de Contenidos [-]

OpenFire. Introducción. Sobre Openfire. Caracteristicas. Caracteristicas. Tabla de Contenidos [-] OpenFire Tabla de Contenidos [-] Introducción Jabber es un protocolo libre para mensajería instantánea, basado en el estándar XML y gestionado por XMPP Standards Foundation. La red de Jabber está formada

Más detalles

CuteFTP Manual de configuración

CuteFTP Manual de configuración CuteFTP Manual de configuración 28/03/2001 Manual de Cute-FTP 4.0 Configurar la conexión Conectando con el servidor Pantalla Principal Cambiar la presentación Elegir los directorios de origen y destino

Más detalles

Dominios y Correo electrónico

Dominios y Correo electrónico Dominios y Correo electrónico Teoría de las Comunicaciones Departamento de Computación Universidad de Buenos Aires 06/11/2012 Esquema DNS: Domain Name System * RFC 1034 - Concepts and Facilities * RFC

Más detalles

INSTRUCTIVO DE INSTALACION EN WINDOWS Y LINUX DE ALFRESCO COMMUNITY 4.2

INSTRUCTIVO DE INSTALACION EN WINDOWS Y LINUX DE ALFRESCO COMMUNITY 4.2 INSTRUCTIVO DE INSTALACION EN WINDOWS Y LINUX DE ALFRESCO COMMUNITY 4.2 Grupo de Innovación y Apropiación de Tecnologías de la Información Archivística Compilador: Pedro Antonio Gómez Guarín Contenido

Más detalles

CONSEJERIA DE EDUCACION. http://creativecommons.org/licenses/by-sa/3.0/es/

CONSEJERIA DE EDUCACION. http://creativecommons.org/licenses/by-sa/3.0/es/ CONSEJERIA DE EDUCACION http://creativecommons.org/licenses/by-sa/3.0/es/ main.cf dynalias.com http://openrbl.org/ http://www.loracep.org/moodle/mod/resource/view.php?id=1651 http://www.loracep.org/moodle/mod/resource/

Más detalles

1 of 10 31/01/08 16:02 Cluster Mysql 5.X De Telefonica I+D - Division 6123 Explicaremos cómo instalar y configurar un Mysql 5.0 Cluster sobre Centos 5 Autor: Edwin Plauchu mail to: j4nusx@gmail.com Tabla

Más detalles

CURSO ADMINISTRADOR GNU/LINUX CON DEBIAN CANAIMA

CURSO ADMINISTRADOR GNU/LINUX CON DEBIAN CANAIMA CURSO ADMINISTRADOR GNU/LINUX CON DEBIAN CANAIMA Objeto del curso: Formar en el área de Administrador a participantes de diferentes Entes de la Administración Pública Nacional. Objetivos generales y específicos

Más detalles

Práctica de laboratorio 3.4.3: Protocolos y servicios de correo electrónico

Práctica de laboratorio 3.4.3: Protocolos y servicios de correo electrónico Diagrama de topología Tabla de direccionamiento Dispositivo Interfaz Dirección IP Máscara de subred Gateway por defecto R1-ISP R2-Central Eagle Server S0/0/0 10.10.10.6 255.255.255.252 No aplicable Fa0/0

Más detalles