66
SISTEMA DE CORREO SEGURO SOBRE LINUX DISTRIBUCIÓN CENTOS POR : ADRIAN PEÑA JOHAN LOPEZ YOJAN USME PROFESOR: MAURICIO ORTIZ NUMERO DE ORDEN: 20111 SERVICIO NACIONAL DE APRENDIZAJE — SENA MEDELLIN 2010

Correo Seguro Sobre Linux Distribucion CentOS

  • Upload
    yojan

  • View
    491

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Correo Seguro Sobre Linux Distribucion CentOS

SISTEMA DE CORREO SEGURO SOBRE LINUX DISTRIBUCIÓN CENTOS

POR :

ADRIAN PEÑA JOHAN LOPEZYOJAN USME

PROFESOR:MAURICIO ORTIZ

NUMERO DE ORDEN:20111

SERVICIO NACIONAL DE APRENDIZAJE — SENAMEDELLIN

2010

Page 2: Correo Seguro Sobre Linux Distribucion CentOS

CONTENIDO

− INTRODUCCIÓN

− OBJETIVOS

− MARCO TEÓRICO

− INSTALACION Y CONFIGURACION OPENLDAP

− INSTALACION Y CONFIGURACIÓN SAMBA

− POBLANDO EL DIRECTORIO LDAP CON EL SAMBA

− INSTALACION MANDRIVA DIRECTORY SERVER

− INSTALACIÓN Y CONFIGURACIÓN MMC-AGENT

− INSTALACION Y CONFIGURACION DE MMC-WEB-BASE Y DEMAS PLUGINS

− INSTALACION Y CONFIGURACION DEL BIND

− INSTALACION Y CONFIGURACION DHCPD

− INSTALACION Y CONFIGURACION DEL MMC-WEB-MAIL

− INSTALACION, CONFIGURACION POSTFIX Y DOVECOT

− INSTALACION Y CONFIGURACION DE SQUIRRELMAIL

− IMPLEMENTACIÓN DE SASL

− CREACIÓN DE CERTIFICADOS.−− CONFIGURANDO POSTFIX CON TLS/SSL.

− INSTALANDO Y CONFIGURANDO AMAVISD, CLAMAV Y EL SPAMASSASSIN.

− PRUEBA DE SERVICIO ANTISPAM.

Page 3: Correo Seguro Sobre Linux Distribucion CentOS

INTRODUCCIÓN

Desde el principio de los tiempos, la comunicación a sido una necesidad del diario vivir, y gracias a los avances de la tecnología se ha vuelto algo muy común, y fácil a la vez. Existen muchos medios de comunicación entre estos esta el servicio de correo electronico, el cual es un modo muy sencillo y comodo de enviar mensajes sin la necesidad de consumir grandes recursos y además, en la mayoría de los casos un servicio confiable, rapido y seguro.

Este servicio de correo, permite enviar, recibir y almacenar mensajes o correos por red. Esto es posible gracias a los protocolos SMTP (simple mail protocol), IMAP (Internet Message Access Protocol) y POP3 (Post Office Protocol3), quienes permiten el envio de estos mensajes entre servidores y asi llevarlos a un buzón y permitir la descarga o simplemente la revisión de estos por un usuario final.

Este trabajo o solución al problema planteado fue realizado sobre la plataforma Linux, distribución CentOS.

Page 4: Correo Seguro Sobre Linux Distribucion CentOS

OBJETIVO GENERAL

Comprender y brindar una solución integra para configurar y administrar una plataforma de correo electrónico segura, igualmente desarrollar competencias en esta área y fortalecer un tanto la responsabilidad; esto por medio de documentación y las pruebas que se puedan realizar en tiempo real, asesorías recibidas por parte de nuestro tutor. Todo esto con el fin de presentar una solución y comprender como funciona una plataforma de correo segura.

OBJETIVOS ESPECIFICOS

• Realizar una implementación de correo segura que va de la mano con un servicio de directorio, utilizando las herramientas necesarias obteniendo así una solución que satisfaga las necesidades que se presentan en el planteamiento del problema.• Comprender los conceptos y funcionamiento de un servicio de correo.• Implementar una solución RAID, así tener la posibilidad de recuperar el sistemas en caso de una falla.• Instalar y brindar herramientas para un correo seguro como lo es un Antivirus, AntiSpam, Web segura y Certificados de Seguridad.

Page 5: Correo Seguro Sobre Linux Distribucion CentOS

MARCO TEORICO

LDAP: (Lightweight Directory Acces protocol, protocolo ligero de acceso a directorios), es un protocolo de nivel de aplicación que permite el acceso a un servicio de directorio. OpenLDAP: es una implementación libre y de código abierto del protocolo Lightweight Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Samba: es una implementación del protocolo de archivos compartidos de Windows, antes llamado smb y recientemente renombrado a CIFS para sistemas tipo UNIX. Amavisd: es una aplicación que se encarga de llevar el correo entrante y saliente a el antivirus y antispam para exminarlo, luego lo devuelve al buzón y dependiendo del contenido lo etiqueta como spam, virus o correo deseado.

Clamav: es un software antivirus open source (GPL-general public license) para Windows, Linux y otros OS semejantes a Unix.

SpamAssassin: es una herramienta para filtrar correos electrónicos para determinar si son mensajes SPAM, conocido tambien como mensaje chatarra. SASL: (Simple Authentication and Security Layer). Es un entorno de trabajo para la autentificación y seguridad de datos en protocolos de internet

SMB: es un protocolo de comunicación de alto nivel que se puede implementar sobre diferentes potrocolos como TCP/IP, NetBEUI y IPX/SPX; permite compartir archivos impresoras además de otros recursos de red.

Bind: (berkeley internet name domain (daemon anteriormente), es el DNS más comúnmente usado en internet, especialmente en sistemas UNIX.

TLS: es un protocolo que garantiza la seguridad y la integridad de los datos entre aplicaciones cliente/servidor.

Postfix: funciona como un agente de transporte de correo (MTA) de codigo abierto.

Dovecot: es un servidor de IMAP y POP3 de código abierto, fundamentalmente escrito pensando en seguridad.

Mandriva Directory Server: es un sistema o plataforma de directorio basado en LDAP, con este es posible gestionar los diferentes aplicaciones, configuraciones de diferenteso servicios, politicas, perfiles de usuarios, etc.

Page 6: Correo Seguro Sobre Linux Distribucion CentOS

POP (Post Office Protocol, Protocolo de Oficina de Correo): Se utiliza en los clientes locales de correo con el fin de obtener los correos que hay almacenados en el servidor remoto, y asi, hacer que los correos se puedan guardar en el equipo cliente. Está diseñado para recibir, mas no para enviar correos y utiliza el puerto 110.SMTP, (Simple Mail Transfer Protocol, Protocolo Simple de Transferencia de Correo): Es basado en el intercambio de correos electrónicos entre computadores, u otros equipos de computo domo celulares, PDA’s, etc. Tiene un funcionamiento cliente-servidory utiliza el puerto 25.

IMAP, (Internet Message Access Protocol, Protocolo de Internet de Acceso a Mensajes): Es más complejo y mejor que el POP, ya que permite ver los correos remotamente y no descárgalos al equipo cliente como lo hace POP, de esta forma si se borra un mensaje desde el usuario, también se borrara en el servidor, si abrimos un mensaje desde el cliente también se abrirá en el servidor. Trabaja por el puerto 143.

SSL: es un protocolo mediante el cual se establece una conexión segura por medio de un canal cifrado entre el cliente y servidor. Así el intercambio de información se realiza en un entorno seguro y libre de ataques.

Perl: es un lenguaje de programación muy utilizado para construir apicaciones CGI para la web.

Php (hypertext preprocesor) es un lenguaje de programación del lado servidor.

Python: es un lenguaje interpretado, que permite ejecutar y analizar programas escritos en un lenguaje de alto nivel (el lenguaje de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas).

Webmail: es un cliente de correo electrónico. Provee una interfaz web por la cual es posible acceder al correo electrónico.

MDA: Mail Delivery Agent, Agente de Entrega de Correo. Es un software, el cual permite la entrega del correo entrante y los distribuye a los buzones de los destinatarios (si la cuenta se encuentra en la maquina local) o reenvía el correo entrante a un servidor SMTP (si los destinatarios están en maquinas remotas)

MTA: Mail Transportation Agent, Agente de Transporte de Correo. Aplicación que tiene la función de transmitir correos electrónicos entre clientes de una red (de un computador a otro).Este es el servidor de correo que utiliza el protocolo SMTP. Ejemplos de MTA, son: Microsoft Exchange, Postfix, Sendmail, Qmail, entre otros.

Page 7: Correo Seguro Sobre Linux Distribucion CentOS

Telnet: (TELecommunication NETwork), es un protocolo de red, que permite acceder mediante una red a una maquina, y asi manejarla remotamente. Generalmente el puerto que utiliza es el 23.

Demonio: es un software que se ejecuta en segundo plano continuamente para dar algún tipo de servicio.

Maildir: es un formato de spool de correo electrónico, que mantiene la integridad de los mensajes. Maildir tiene tres subdirectorios llamados tmp, new y cur.

Spool: es un proceso mediante el cual se introduce, en general, trabajos en un buffer o en un area especial de una memoria, de forma que un dispositivo o servicio pueda acceder a ellos cuando este listo.

Mbox: es un término genérico para una familia de formatos de archivo, que se usan para almacenar conjuntos de correos electrónicos.

Page 8: Correo Seguro Sobre Linux Distribucion CentOS

CONFIGURACIÓN OPENLDAP Y SAMBA

Antes de iniciar con la instalacion, tenemos la posibilidad de cambiar el nombre del equipo (no es necesario), y el dominio local. Lo haremos por la ruta /etc/sysconfig/network …

Luego, este fichero, donde daremos el nombre del equipo y luego el dominio....

Para iniciar, debemos descargar e instalar algunas dependencias...

− openldap− openldap-clients− openldap-servers− authconfig− authconfig-gtk

Page 9: Correo Seguro Sobre Linux Distribucion CentOS

pasamos a configurar el cliente:

Modificamos las siguientes lineas...

Ahora vamos a generar un password para el usuario administrador de LDAP...

Pasamos a editar el siguiente fichero...

Page 10: Correo Seguro Sobre Linux Distribucion CentOS

En este paso editamos las lineas que estan legibles en la imagen, como el dominio, el usuario de admin de LDAP, el password generado anteriormente, asi …

Esta version de ldap trae consigo un fichero que tiene configuraciones para la base de datos de ldap, haremos una copia en la siguiente ruta...

Ahora pasamos a crear el fichero ldif, el cual nos dará la posibilidad de poblar el servicio de directorio y ademas debemos tener en cuenta que a partir de ella se crean las demás entradas. Damos lo siguiente...

Agregamos las lineas que se ven a continuación, aclarando que debemos modificar las lineas que se ven sombreadas...

Page 11: Correo Seguro Sobre Linux Distribucion CentOS

Ahora agregamos las entradas al directorio...

Ahora, le diremos que todo lo que se encuentre dentro de la carpeta pertenezca al grupo y usuario ldap...

Ahora reiniciamos ldap, para verificar que si este corriendo de forma correcta....

Page 12: Correo Seguro Sobre Linux Distribucion CentOS

Pasamos a instalar los paquetes para configurar SAMBA...

Debemos tener en cuenta que para instalar este ultimo (smbldap-tools), debemos instalar un repositorio. Lo mostraremos a continuación...(lo descargaremo por consola)

Page 13: Correo Seguro Sobre Linux Distribucion CentOS

Ahora lo instalamos...

Verificamos que se haya instalado...

y veremos...

Ahora si, podremos instalar el paquete smbldap-tools, pero debemos agregarle --enablerepo=rpmforge.

Page 14: Correo Seguro Sobre Linux Distribucion CentOS

A continuación crearemos los logs para LDAP...Solo agregaremos una linea al fichero:

La linea que esta seleccionada será la que agregaremos...

Luego creamos un fichero en la ruta /var/log/ se llamará ldap.log, y luego reiniciamos el servicio syslog para que los cambios sean tomados...

Page 15: Correo Seguro Sobre Linux Distribucion CentOS

Lo siguiente será descargar el Agente de administración de mandriva. Este lo descargamos desde el ftp que nos brinda mandriva directory server desdeftp://mds.mandriva.org/pub/mds/sourcesLuego lo descomprimimos...

Ahora reemplazamos el archivo de configuración por defecto que trae el samba. Lo copiaremos desde el paquete que acabamos de descomprimir...

Modificaremos el fichero de configuración de samba...

Al abrir el fichero veremos algo como esto...

Page 16: Correo Seguro Sobre Linux Distribucion CentOS

[global]

        workgroup = HOME        netbiosname = PRUEBA        server string = Mandriva Directory Server ­ SAMBA %v        log level = 3        null passwords = yes        domain logons = yes        domain master = yes        wins support = yes        time server = yes        enable privileges = yes        deadtime = 5        printing = cups        printcap name = cups        logon path = \\%N\profiles\%U        logon script = logon.bat        map acl inherit = yes        inherit acls = yes        inherit permissions = yes        nt acl support = yes        force unknown acl user = Yes        passdb backend = ldapsam:ldap://127.0.0.1/        ldap admin dn = cn=root,dc=adpesk,dc=local        ldap suffix = dc=adpesk,dc=local        ldap group suffix = ou=Groups        ldap user suffix = ou=Users        ldap machine suffix = ou=Computers        ldap idmap suffix = ou=Idmap        idmap backend = ldap:ldap://127.0.0.1/        idmap uid = 20000­30000        idmap gid = 20000­30000

        add machine script = /usr/local/lib/mmc/add_machine_script '%u'        add share command = /usr/local/lib/mmc/add_change_share_script        delete share command = /usr/local/lib/mmc/delete_share_script        add printer command = /usr/local/lib/mmc/add_printer_script        deleteprinter command = /usr/local/lib/mmc/delete_printer_script

[homes]        comment = Home directories        browseable = no        writeable = yes        create mask = 0700        directory mask = 0700

[public]        comment = Public share        path = /home/samba/shares/public        browseable = yes        public = yes        writeable = yes[archives]

Page 17: Correo Seguro Sobre Linux Distribucion CentOS

        comment = Backup share        path = /home/archives        browseable = yes        public = no        writeable = no

[printers]        comment = All printers        path = /var/spool/samba        public = yes        guest ok = yes        browseable = no        writeable = no        printable = yes

[print$]        comment = Printer Driver Download Area        path = /var/lib/samba/printers        browseable = no        guest ok = yes        read only = yes        write list = +"Print Operators"        force group = "Print Operators"        create mask = 0775        directory mask = 0775

[netlogon]

        comment = Network Logon Service        path = /home/samba/netlogon        guest ok = yes        browseable = no

[profiles]

        path = /home/samba/profiles        writeable = yes        create mask = 0700        directory mask = 0700        browseable = no

Nota: las carpetas que se muestran en las anteriores lineas resaltadas debemos crearlas...Además antes de esto agregaremos a las rutas la carpeta local (esta resaltado).

Page 18: Correo Seguro Sobre Linux Distribucion CentOS

Ahora copiaremos el fichero samba.schema que se encuentra en la carpeta donde descomprimimos el mmc agent...

Debe quedar....

Este esquema lo agregaremos al fichero de configuracion slap.conf :

Page 19: Correo Seguro Sobre Linux Distribucion CentOS

Ahora asignaremos una contraseña al samba (preferiblemente la misma que ldap).

Luego daremos un identificador de seguridad (SID) , se utiliza para identificar la redundancia de un objeto en especifico en una red. Para probar si realmente le fue asignado le damos # slapcat | grep SID...

El fichero smbldap_bind.config será necesario editarlo para lograr poblar nuestro directorio ldap...

Lo modificaremos con nuestros datos...

Page 20: Correo Seguro Sobre Linux Distribucion CentOS

Modificaremos el fichero smbldap.conf

Debe quedar lo siguiente...

# $Source: $# $Id: smbldap.conf,v 1.18 2005/05/27 14:28:47 jtournier Exp $## smbldap­tools.conf : Q & D configuration file for smbldap­tools

#  This code was developped by IDEALX (http://IDEALX.org/) and#  contributors (their names can be found in the CONTRIBUTORS file).##                 Copyright (C) 2001­2002 IDEALX##  This program is free software; you can redistribute it and/or#  modify it under the terms of the GNU General Public License#  as published by the Free Software Foundation; either version 2#  of the License, or (at your option) any later version.##  This program is distributed in the hope that it will be useful,#  but WITHOUT ANY WARRANTY; without even the implied warranty of#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the#  GNU General Public License for more details.##  You should have received a copy of the GNU General Public License#  along with this program; if not, write to the Free Software#  Foundation, Inc., 59 Temple Place ­ Suite 330, Boston, MA 02111­1307,#  USA.#  Purpose :#       . be the configuration file for all smbldap­tools scripts################################################################################ General Configuration############################################################################### Put your own SID. To obtain this number do: "net getlocalsid".# If not defined, parameter is taking from "net getlocalsid" returnSID="S­1­5­21­1672593486­3966296036­2663941200"# Domain name the Samba server is in charged.# If not defined, parameter is taking from smb.conf configuration file# Ex: sambaDomain="IDEALX­NT"sambaDomain="HOME"##############################################################################

Page 21: Correo Seguro Sobre Linux Distribucion CentOS

# LDAP Configuration############################################################################### Notes: to use to dual ldap servers backend for Samba, you must patch# Samba with the dual­head patch from IDEALX. If not using this patch# just use the same server for slaveLDAP and masterLDAP.# Those two servers declarations can also be used when you have # . one master LDAP server where all writing operations must be done# . one slave LDAP server where all reading operations must be done#   (typically a replication directory)# Slave LDAP server# Ex: slaveLDAP=127.0.0.1# If not defined, parameter is set to "127.0.0.1"slaveLDAP="prueba.adpesk.local"# Slave LDAP port# If not defined, parameter is set to "389"slavePort="389"# Master LDAP server: needed for write operations# Ex: masterLDAP=127.0.0.1# If not defined, parameter is set to "127.0.0.1"masterLDAP="prueba.adpesk.local"# Master LDAP port# If not defined, parameter is set to "389"#masterPort="389"masterPort="389"# Use TLS for LDAP# If set to 1, this option will use start_tls for connection# (you should also used the port 389)# If not defined, parameter is set to "0"ldapTLS="0"# Use SSL for LDAP# If set to 1, this option will use SSL for connection# (standard port for ldaps is 636)# If not defined, parameter is set to "0"ldapSSL="0"# How to verify the server's certificate (none, optional or require)# see "man Net::LDAP" in start_tls section for more detailsverify="require"# CA certificate# see "man Net::LDAP" in start_tls section for more detailscafile="/etc/smbldap­tools/ca.pem"# certificate to use to connect to the ldap server# see "man Net::LDAP" in start_tls section for more detailsclientcert="/etc/smbldap­tools/smbldap­tools.iallanis.info.pem"# key certificate to use to connect to the ldap server# see "man Net::LDAP" in start_tls section for more detailsclientkey="/etc/smbldap­tools/smbldap­tools.iallanis.info.key"# LDAP Suffix# Ex: suffix=dc=IDEALX,dc=ORGsuffix="dc=adpesk,dc=local"# Where are stored Users# Ex: usersdn="ou=Users,dc=IDEALX,dc=ORG"# Warning: if 'suffix' is not set here, you must set the full dn for usersdn

Page 22: Correo Seguro Sobre Linux Distribucion CentOS

usersdn="ou=Users,${suffix}"# Where are stored Computers# Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG"# Warning: if 'suffix' is not set here, you must set the full dn for computersdncomputersdn="ou=Computers,${suffix}"# Where are stored Groups# Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG"# Warning: if 'suffix' is not set here, you must set the full dn for groupsdngroupsdn="ou=Groups,${suffix}"# Where are stored Idmap entries (used if samba is a domain member server)# Ex: groupsdn="ou=Idmap,dc=IDEALX,dc=ORG"# Warning: if 'suffix' is not set here, you must set the full dn for idmapdnidmapdn="ou=Idmap,${suffix}"# Where to store next uidNumber and gidNumber available for new users and groups# If not defined, entries are stored in sambaDomainName object.# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"sambaUnixIdPooldn="sambaDomainName=HOME,${suffix}"# Default scope Usedscope="sub"# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)hash_encrypt="SSHA"# if hash_encrypt is set to CRYPT, you may set a salt format.# default is "%s", but many systems will generate MD5 hashed# passwords if you use "$1$%.8s". This parameter is optional!crypt_salt_format="%s"############################################################################## # Unix Accounts Configuration# ############################################################################### Login defs# Default Login Shell# Ex: userLoginShell="/bin/bash"userLoginShell="/bin/bash"# Home directory# Ex: userHome="/home/%U"userHome="/home/%U"# Default mode used for user homeDirectoryuserHomeDirectoryMode="700"# GecosuserGecos="System User"# Default User (POSIX and Samba) GIDdefaultUserGid="513"# Default Computer (Samba) GIDdefaultComputerGid="515"# Skel dirskeletonDir="/etc/skel"# Default password validation time (time in days) Comment the next line if# you don't want password to be enable for defaultMaxPasswordAge days (be# careful to the sambaPwdMustChange attribute's value)defaultMaxPasswordAge="45"

Page 23: Correo Seguro Sobre Linux Distribucion CentOS

################################################################################ SAMBA Configuration############################################################################### The UNC path to home drives location (%U username substitution)# Just set it to a null string if you want to use the smb.conf 'logon home'# directive and/or disable roaming profiles# Ex: userSmbHome="\\PDC­SMB3\%U"userSmbHome="\\PRUEBA\%U"# The UNC path to profiles locations (%U username substitution)# Just set it to a null string if you want to use the smb.conf 'logon path'# directive and/or disable roaming profiles# Ex: userProfile="\\PDC­SMB3\profiles\%U"userProfile="\\PRUEBA\profiles\%U"# The default Home Drive Letter mapping# (will be automatically mapped at logon time if home directory exist)# Ex: userHomeDrive="H:"userHomeDrive="H:"# The default user netlogon script name (%U username substitution)# if not used, will be automatically username.cmd# make sure script file is edited under dos# Ex: userScript="startup.cmd" # make sure script file is edited under dosuserScript="logon.bat"# Domain appended to the users "mail"­attribute# when smbldap­useradd ­M is used# Ex: mailDomain="idealx.com"mailDomain="adpesk.local"################################################################################ SMBLDAP­TOOLS Configuration (default are ok for a RedHat)############################################################################### Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but# prefer Crypt::SmbHash librarywith_smbpasswd="0"smbpasswd="/usr/bin/smbpasswd"# Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm)# but prefer Crypt:: librarieswith_slappasswd="0"slappasswd="/usr/sbin/slappasswd"# comment out the following line to get rid of the default banner# no_banner="1"

Nota: las partes resaltadas son las que debemos modificar con los respectivos datos...

Page 24: Correo Seguro Sobre Linux Distribucion CentOS

Con los anteriores pasos revizados y bien hechos, estaremos listos para poblar ldap. Solo daremos el comando smbldap-populate -m 512 -a administrator ...

INSTALACION MANDRIVA DIRECTORY SERVER

A continuacion vamos a realizar la instalacion y configuracion del Mandriva Directory Server para esto se debe obtener de esta direccion los siguientes paquetes http://mds.mandriva.org/pub/mds/sources/2.3.2/

mmc-agent-2.3.2.tar.gzmmc-web-base-2.3.2.tar.gzmmc-web-mail-2.3.2.tar.gzmmc-web-network-2.3.2.tar.gzmmc-web-samba-2.3.2.tar.gz

antes de comenzar con la instacion se deben tener instalados los siguientes paquetes esto por que mmc esta escrito en python epueden ser instalados desde los repositorios con el comando yum

Python-twistedPython-ldap

Page 25: Correo Seguro Sobre Linux Distribucion CentOS

python-libaclpython-psycopgpostgresql-python, squid squidguardredhat-lsbpostgresql-pythonmxpython-twisted-webPyXMLpython-fpconstpython-soapphp-xmlphp-xmlrpc

despues de la instalacion de los paquetes reiniciamos el apache (httpd) y asi cargue los nuevos modulos php.

INSTALACIÓN Y CONFIGURACIÓN MMC-AGENT

luego de tener el paquete mmc-agent-2.3.2.tar.gz lo descompirmimos con el comando tar -zxvf luego de solo tener la carpeta mmc-agent-2.3.2 ingresamos a ella damos ls y veremos los siguientes archivos

lo siguiente es ejecutar el comando make install.Luego que finalice el proceso de compilar la aplicación esta no queda ancalada el arranque del sistema en de CentOS habra que hacerlo de manera manueal con el comando chkconfig de la siguiente manera.

Ahora habra que agregar el mmc.schema a los esquemas del open ldap este lo encontramos en la carpeta mmc-agent-2.3.2 que antes fue descompresa y luego en el archivo slapd incluimos este esquema.

Page 26: Correo Seguro Sobre Linux Distribucion CentOS

INSTALACION Y CONFIGURACION DE MMC-WEB-BASE Y DEMAS PLUGINS

Luego de tener el paquete mmc-web-base-2.3.2.tar.gz se descompirme se ingresa en la carpeta e instalamos con el comando make installl luego editamos el archivo base.ini que se encuentra en la ruta /etc/mmc/plugins/ especificaremos la informacion de nuestro dominio asi como el usuario y contraseña de nuestro servidor ldap de la siguiente manera.

En el password se puede especificar en texto plano o como en el ejemplo sifrado.

Page 27: Correo Seguro Sobre Linux Distribucion CentOS

Asi mismo instalamos los demas plugins mmc-web-mail-2.3.2, mmc-web-network-2.3.2 y mmc-web-samba-2.3.2. del mmc pero los demas no los instalaremos con el HTTPDUSER=apache solo make instally esta hecho todos los archivos de configuracion de estos plugins estaran en la ruta antes mendata /etc/mmc/plugins/

hora se continua configurando el pligin para el samba se la siguiente manera las modificaciones no son muchas son principalmente la informacion de nuestro dominio del servidor ldap, los plugins tienen dos opciones con las cuales podemos activar o desactivarlos y este es una linea que dice disable =en esta se pone un 0 si se quiere activar o un 1 para desactivar en el siguiente pantallazo se muestra de manera mas clara estas opciones.

Valga recordar que para que todo funcione correctamente tambien debemos copiar en esquema del samba que se encuentra en capeta mmc-agent-2.3.2/contrib/ldap alli estan todos los esquemas este se llama samba.schema y lo copiamos en la ruta del open ldap /etc/openldap/schema/ y agregar la lina include en el slapd.

Reiniciamos el mmc-agent y luego verificar que si este escuchando por el puerto 7080.

Page 28: Correo Seguro Sobre Linux Distribucion CentOS

ahora por ultimo en la carpeta mmc-agent-2.3.2/confs/apache/ hay un archivo llamado mmc.conf este hay que copiarlo en la ruta /etc/hhtp/conf.d/ como se muestra a continuacion y asi mismo luego reiniciar el httpd.

Ahora desactivamos el Selinux para poder para no tener ningun tipo de problema a la hora de iniciar sesion en el Mandriva Directory Server.

Ahora podemos si es de un cliente abrir el explorador web e ingresar la direccion de nuestro Mandriva Directory Server en este casi seria la

Page 29: Correo Seguro Sobre Linux Distribucion CentOS

direccion http://192.168.56.101/mmc/ con el usuario y contraseña iniciar sesion de la siguiente manera.

Luego nos aparecera si todo esta bien de la siguiente manera listo para empezar a gestionar los usuarios de ldap y los recursos de samba.

Page 30: Correo Seguro Sobre Linux Distribucion CentOS

INSTALACION Y CONFIGURACION DEL BIND

bind es el demonio con el que se configurara un servidor DNS para nuestro dominio este lo instalaremos parchado para que las zonas se guarden en nuestro ldap y asi gestionar las mismas desde el Mandriva DS veremos ademas que la ruta de instalacion estara enjaulada para una mayor seguridad.

Lo podemos parchar nosotros mismos, pero para este caso ya esta parchado asi que solo mostraremos la instalacion.

Lo primero es crear un usuario y un grupo para el bind y ademas crear la estructura de directorios y sus respectivos permisos.

echo "named:x:200:200:Nameserver:/chroot/named:/bin/false" >> /etc/passwdecho "named:x:200:" >> /etc/groupmkdir -p /chroot/namedcd /chroot/namedmkdir -p dev etc/namedb/slave var/runchown -R named:named /chroot/named/etc/namedb/slavechown named:named /chroot/named/var/runmknod /chroot/named/dev/null c 1 3mknod /chroot/named/dev/random c 1 8chmod 666 /chroot/named/dev/{null,random}cp /etc/localtime /chroot/named/etc/

luego se modifica el archivo /etc/sysconfig/syslog con el comando nano o el editor de texto que se prefiera y la sigueinte linea debe de quedar de esta manera

despues de esto se reinicia el el syslog y se nombra como propietario al root de la carpeta /chroot

/etc/rc.d/init.d/syslog stop/etc/rc.d/init.d/syslog startchown root /chrootchmod 700 /chrootchown named:named /chroot/namedchmod 700 /chroot/namedcd /chroot/namedchattr +i etc/localtime var

ahroa solo limpiaremos el sistema de cualquier paquete que tenga que ver con el bind para la intalacion del nuevo demonio solo se tendra que buscar que paquetes hay con el comando rpm-qa | grep bind de esta manera nos

Page 31: Correo Seguro Sobre Linux Distribucion CentOS

listara algunos paquetes luego solo con el siguiente comando se limpian la sintaxis seria asi rpm-e – nodeps <en este espacio ponemos el nombres de los paquetes que fueron listados>

ya si tenemos todo listo para empezar a instalar el bind luego de que tengamos ya las los paquetes fuente parchado se ingresa en la carpeta y se compila, para compilar debemos tener en nustros sistema instalados openldap-devel.i386, gcc, gcc-c++, autoconf, automake si no los tenemos instalados los hacemos con el comando yum y ahora si empezar a compilar

./configuremake && make install

luego de que se compile en esta ruta si no esta creamos el siguiente archivo /etc.init.d/named con el editor de texto que se prefiera y pegamos el siguiente contenido este le escificara como iniciar y para el servicio

#!/bin/sh## named This shell script takes care of starting and stopping# named (BIND DNS server).## chkconfig: 345 55 45# description: named (BIND) is a Domain Name Server (DNS) \# that is used to resolve host names to IP addresses.# probe: true## Source function library.. /etc/rc.d/init.d/functions## Source networking configuration.. /etc/sysconfig/network## Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0#[ -f /usr/local/sbin/named ] || exit 0[ -f /chroot/named/etc/named.conf ] || exit 0## See how we were called.case "$1" instart)# Start daemons.echo -n "Starting named: "daemon /usr/local/sbin/named -u named -t /chroot/named -c /etc/named.confecho

Page 32: Correo Seguro Sobre Linux Distribucion CentOS

touch /var/lock/subsys/named;;stop)# Stop daemons.echo -n "Shutting down named: "kill `pidof named`echorm -f /var/lock/subsys/named;;status)status namedexit $?;;restart)$0 stop$0 startexit $?;;reload)/usr/local/sbin/rndc reloadexit $?;;probe)# named knows how to reload intelligently; we don't want linuxconf# to offer to restart every time/usr/local/sbin/rndc reload >/dev/null 2>&1 || echo startexit 0;;#*)echo "Usage: named {start|stop|status|restart|reload}"exit 1esac#exit 0

luego a este archivo le damos permiso para ejecucion

ahora vamos a agregar el bind al arranque del sistema para que se inicie siempre que CentOS lo haga

Page 33: Correo Seguro Sobre Linux Distribucion CentOS

tendremos ahora que creer el archivo de configuracion con las zonas en la ruta enjaulada /chroot/named/etc/named.conf con el editor de texto que se quiera y copiar el siguiente contenido.

options {recursion no; // this will disable lookups against our server recursion no;directory "/etc/namedb"; // Working directorypid-file "/var/run/named.pid"; // Put pid file in working dirforwarders {10.10.10.10; //ip of dns server to forward requests to};statistics-file "/var/run/named.stats";query-source address * port 53;version "Bind 10";};controls {inet 127.0.0.1 port 953allow { 127.0.0.1; } keys { "rndc-key"; };};// Root server hintszone "." {type hint;file "root.hint";};// Provide a reverse mapping for the loopback address 127.0.0.1zone "0.0.127.in-addr.arpa" {type master;file "db.127.0.0";notify no;};

luego creamos este archivo en la ruta /chroot/named/etc/namedb/root.hint y copiamos este contenido

; This file holds the information on root name servers needed to; initialize cache of Internet domain name servers; (e.g. reference this file in the "cache . <file>"; configuration file of BIND domain name servers).;; This file is made available by InterNIC; under anonymous FTP as; file /domain/named.root; on server FTP.INTERNIC.NET;; last update: Nov 5, 2002; related version of root zone: 2002110501;;; formerly NS.INTERNIC.NET;

Page 34: Correo Seguro Sobre Linux Distribucion CentOS

. 3600000 IN NS A.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4;; formerly NS1.ISI.EDU;. 3600000 NS B.ROOT-SERVERS.NET.B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107;; formerly C.PSI.NET;. 3600000 NS C.ROOT-SERVERS.NET.C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12;; formerly TERP.UMD.EDU;. 3600000 NS D.ROOT-SERVERS.NET.D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90;; formerly NS.NASA.GOV;. 3600000 NS E.ROOT-SERVERS.NET.E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10;; formerly NS.ISC.ORG;. 3600000 NS F.ROOT-SERVERS.NET.F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241;; formerly NS.NIC.DDN.MIL;. 3600000 NS G.ROOT-SERVERS.NET.G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4;; formerly AOS.ARL.ARMY.MIL;. 3600000 NS H.ROOT-SERVERS.NET.H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53;; formerly NIC.NORDU.NET;. 3600000 NS I.ROOT-SERVERS.NET.I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17;; operated by VeriSign, Inc.;. 3600000 NS J.ROOT-SERVERS.NET.J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30;; housed in LINX, operated by RIPE NCC;

Page 35: Correo Seguro Sobre Linux Distribucion CentOS

. 3600000 NS K.ROOT-SERVERS.NET.K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129;; operated by IANA;. 3600000 NS L.ROOT-SERVERS.NET.L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12;; housed in Japan, operated by WIDE;. 3600000 NS M.ROOT-SERVERS.NET.M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33; End of File

este archivo debe pertenecer al usuario named

por ultimo para que inicie bien el servicio creamos el archivo db.127.0.0 en esta ruta /chrot/named/etc/namedb/ y quedaria como la imagen a continuacion.

Page 36: Correo Seguro Sobre Linux Distribucion CentOS

INSTALACION Y CONFIGURACION DHCPD

en este punto vamos a instalar el paquete dhcp-ldap este lo podemos optener desde la siguiente direccion ftp://ftp.is.co.za/mirror/ftp.rpmforge.net/redhat/el5/en/i386/RPMS.test/dhcp-ldap-3.0.5-1.el5.test.i386.rpm luego de tener el paquete lo instalamos con el comando rpm -Uvh

luego que instalamos el dhcp-ldap editamos el archivo /etc/dhcpd.conf quedaria algo como esto.

Recordemos la ruta donde estan los esquemas en la carpeta del mmc-agent de alli vamos a tambien a copiar los esquemas del DNS y DHCP y lo copiamos en la carpeta /etc/openldap/schema

no olvidemos agregar los include al archivo slapd.conf

Page 37: Correo Seguro Sobre Linux Distribucion CentOS

tambien se deben agregar estas lineas al mismo archivo slapd.conf

Hay que cambiar tambien unas rutas que estan equivocadas en /etc/init.d/dhcpd

Instalamos el plugin del mmc-web-network se descomprime el archivo tar.gz se ingresa a la carpeta y ejecutamos el makefile con el comando make install.

Page 38: Correo Seguro Sobre Linux Distribucion CentOS

Luego de instalar configuramos el archivo network.ini y hace los cambios según nuestro dominio algo asi como la imagen a continuacion.

Ahora reiniciamos el mmc y en un navegador web ingresamos localhost/mmc para ver las consolas de administracion de la red.

Page 39: Correo Seguro Sobre Linux Distribucion CentOS

Vamos a crear la zona en el dns esto lo hacemos en añadir zona DNS y llenar los siguientes campos.

Page 40: Correo Seguro Sobre Linux Distribucion CentOS

INSTALACION Y CONFIGURACION DEL MMC-WEB-MAIL

en este punto vamos a intalar y configurar mmc-web-mail y asi tambien el servicio de correo esto se hara con los demonios Postfix y Dovecotcon los usuaros del servidor ldap.

Lo primero es tener el paquete mmc-web-mail-2.3.2.tar.gz hay que descomprimirlo con el comando tar -Uvh luego ingresar a la carpeta y ejecutar el momando make install.

Ahora como con los demas plugins recordemos copiar el equema en la carpeta schema del openldap este siempre esta en la carpeta del mmc.agent.

y ademas el include en el archivo sladp.

Ahora modificamos el archivo mail.ini donde pondremos la informacion de nuestro domio y hay que tener mucho cuidado de tener las lineas bien configuradas.

Page 41: Correo Seguro Sobre Linux Distribucion CentOS

Reiniciamos el mmc-agent e insgresamos nuevamente via web localhost/mmc.

Luego creamos un nuevo dominio de correo en añadir dominio

en la pestaña lista de dominios nos aseguramos que este esta creado.

Ahroa vamos a crear un usuario y lo agregamos al dominio de correo para esto en agregar usuario en el final de la pagina esta el campo de correo solo le habilitamos la casilla acceso al correo y cuota ilimitada y confirmar.

Page 42: Correo Seguro Sobre Linux Distribucion CentOS

INSTALACION, CONFIGURACION POSTFIX Y DOVECOT

Intalamos los siguientes paquetes con el comando yum...

vamos a copiar todos los archivos del mmc-agent para postfix estos empiezan con (ldap) lo haremos con el (*) para no tener que copiar uno por uno si no que nos copie todos tal cual nos muestra en la imagen.

El postfix trae un archivo llamado main.cf en la carpeta del mmc-agent hay otro ya preconfigurado que debemos copiar y reemplezar por que el que ya el postfix trar por defecto.

El no esta preguntando si queremos reemplazar el archivo ya existente solo contestamos con la letra (y).

ahora vamos a modificar el archivo que acabamos de reemplazar con la ifrmacion que corresponde a nuestro dominio a esto solo hay que hacer unos pocos cambios basicos como son:

Page 43: Correo Seguro Sobre Linux Distribucion CentOS

myhostname: Es el nombre fqdn del dominiomydomain: Es el dominio que estamos usandomydestination: Aca se especificaran los dominios a los cuales se permitira entragar correoshome_mailbox: Es el tipo de buzon que vamos a utilizar.

Recordemos que copiamos unos archivos ldap-* a la carpeta postfix estos tendremos que editarlos con la informacion de nuestro dominio a continuacion voy a mostrar uno de ellos asi mismo se deben configurar los demas.

Page 44: Correo Seguro Sobre Linux Distribucion CentOS

Ahora vamos a editar el archivo dovecot.conf con las siguientes lineas.

protocol imap { listen = *:143 } disable_plaintext_auth = no log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot-info.log log_timestamp = "%b %d %H:%M:%S " syslog_facility = local5 ssl_disable = yes login_user = dovecot login_greeting = Bienvenidos Sea. mail_debug = yes protocol imap { } protocol lda { postmaster_address = postmaster } auth_username_format = %Lu auth_verbose = yes auth_debug = yes auth_debug_passwords = yes auth default { mechanisms = plain login userdb passwd {

args = /etc/dovecot.ldap }

userdb ldap { args = /etc/dovecot.ldap

} passdb ldap {

args = /etc/dovecot.ldap }

Page 45: Correo Seguro Sobre Linux Distribucion CentOS

user = root socket listen { client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }

tambien creamos el archivo dovecot.ldap este va a contener la informacion de nuestro servidor ldap con la direccion, dominio y cn seria algo como lo que nos muestra la siguiente imagen.

Agregamos el dovecot al syslog en el archivo /etc/syslog y agregamos esta linea al final del archivo.

Vamos a crear los archivos donde van a quedar los logs del dovecot de la siguiente manera.

touch /var/log/dovecot.log touch /var/log/dovecot-info.log

reiniciamos el servicio syslog y asi empecemos a tener los logs del dovecot.

Page 46: Correo Seguro Sobre Linux Distribucion CentOS

Ahora vamos a añadir el dovecot al arranque cuando el sistema lo haga.

Iniciamos los servicios del postfix y el dovecot y luego veremos si los servicios si estan escuchando por medio del comando (netstat --inet -l).

Page 47: Correo Seguro Sobre Linux Distribucion CentOS

INSTALACION Y CONFIGURACION DE SQUIRRELMAIL

ahora vamos a instalar nuestro web mail para acceder a los correos y asi mismo enviar mediante el mismo este se instala de una manera muy sencilla solo es ejecutar el comando yum.

En esta ruta (/usr/share/squirrelmail/config/) podemos encontrar el archivo el cual si ejecutamos podemos configurar el squirrelmail en este tutorial solo vamos a mostrar los pasos mas importantes pero ya cada quien puede ir encontranto mas opciones para configurar.

Luego de ejecutar de esta manera nos aparece una interface con unas opciones es muy simple configurar.

Page 48: Correo Seguro Sobre Linux Distribucion CentOS

Las dos opciones mas importantes son la 1 y 2 en ellas vamos a especificar las informacion de nuestro dominio y servidor de correo, slo hay que poner el numero de la ocion y presionar enter por ejemplo opcion 1 luego nos mostraria algo como esto.

Si seguimos la logica de comos e configura para editar la informacion con la nuestra solo habria que poner el numero de la opcion y enter y ahora si podemos editar esta configuracion.

Si notamos cuando terminemos de configurar esta parte con la R retonamos al menu principal y ahi ya eligiriamos la opcion para nuestro servidor smtp e imap.

Page 49: Correo Seguro Sobre Linux Distribucion CentOS

Tambien en el menu principal esta la opcion plugins aca podemos activar los que queremos que que el squirrelmail mail cargue al iniciar.

Page 50: Correo Seguro Sobre Linux Distribucion CentOS

La seccion Plugins son los que vamos a acargar y la seccion Available son los que podemos añdirle.

Vamos a reiniciar el httpd para que cargue todos los cambios y luego en un navegardor web ponemos la siguiente direccion (localhost/webmail)y se nos caragara el squirrelmail listo para ingresar con un usuario de nustro dominio.

Luego de ingresar con uno de nuestros usuarios tendriamos algo como esto.

Page 51: Correo Seguro Sobre Linux Distribucion CentOS

Ahora vamos a probar nuestro servidor smtp desde consola en este ejemplo vamos a enviar un correo desde el usuario prueba al usuario jalopez los cuales pertenecen a nuestro dominio.

Lo primero sera ingresar via telnet al servidor especificando el puerto.

Luego vamos a poner el remitente con (mail from) y debe salirnos algo como lo siguiente.

Luego el receptor con (rcpt to).

Y por ultimo el mesanje del correo (data) luego que terminemos de escribir dicho mensaje finalizamos con un punto y enter.

Ahora este correo por la configuracion que antes hicimos debe de quedar en la carpeta home del usuario jalopez esto lo verificamos de la siguiente manera.Vamos a la carpeta home del usuario y debemos encontrar una carpeta Maildir y en ella a su vez otras llamas new, tmp y cure, en la carpeta new debemos de encontrar el correo que acabamos de enviar.

Page 52: Correo Seguro Sobre Linux Distribucion CentOS

Ahora si abrimos el archivo 1277162853.Vfd00I58077M708882.correo.home.jodi.co debemos ver el correo que enviamos.

Bueno como podemos ver el correo llego tal cual se mando hasta este punto ya tenemos un servidor de smtp basico funcionando luego pasaremos a ver como volver este servidor seguro.

IMPLEMENTACIÓN SASL

Continuaremos con la configuración de la seguridad en nuestro servicio de correo, comenzaremos por asegurar la comunicación SMTP y esto lo haremos implementando SASL.

Para ello nos vamos al archivo de configuración de postfix “main.cf” y alli adicionamos las siguientes lineas:

Una vez hecho esto nos vamos para el archivo /etc/dovecot.conf y en este buscamos y descomentamos las siguientes lineas:

auth default { mechanisms = plain login passdb pam { } userdb passwd { } user = root socket listen { client { path = /var/spool/postfix/private/auth mode = 0660

Page 53: Correo Seguro Sobre Linux Distribucion CentOS

user = postfix group = postfix } } }

Hecho esto reiniciamos los servicios y probamos:

/etc/init.d/dovecot restart/etc/init.d/postfix restart

Ahora probamos que nuestro server este soportando SASL de la siguiente manera, lo primero sera codificar el usuario y la contraseña del root con el perl, en una terminal colocamos la siguiente linea:

perl -MMIME::Base64 -e 'print encode_base60("\000root\000adrian");'

Y esto nos debera arrojar un codigo el cual posteriormente podremos decodificar, algo asi:

Y ahora lo decodificaremos así:

perl -MMIME::Base64 -e 'print decode_base64("AHJvb3QAYWRyaWFu");'

CREACIÓN DE CERTIFICADOS

Continuamos con la creación de los certificados SSL para nuestro servidor, detallaremos y explicaremos los pasos para este a continuación.

Lo primero es la instalación de los paquetes necesarios:

GENERACION DE LLAVES

Page 54: Correo Seguro Sobre Linux Distribucion CentOS

Generamos las llaves las cuales tendran validez durante un año con el siguiente comando:

genkey --days 365 mail2.adpesk.local

(He debido poner mail2.adpesk.local ya que anteriormente habia generado unas llaves para el servidor con su nombre real mail1.adpesk.local, y no me permite crear dos llaves al tiempo, así que solo le cambien el nombre para mostrar el procedimiento)

Ahora nos mostrara un pantallazo en el cual nos dira cuales son las rutas en las que albergara las llaves:

Escogemos ahora el nivel de seguridad que le daremos a las llaves:

Page 55: Correo Seguro Sobre Linux Distribucion CentOS

Esperamos a que las genere (debemos tener paciencia ya que es un procedimiento algo lento)

Ahora nos preguntara si deseamos enviar la respuesta de certificado a una entidad certificadora, le decimos que si:

Page 56: Correo Seguro Sobre Linux Distribucion CentOS

Posteriormente nos mostrará una lista de las diferentes entidades certificadoras:

Ahora nos muestra una pantalla en la cual debemos ingresar ciertos datos como por ejemplo, el pais, ciudad, nombre de la compañía...

Page 57: Correo Seguro Sobre Linux Distribucion CentOS

Cuando le damos en “Next” nos mostrará la petición de certificado como tal, algo como esto es lo que verán:

Y ahora solo queda un paso mas, si acaso desean cifrar esta petición tienen la opcion de hacerlo.

Page 58: Correo Seguro Sobre Linux Distribucion CentOS

Con esto ya tenemos listo nuestro certificado y las dos llaves quedan el las siguiente rutas:

La llave publica: /etc/pki/tls/certs/mail2.adpesk.local.cert

La llave privada: /etc/pki/tls/private/mail2.adpesk.local.key

Configurando PostFix con TLS/SSL

Luego de tener listos nuestros certificados lo que haremos sera configurar nuestro PostFix para que soporte seguridad con SSL, así que entramos a /etc/postfix/main.cf y añadimos las siguientes lineas:

Page 59: Correo Seguro Sobre Linux Distribucion CentOS

Hecho esto reiniciamos PostFix y probamos nuevamente el servicio:

Podemos ver en la imagen la parte donde dice 250-STARTTLS. Con esto comprobamos que poseemos seguridad TLS/SSL en nuestro servidor de correo.Seguimos con la configuración, esta vez debemos añadir unas lineas al archivo de configuración del dovecot, con tan solo unas pocas lineas podremos activar SSL/TLS en nuestro dovecot.

Page 60: Correo Seguro Sobre Linux Distribucion CentOS

Solo debemos decirle al dovecot donde encontrara la llave publica y la privada, los permisos y la versión de SSL que usara.

INSTALANDO Y CONFIGURANDO EL AMAVISD, CLAMAV Y EL SPAMASSASIN

Lo primero es la instalación de los paquetes necesarios:

yum install amavisd-new clamav clamav-devel clamd spamassasin

Una vez finalizada la instalación verificamos que se hayan creado los usuarios de clamav y el amavisd:

Si el resultado es similar a el que muestra la imagen esta bien.

Seguimos probando que todo este bien, ahora lo que haremos sera chequear que los servicios se han añadido correctamente al arranque:

chkconfig --list | grep "amavisd\|clamd\|spamassassin"Comenzaremos pues con la configuración de los servicios recien instalados,

el primero sera el Clamav, ingresamos a su archivo principal “/etc/clamd.conf” buscamos y editamos estas lineas:

LocalSocket /var/run/clamav/clamd

TCPSocket 3310

Page 61: Correo Seguro Sobre Linux Distribucion CentOS

Ahora nos vamos para el archivo de configuración del amavisd (“/etc/amavisd.conf”) y debemos ubicar las siguiente lineas.

$max_servers = 2;

$daemon_user = "amavis";$daemon_group = "amavis";

$mydomain = 'adpesk.local';

$MYHOME = '/var/amavis'; $TEMPBASE = "$MYHOME/tmp";$ENV{TMPDIR} = $TEMPBASE; $QUARANTINEDIR = "/var/virusmails";

$db_home = "$MYHOME/db";

Page 62: Correo Seguro Sobre Linux Distribucion CentOS

$helpers_home = "$MYHOME/var";

En el mismo archivo pero unas lineas mas abajo nos encontraremos con los niveles de marcado y borrado del SPAM.

Como pueden ver los he dejado con los score de marcado muy bajos para que tome las palabras y contenidos mas basicos como SPAM, y el score para eliminar lo he dejado un poco mas alto para que no elimine los correo tna facilmente.

Ademas podemos especificar direcciones a las cuales le llegara correo en caso de alguna notificación , en mi caso las he modificado si quieren lo hacen o lo dejan como viene por defecto pero recuerden crear posteriormente las cuentas.

Por ultimo en este archivo debemos descomentar la sección del Clamav.

Ahora debemos seguir con el postfix y a el archivo de configuracion “master.cf” debemos añadir la siguientes lineas.

Page 63: Correo Seguro Sobre Linux Distribucion CentOS

Como el amavisd debe reinyectar paquetes al postfix debemos definir ciertas pautas para la ejecución de esta operación.

Con esto ya hemos terminado con la configuración del archivo “master.cf”, y ahora solo falta agregar una linea al otro archivo llamado “main.cf”

content_filter=amavisfeed:[127.0.0.1]:10024Hecho esto reiniciamos el los diferentes servicios de nuestro servidor y ahora realizaremos unas pruebas de el servicio antispam.

PRUEBA DE SERVICIO ANTISPAM

Debemos ingresar a la URL de el Squirrelmail e iniciar sesión con cualquier usuario:

Page 64: Correo Seguro Sobre Linux Distribucion CentOS

Una vez allí nos vamos a la opción “compose” y desde ahi redactaremos un mensaje con Subjet “viagra VIAGRA Viagra” y ademas en el cuerpo del mensaje pondremos tambien “Viagra viagra VIAGRA viagra” esto para que el sistema antispam los “marque” valga la redundancia como spam.

Hecho esto revizamos el correo del usuario al cual le acabamos de mandar el email y veremos el mail “marcado”.

Page 65: Correo Seguro Sobre Linux Distribucion CentOS

Como podemos ver en la imagen anterior nos muestra el mensaje anterior como SPAM.

Page 66: Correo Seguro Sobre Linux Distribucion CentOS

CONCLUSIONES

• Con el anterior documento definimos y aclaros los pasos para la implementación adecuada de un sistema de correo seguro en CentOS.

• El costo de una implemantación de estas características con software libre es minimo, obteniendo así un producto de altísima calidad y soporte gratuito mediante la comunidad.

• Contamos con multiples herramientas para el desarrollo del proyecto.