Servidor de Correo
Multidominio
SERVIDOR DE CORREO MULTIDOMINIO




Problemática:

Al analizar la demanda de sus servicios de correo electrónico, una empresa de hosting se
da cuenta que posee recursos de sobra, y decide empezar a vender servicios de hosting de
correo electrónico. Por tanto necesita configurar servicios de correo tolerantes a fallos,
que sean capaces de responder a múltiples dominios y que autentique a sus clientes en
una base de datos de credenciales (LDAP). El servicio de correo que se brinde dependerá
de la clasificación de los clientes, permitiéndoles determinadas casillas de correo, espacio
de almacenamiento, antispam y antivirus, correo electrónico seguro, y otros elementos,
en función del tipo de contrato que se establezca.



Para solucionar esta problemática se ha realizado un servidor multidominio utilizando las
siguientes herramientas:

      LDAP como base de datos para almacenar la información de los diferentes
       dominios y usuarios que se tendrán.

      POSTFIX como agente de transferencia de correo.

      COURIER como servidor IMAP

      Apache2

      BIND para DNS

      Squirrelmail como web mail

      Spamassassin para controlar el spam



El siguiente es un esquema de red de nuestro servidor:
HOW TO



Para comenzar nuestro servidor de correo debemos configurar nuestro DNS:



                                                 DNS


          Domain Name System o DNS (sistema de nombres de dominio) es un sistema de
          nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado
          a Internet o a una red privada

             Instalamos

              #apt-get install bind9

             De Nuevo vemos en que Puerto está escuchando

              #netstat -tapn



             Primero creamos la zona para el dominio que deseamos crear en el archivo
              #/etc/bind/named.conf.local



              Y agregamos la zona con este formato:

              zone "mailhosting.com.sv"{
                   type master;
                   file "/etc/bind/db.mailhosting";
              };


    Ahora creamos el archivo de la zona que lleva por nombre db.mailhosting,
podemos copiar uno que ya existe en los archivos de bind de esta manera:
                   # cp /etc/bind/db.local /etc/bind/db.mailhosting
                   Y nos quedaria el archive modificado de la siguiente manera:

              ; archivo de configuracion de la zona
              ;
              $TTL 604800
@     IN     SOA       mailhosting.com.sv. dns.mailhosting.com.sv. (
                                 2        ; Serial
                               604800         ; Refresh
                                86400        ; Retry
                               2419200        ; Expire
                               604800 )       ; Negative Cache TTL
              ;
              @     IN     NS     mailhosting.com.sv.
              @     IN     A     aqui va al ip
              www     IN       CNAME mailhosting.com.sv.
              @     IN     MX        10 mailhosting.com.sv.


              La configuración de este archivo depende de nuestra configuración y de
              nuestra ip que tenemos asignada.


      Luego reiniciamos el servicio
                  #/etc/init.d/bind9 restart


      Luego ponemos en el archivo #nano /etc/resolv.conf y agregamos la línea
                  nameserver “y la ip que se tiene asignada”


     Para probar los archivos de la zona se utiliza el comando named-checkconf –z aquí
nos muestra los errores que nuestro archivo tiene.


                 Para probar si nos resuelve el dns hacemos ping y el dominio y veremos
                  si nos responde y pone la ip que tiene asignada.



                 El siguiente paso es crear las zonas inversas

                  Creamos una nueva zona en el archivo

                  #/etc/bind/named.conf.local

                  zone "1.168.192.in-addr.arpa"{
                      type master;
                      file "/etc/bind/db.192”;
};


                 Ahora creamos el archivo para la zona inversa

                  #nano /etc/bind/db.192

                  ;
                  ; archive de la zona inversa
                  ;
                  $TTL 604800
                  @     IN    SOA       mailhosting.com.sv. dns.mailhosting.com.sv. (
                                    1       ; Serial
                                604800          ; Refresh
                                   86400       ; Retry
                               2419200           ; Expire
                                604800 )        ; Negative Cache TTL
                  ;
                  @     IN    NS     localhost.
                  2    IN    PTR     mailhosting.com.sv.


      Reiniciamos de Nuevo el servicio


                  #/etc/init.d/bind restart


      Y se pueden verificar los archivos de la zona de Nuevo y hacer ping con nuestra ip
para ver si resuelve la zona inversa.
POSTFIX



Postfix es un servidor de correo de software libre, un programa informático para el
enrutamiento y envío de correo electrónico,



Configurando POSTFIX:



          Instalar Postfix al instalarlo pedirá el nombre del dominio:

           #apt-get install postfix
   Luego vemos si está escuchando #netstat –tapn | grep LISTEN

   Agregamos un grupo para postfix

    # addgroup -gid 1005 vmail (el numero de id de grupo es importante)



   Ahora creamos la carpeta donde se irán a almacenar los archivos

    #mkdir /home/vmail



   Ahora creamos un usuario en el grupo vmail este usuario será el encargado de
    la entrega de los correos.



    #useradd –d /home/vmail –g 1005 –u 1005 vmail



   Le demos permisos

    # chown -R vmail:vmail /home/vmail/


   Ahora se configura en archivo principal de configuración de Postfix

    # nano /etc/postfix/main.cf
Se agregan las siguientes líneas al archivo de configuración para utilizar
        dominios virtuales:

        virtual_mailbox_domain= /etc/postfix/vhost.txt
        virtual_mailbox_base= /home/vmail
        virtual_mailbox_maps= hash:/etc/postfix/maps.txt
        virtual_uid_maps= static:1005
        virtual_gid_maps= static:1005


   Ahora vamos a crear los archivos vhost.txt y maps.txt
        #nano /etc/postfix/vhost.txt (este archivo llevara en nombre del dominio)
        #nano /etc/postfix/maps.txt (es importante que lleve la pleca al final la
        dirección)
        juan@protocolos.com protocolos.com/juan/


       Ahora vamos a hacer que el archivo maps.txt lo pueda leer postfix como hash

        # postmap -f /etc/postfix/maps.txt



       Ahora reiniciamos el servicio para que se lleven a acabo todos los cambios.

        # /etc/init.d/postfix restart



       Ahora ya podemos realizar una prueba para ver si está bien el archivo

        # postmap -q juan@protocolos.com hash:/etc/postfix/maps.txt

        Esto nos debe de devolver el mailbox de la siguiente manera:
        protocolos.com/juan/

       Ahora vamos a probar mandar correos para que cree las carpetas
        correspondientes

        # telnet localhost 25

        Trying 127.0.0.1...
        Connected to protocolos.mailhosting.com.sv.
        Escape character is '^]'.
        220 protocolos.mailhosting.com.sv ESMTP Postfix (Debian/GNU)
mail fromcualquiercosa@cualquiercosa.com>
    250 2.1.0 Ok
    rcpt tojuan@protocolos.com>
    250 2.1.5 Ok
    DATA
    354 End data with <CR><LF>.<CR><LF>
    holaaa
    .
    250 2.0.0 Ok: queued as E0CE46FC77
    quit


   Para verificar que mando el correo se deben de ver si creo las carpetas del
    usuario en este caso juan@protocolos.com las carpetas están en
    /home/vmail/protocolos/juan

    También se puede verificar en el log /var/log/mail.log
LDAP



LDAP son las siglas de Lightweight Directory Access Protocol (Protocolo Ligero de Acceso a
Directorios) que hacen referencia a un protocolo a nivel de aplicación el cual permite el
acceso a un servicio de directorio ordenado y distribuido para buscar diversa información
en un entorno de red. LDAP también es considerado una base de datos (aunque su
sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas.



Antes de configurar ldap se debe cambiar el nombre del dominio
(protocolos.mailhosting.com.sv)



Configurar ldap:



          Instalar (slapd, ldap-utils)
   Pide la contraseña de administración de ldap




   Para ver en qué puerto está escuchando ldap se pone

    #netstat -tapn | grep LISTEN

   Se detiene slapd

    #/etc/init.d/slapd stop

   Luego instalamos Courier-authlib-ldap para obtener el esquema

   Luego de que se baje se descomprime gzip –d

    #gzip –d /usr/share/doc/Courier-authlib-ldap/authldap.schema.gz

   Al descomprimir copiamos el esquema a los esquemas de ldap

    #cp /usr/share/doc/Courier-auth-ldap/authldap /etc/ldap/schema.



   Ahora agregamos el esquema:



        Antes de agregar el esquema tenemos que verificar que nuestro árbol si
           está bien con esta instrucción:
# ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config"



 Ahora hay que pasar el esquema a ldif pero antes vemos el esquema
   authldap.schema y vemos las dependencias del esquema al verlo vemos

   que este depende de nis.schema el cual depende de cosine.schema.



 En el esquema se deben de descomentar las siguientes líneas si no
   causara conflictos:

   #attributetype ( 1.3.6.1.4.1.10018.1.1.14 NAME 'mailhost'
   #    DESC 'Host to which incoming POP/IMAP connections should be
   proxied'
   #     EQUALITY caseIgnoreIA5Match
   #     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )


 Ahora hay que crear un archivo que incluya todos los schemas debemos
   tener en cuenta las dependencias. El archivo se creara en /tmp y tener
   cualquier nombre por ejemplo /tmp/archivo.conf el archivo tendrá lo
   siguiente:

   include /etc/ldap/schema/core.schema
   include /etc/ldap/schema/cosine.schema
   include /etc/ldap/schema/nis.schema
   include /etc/ldap/schema/inetorgperson.schema
   include /etc/ldap/schema/authldap.schema


 Ahora se crea el directorio /tmp/directorio



 Luego haremos un slapdtest



   #slaptest -f /tmp/archivo.conf -F /tmp/directorio



 Luego lo copiamos a los esquemas de ldap de esta manera
#cp/tmp/directorio/cn=config/cn=schema/cn={4}authldap.ldif
           /etc/ldap/slapd.d/cn=config/cn=schema/

        Luego damos los permisos convenientes para ldap y reiniciamos ldap
           # chown openldap:openldap
           /etc/ldap/slapd.d/cn=config/cn=schema/cn={4}authldap.ldif
           # /etc/init.d/slapd restart



   Para crear los usuarios creamos un archivo con lo siguiente:



    //Este usuario lector solo se utilizara con permisos de lectura
    dn: cn=lector,dc=mailhosting,dc=com,dc=sv
    cn: lector
    objectclass: person
    objectclass: simpleSecurityObject
    objectclass: top
    sn: lector
    userpassword: {MD5}3TgaBQ8Zh+e1x7cylv1JpQ==



    dn: o=administradores,dc=mailhosting,dc=com,dc=sv
    o: administradores
    objectclass: organization
    objectclass: top


    dn: o=Dominios,dc=mailhosting,dc=com,dc=sv
    o: Dominios
    objectclass: organization
    objectclass: top


   Luego se agregan entidades en nuestro árbol en este caso se crearan dos una
    para dominios y una para administradores:

    #ldapadd -D "cn=admin,dc=mailhosting,dc=com,dc=sv" -W -f
    Escritorio/base.ldif
      Ahora vamos a crear un usuario para cada parte de nuestro árbol para dominios
vamos a crear protocolos.com , vamos a crear un usuario Beatriz para el dominios
protocolos.com


          dn:
          uid=administrador@protocolos.com,o=administradores,dc=mailhosting,dc=co
          m,dc=sv
          cn: protocolos.com
          objectclass: person
          objectclass: shadowAccount
          objectclass: top
          shadowflag: 1
          sn: protocolos.com
          uid: administrador@protocolos.com
          userpassword: {MD5}gTaWsOiOoF1FOAwf11tAcA==


          dn: dc=protocolos.com,o=Dominios,dc=mailhosting,dc=com,dc=sv
          businesscategory: 3
          dc: protocolos.com
          l: activa
          o: protocolos.com
          objectclass: dcObject
          objectclass: organization
          objectclass: top


          dn:uid=beatriz@protocolos.com,dc=protocolos.com,o=Dominios,dc=mailhosti
          ng,dc=com,dc=sv
          cn: beatriz
          disableshared: activa
          homedirectory: /home/vmail
          mail: beatriz@protocolos.com
          mailbox: protocolos.com/beatriz/
          objectclass: CourierMailAccount
objectclass: person
        objectclass: top
        sn: nick
        uid: beatriz@protocolos.com
        userpassword: {MD5}MjJCCXNoV35vOqwDxtzttg==


   Luego agregamos el archivo a ldap
        #ldapadd -D "cn=admin,dc=mailhosting,dc=com,dc=sv" -W -f
        Escritorio/dominio.ldif




                                UNIR LDAP CON POSTFIX



       Se instala el paquete postfix-ldap

        #apt-get install postfix-ldap

       Creamos una carpeta dentro de postfix para guardar los archivos de consulta a
        ldap.

        #mkdir /etc/postfix/ldap



       Ahora vamos a crear un archivo .cf para poner los dominios desde ldap.

        #nano /etc/postfix/ldap/dominios.cf

        server_host = 127.0.0.1
        server_port = 389
        version = 3
        ldap_bind= yes
        bind_dn = cn=lector,dc=mailhosting,dc=com,dc=sv
        bind_pw = lector
        search_base = o=Dominios,dc=mailhosting,dc=com,dc=sv
        query_filter = (&(objectClass=dcObject)(l=activa)(dc=%s))
        result_attribute = dc
   También se crea un archive .cf para los usuarios

    #nano /etc/postfix/ldap/maps.cf

    server_host = 127.0.0.1
    server_port = 389
    version = 3
    ldap_bind= yes
    bind_dn = cn=lector,dc=mailhosting,dc=com,dc=sv
    bind_pw = lector
    search_base = o=Dominios,dc=mailhosting,dc=com,dc=sv
    query_filter =
    (&(objectClass=CourierMailAccount)(disableshared=activa)(mail=%s))
    result_attribute = mailbox


   Ahora hay que modificar el archivo main.cf de postfix para que trabaje con
    ldap:

    # nano /etc/postfix/main.cf



    virtual_mailbox_domains=ldap:/etc/postfix/ldap/dominios.cf


    virtual_mailbox_maps= ldap:/etc/postfix/ldap/maps.cf


   Otra vez para probar se puede mandar correo mediante telnet y ver el log.
SERVIDOR IMAP




   Instalar Courier

    #apt-get install courier-imap Courier-pop

    Luego hará una pregunta y se contesta que no:




   Luego vemos en que puerto esta escuchanto

    #netstat –tapn

   Ahora nos vamos al archivo de configuración de courier

    # nano /etc/courier/authdaemonrc

    Y cambiaremos esta línea

    authmodulelist="authpam"

    por esta

    authmodulelist="authpam authldap" para que este ligado con ldap pero si
    existe algún problema esto se puede modificar, el DEBUG_LOGIN=1 para ver
    los errores.
   Luego vamos al archivo de configuración

    # nano /etc/courier/authldaprc

    LDAP_URI           ldap://localhost (aquí se pone la dirección de nuestro ldap
    en nuestro caso localhost)

    LDAP_BASEDN          o=Dominios,dc=mailhosting,dc=com,dc=sv (en esta se
    modifica la base donde se ira a buscar)

    LDAP_BINDPW         sucontraseña (y aquí se pone la contraseña para ldap)



    LDAP_MAIL             mail (esta es la respuesta que queremos en nuestro caso
    en mail )



    Descomentamos estas línea:

    # LDAP_FILTER          (objectClass=CourierMailAccount)

    # LDAP_GLOB_UID          vmail
    # LDAP_GLOB_GID          vmail
    # LDAP_MAILDIRQUOTA          quota


    Y colocamos el query

    LDAP_FILTER         (&(objectClass=CourierMailAccount)(disableshared=activa))



    Comentar esta linea:

    #LDAP_DEFAULTDELIVERY defaultDelivery


   Ahora se reinicia

     # /etc/init.d/Courier-authdaemond restart



   Ahora se puede probar:
# telnet localhost 110
Trying 127.0.0.1...
Connected to protocolos.mailhosting.com.sv.
Escape character is '^]'.
+OK Hello there.
user beatriz@protocolos.com
+OK Password required.
pass beatriz
+OK logged in.
HTTP



   Se instala:

    #apt-get install apache2-mpm-prefork

   ahora vamos a crear sitios virtuales los cuales nos serviran para el
    ordenamiento de nuestor servidor.

   Copiamos el sitio por default que tiene apache para crear nuestro sitios
    todo esto lo hacemos en sites-available

    # cp /etc/apache2/sites-available/default /etc/apache2/sites-
    available/malihosting



   Ahora modificamos el archivo

    # /etc/apache2/sites-available/mailhosting

    Se deja el archivo de la siguiente manera



    ServerAdmin webmaster@localhost
        ServerName www.mailhosting.com.sv
        ServerAlias mailhosting.com.sv
        DocumentRoot /var/www/mailhosting
        <Directory />
             Options FollowSymLinks
             AllowOverride None
        </Directory>
        <Directory /var/www/mailhosting/>
             Options Indexes FollowSymLinks MultiViews
             AllowOverride None
             Order allow,deny
             allow from all
</Directory>


   Creamos el archivo donde ira a buscar nuestra pagina a mostrar

    #mkdir /var/www/mailhosting



   Habilitamos el dominio virtual

    # a2ensite mailhosting




   Ahora recargaremos el servidor apache

    # /etc/init.d/apache2 reload



   Copiamos una pagina inicial para que aparezca en nuestro dominio

    #cp /var/www/index.html /var/www/mailhosting/
WEB MAIL



           Un webmail es un cliente de correo electrónico,              que   provee
           una interfaz web por la que acceder al correo electrónico.

            Es esta ocasión utilizamos el web mail Squirrelmail



              Instalamos

               #apt-get install squirrelmail


   Luego lo configuramos
               # squirrelmail-configure:




    Aparece el siguiente menú:
Luego aparece esta pantalla y elegimos Courier:
   Ahora necesitamos crear un link para que se pueda entrar a squirrelmail
              Entramos a la carpeta del dominio #cd /var/www/mailhosting
              Y creamos ahí el link #ln -s /usr/share/squirrelmail/ correo


   Ya con esto podemos entrar a un navegador y entrar al correo que hemos creado.




                       Configuración para reconocer Spam



          Instalar el paquete de spamassassin

           #apt-get install spamassassin spamc




          vamos a crear un usuario específico y un grupo de spamassassin

           #groupadd -g 5001 spamd
           #useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
           #mkdir /var/lib/spamassassin
           #chown spamd:spamd /var/lib/spamassassin




          Ahora, tenemos que cambiar algunos parámetros en / etc / default
           / spamassassin y debe de quedar de la siguiente manera:



           ENABLED=1
           SAHOME=”/var/lib/spamassassin/”
           OPTIONS=”—creat-prefs –max-children 5 –username spamd –helper-home-
           Dir ${SAHOME} –s ${SAHOME}spamd.log”


           PIDFILE=”${SAHOME}spamd.pid”
   vamos a editar el archivo / etc / spamassassin / local.cf y hacer que se
    parezca a lo siguiente:


    #Enable the Bayes system
    Use_bayes               1
    Use_bayes_rules         1
    #Eneble Bayes auto-learning
    Bayes_auto_learn        1
    #Enable or disable network checks
    Skip_rb1_checks         0
    Use_razor2              0
    Use_dcc                 0
    Use_pyzor               0


   Iniciamos el servicio

    #/etc/init.d/spamassassin start




   Ahora, tenemos que decirle a postfix para va a usar spamassassin. En
    nuestro caso,spamassassin va a ser invocado una vez postfix ha terminado
    con el correo electrónico.
    para decirle a postfix que va a usar spamassassin, vamos a editar el archivo
    / etc / postfix /master.cf y cambiar la línea:



    Smtp                    inet n -    -       -      -       smtp



    Y que aparezca esto:



    Smtp                inet n -        -       -      -       smtp -o
    content_filter=spamassassin



   Y agregamos las siguientes lineas
Spamassassin unix -              n    n      -      -      pipe

                             User=spamd argv=/usr/bin/spamc –f –e

                             /usr/sbin/sendmail –io –f $(sender) $(recipient)



   Y al final reiniciamos postfix



    #/etc/init.d/postfix reload

Más contenido relacionado

PDF
Servidor DNS Ubuntu
PDF
Servidor DNS Windows
ODP
Administración DNS automatizado
DOCX
Herramientas bind
PDF
Dns debian
DOCX
Dns en linux debían squeeze 6
PDF
17 berkeley internet name domain
PDF
Servidor DNS en Linux
Servidor DNS Ubuntu
Servidor DNS Windows
Administración DNS automatizado
Herramientas bind
Dns debian
Dns en linux debían squeeze 6
17 berkeley internet name domain
Servidor DNS en Linux

La actualidad más candente (20)

PDF
Servidor basico DNS
DOCX
Instalacion dns
PDF
Instalar servidores en debian
PPT
DNS cliente servidor
PPT
DNS
PDF
Manual instalacion y configuracion Dns
PDF
Practicas open solaris_v3_2
DOCX
Dns(jorgemoya)
PDF
21 dns linux_asoitsonp
DOCX
PPTX
Procesos de resolución de nombres dns
PPTX
PPT
DNS. Resolucion de Nombres
PPTX
DNS
PDF
Postfix
PDF
Comandos “nslookup”, “host” y “dig”
DOCX
PDF
SERVICIO DNS GNU-LINUX-CENTOS ::: http://leymebamba.com
PDF
Seguridad
Servidor basico DNS
Instalacion dns
Instalar servidores en debian
DNS cliente servidor
DNS
Manual instalacion y configuracion Dns
Practicas open solaris_v3_2
Dns(jorgemoya)
21 dns linux_asoitsonp
Procesos de resolución de nombres dns
DNS. Resolucion de Nombres
DNS
Postfix
Comandos “nslookup”, “host” y “dig”
SERVICIO DNS GNU-LINUX-CENTOS ::: http://leymebamba.com
Seguridad
Publicidad

Destacado (20)

PDF
Libro de Oracle 11g
PDF
Aicad cursos bonificables 2015
PDF
La persona más cara de la organización es la que no aporta nada a la rentabil...
PPTX
Actividad de Rafael
PDF
Reingenieria 2
PDF
Tecnico trastornos conducta alimentaria
PDF
Curso autodesk studio max
PPT
Retos de la Bibliotecas - Alejandro Martín Maldonado - BLAA
PDF
Boletinxuventude 18 11_13-1
PPS
FICOD-Agrega
PDF
Escribir Propuestas Ganadoras
PPTX
Introducción al Posicionamiento en Internet v2.0 (2013)
PPT
Tutorial Moodle Edutic 2007 1194923945162042 2
PDF
Programa taller posicionamientoen_red
DOCX
Html marcos y formularios
PPT
Ф.И. Тютчев
PPT
Bachillerato
PPT
Bioetica
PPTX
Colombia nuestro país
Libro de Oracle 11g
Aicad cursos bonificables 2015
La persona más cara de la organización es la que no aporta nada a la rentabil...
Actividad de Rafael
Reingenieria 2
Tecnico trastornos conducta alimentaria
Curso autodesk studio max
Retos de la Bibliotecas - Alejandro Martín Maldonado - BLAA
Boletinxuventude 18 11_13-1
FICOD-Agrega
Escribir Propuestas Ganadoras
Introducción al Posicionamiento en Internet v2.0 (2013)
Tutorial Moodle Edutic 2007 1194923945162042 2
Programa taller posicionamientoen_red
Html marcos y formularios
Ф.И. Тютчев
Bachillerato
Bioetica
Colombia nuestro país
Publicidad

Similar a Correo multidomino (20)

PDF
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
DOCX
PDF
Servidor DNS con IPv6 en Linux
DOC
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
DOC
Manual dhcp en linux
PDF
Actividad n 5.2 lina
PDF
Instalación de servidor DHCP en Ubuntu Server 12.04
PDF
Postfix Internet Site + Sasl
PDF
Servidores linux
DOCX
Instalacion y Configuracion de Correo REDHAT
PDF
How to tickets - Protocolos de Comunicación
PDF
Servidores cent os final
DOCX
Instalacion de dns
DOCX
Manual intalación DNS en Centos 6
DOCX
Informe Tecnico del Proyecto de Fin de Ciclo de Estructura de Redes de Comuni...
PDF
Servidor dns rhel 6.2
PDF
Servidor dns rhel 6.2 copy copy
PDF
Servidor dns rhel 6.2
PDF
Servidor dns rhel 6.2
DOCX
Manual de instalacion servicios en red hat
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
Servidor DNS con IPv6 en Linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
Manual dhcp en linux
Actividad n 5.2 lina
Instalación de servidor DHCP en Ubuntu Server 12.04
Postfix Internet Site + Sasl
Servidores linux
Instalacion y Configuracion de Correo REDHAT
How to tickets - Protocolos de Comunicación
Servidores cent os final
Instalacion de dns
Manual intalación DNS en Centos 6
Informe Tecnico del Proyecto de Fin de Ciclo de Estructura de Redes de Comuni...
Servidor dns rhel 6.2
Servidor dns rhel 6.2 copy copy
Servidor dns rhel 6.2
Servidor dns rhel 6.2
Manual de instalacion servicios en red hat

Más de Guiro Lin (18)

PDF
Leithold el calculo en español 7a.edición
PDF
Estructura de datos, pilas, árboles, colas, listas
PDF
52705482 estructura-de-datos-c-pilas-colas-listas-arboles-3
PDF
subconsultas en oracle
PDF
Tutorial básico de my sql
PDF
Tutorial mysql-basico
DOCX
Añadir host a gns3
PDF
Javascript
PDF
Jquery
PDF
Manual struts2-espanol
PDF
Configurar dhcp en router cisco
PDF
Tutorial dhcp ubuntu11
PDF
Consultoria empresarial
PDF
programación en visual basic.net
PDF
Comandos para router cisco
PDF
Configurar Bind
PDF
Ejemplo Politica de seguridad
PDF
Políticas de seguridad
Leithold el calculo en español 7a.edición
Estructura de datos, pilas, árboles, colas, listas
52705482 estructura-de-datos-c-pilas-colas-listas-arboles-3
subconsultas en oracle
Tutorial básico de my sql
Tutorial mysql-basico
Añadir host a gns3
Javascript
Jquery
Manual struts2-espanol
Configurar dhcp en router cisco
Tutorial dhcp ubuntu11
Consultoria empresarial
programación en visual basic.net
Comandos para router cisco
Configurar Bind
Ejemplo Politica de seguridad
Políticas de seguridad

Último (20)

PPTX
PREVENCION DEL SUICIDIO DENTRO DEL ENTORNO COLEGIOpptx
PDF
Sesión 4 Una mirada multidimensional .pdf
PPTX
SESION 5 ANSIEDAD Y CONSUMO DE SUSTANCIAS PSICOACTIVAS.pptx
PPTX
Ciudadanos para chile, valor del amor pilar
PPTX
MARILUZ VITE HERNANDEZ_PROCEDIMIENTO_LEIP
PPTX
S1 FUNDAMENTOS DE LA ANTROPOLOGIA EN TRABAJO SOCIAL
PDF
El Metodo Silva de Control Mental PDF.pdf
PPTX
Lo que quiero lo que soy, Lo que quiero lo que soy
PPTX
PREDICA VISION CORRECTA.pptx VISION Y MISION
DOC
con quien estudiar shaman de Europa en Uruguay.doc
PDF
DCI_SI31_PPT_Conceptos básicos de Estadística Inferencial.pdf
PPTX
EL TÉRMINO MAYA Y SU IMPORTANCIA EN EL INDUISMO
PDF
enfoque interdisciplinario en el abordaje de la educación con niños con disca...
PDF
Aforismos sobre diversidad funcional. Parte 75..pdf
PPTX
Curso de Materiales peligrosos Matpel 1
PDF
cyt sistema tegumentario pdf con cada explicacion
PPTX
tesis de adunas en venezuela y bloqueo.pptx
PDF
Taller inteligencia emocional _20241218_112943_0000.pdf
PDF
Una Iglesia Con Proposito.Y con mucha vida
PPTX
Dios requiere a siervos, más que a lideres.pptx
PREVENCION DEL SUICIDIO DENTRO DEL ENTORNO COLEGIOpptx
Sesión 4 Una mirada multidimensional .pdf
SESION 5 ANSIEDAD Y CONSUMO DE SUSTANCIAS PSICOACTIVAS.pptx
Ciudadanos para chile, valor del amor pilar
MARILUZ VITE HERNANDEZ_PROCEDIMIENTO_LEIP
S1 FUNDAMENTOS DE LA ANTROPOLOGIA EN TRABAJO SOCIAL
El Metodo Silva de Control Mental PDF.pdf
Lo que quiero lo que soy, Lo que quiero lo que soy
PREDICA VISION CORRECTA.pptx VISION Y MISION
con quien estudiar shaman de Europa en Uruguay.doc
DCI_SI31_PPT_Conceptos básicos de Estadística Inferencial.pdf
EL TÉRMINO MAYA Y SU IMPORTANCIA EN EL INDUISMO
enfoque interdisciplinario en el abordaje de la educación con niños con disca...
Aforismos sobre diversidad funcional. Parte 75..pdf
Curso de Materiales peligrosos Matpel 1
cyt sistema tegumentario pdf con cada explicacion
tesis de adunas en venezuela y bloqueo.pptx
Taller inteligencia emocional _20241218_112943_0000.pdf
Una Iglesia Con Proposito.Y con mucha vida
Dios requiere a siervos, más que a lideres.pptx

Correo multidomino

  • 2. SERVIDOR DE CORREO MULTIDOMINIO Problemática: Al analizar la demanda de sus servicios de correo electrónico, una empresa de hosting se da cuenta que posee recursos de sobra, y decide empezar a vender servicios de hosting de correo electrónico. Por tanto necesita configurar servicios de correo tolerantes a fallos, que sean capaces de responder a múltiples dominios y que autentique a sus clientes en una base de datos de credenciales (LDAP). El servicio de correo que se brinde dependerá de la clasificación de los clientes, permitiéndoles determinadas casillas de correo, espacio de almacenamiento, antispam y antivirus, correo electrónico seguro, y otros elementos, en función del tipo de contrato que se establezca. Para solucionar esta problemática se ha realizado un servidor multidominio utilizando las siguientes herramientas:  LDAP como base de datos para almacenar la información de los diferentes dominios y usuarios que se tendrán.  POSTFIX como agente de transferencia de correo.  COURIER como servidor IMAP  Apache2  BIND para DNS  Squirrelmail como web mail  Spamassassin para controlar el spam El siguiente es un esquema de red de nuestro servidor:
  • 3. HOW TO Para comenzar nuestro servidor de correo debemos configurar nuestro DNS: DNS Domain Name System o DNS (sistema de nombres de dominio) es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a Internet o a una red privada  Instalamos #apt-get install bind9  De Nuevo vemos en que Puerto está escuchando #netstat -tapn  Primero creamos la zona para el dominio que deseamos crear en el archivo #/etc/bind/named.conf.local Y agregamos la zona con este formato: zone "mailhosting.com.sv"{ type master; file "/etc/bind/db.mailhosting"; };  Ahora creamos el archivo de la zona que lleva por nombre db.mailhosting, podemos copiar uno que ya existe en los archivos de bind de esta manera: # cp /etc/bind/db.local /etc/bind/db.mailhosting Y nos quedaria el archive modificado de la siguiente manera: ; archivo de configuracion de la zona ; $TTL 604800
  • 4. @ IN SOA mailhosting.com.sv. dns.mailhosting.com.sv. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS mailhosting.com.sv. @ IN A aqui va al ip www IN CNAME mailhosting.com.sv. @ IN MX 10 mailhosting.com.sv. La configuración de este archivo depende de nuestra configuración y de nuestra ip que tenemos asignada.  Luego reiniciamos el servicio #/etc/init.d/bind9 restart  Luego ponemos en el archivo #nano /etc/resolv.conf y agregamos la línea nameserver “y la ip que se tiene asignada”  Para probar los archivos de la zona se utiliza el comando named-checkconf –z aquí nos muestra los errores que nuestro archivo tiene.  Para probar si nos resuelve el dns hacemos ping y el dominio y veremos si nos responde y pone la ip que tiene asignada.  El siguiente paso es crear las zonas inversas Creamos una nueva zona en el archivo #/etc/bind/named.conf.local zone "1.168.192.in-addr.arpa"{ type master; file "/etc/bind/db.192”;
  • 5. };  Ahora creamos el archivo para la zona inversa #nano /etc/bind/db.192 ; ; archive de la zona inversa ; $TTL 604800 @ IN SOA mailhosting.com.sv. dns.mailhosting.com.sv. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. 2 IN PTR mailhosting.com.sv.  Reiniciamos de Nuevo el servicio #/etc/init.d/bind restart  Y se pueden verificar los archivos de la zona de Nuevo y hacer ping con nuestra ip para ver si resuelve la zona inversa.
  • 6. POSTFIX Postfix es un servidor de correo de software libre, un programa informático para el enrutamiento y envío de correo electrónico, Configurando POSTFIX:  Instalar Postfix al instalarlo pedirá el nombre del dominio: #apt-get install postfix
  • 7. Luego vemos si está escuchando #netstat –tapn | grep LISTEN  Agregamos un grupo para postfix # addgroup -gid 1005 vmail (el numero de id de grupo es importante)  Ahora creamos la carpeta donde se irán a almacenar los archivos #mkdir /home/vmail  Ahora creamos un usuario en el grupo vmail este usuario será el encargado de la entrega de los correos. #useradd –d /home/vmail –g 1005 –u 1005 vmail  Le demos permisos # chown -R vmail:vmail /home/vmail/  Ahora se configura en archivo principal de configuración de Postfix # nano /etc/postfix/main.cf
  • 8. Se agregan las siguientes líneas al archivo de configuración para utilizar dominios virtuales: virtual_mailbox_domain= /etc/postfix/vhost.txt virtual_mailbox_base= /home/vmail virtual_mailbox_maps= hash:/etc/postfix/maps.txt virtual_uid_maps= static:1005 virtual_gid_maps= static:1005  Ahora vamos a crear los archivos vhost.txt y maps.txt #nano /etc/postfix/vhost.txt (este archivo llevara en nombre del dominio) #nano /etc/postfix/maps.txt (es importante que lleve la pleca al final la dirección) juan@protocolos.com protocolos.com/juan/  Ahora vamos a hacer que el archivo maps.txt lo pueda leer postfix como hash # postmap -f /etc/postfix/maps.txt  Ahora reiniciamos el servicio para que se lleven a acabo todos los cambios. # /etc/init.d/postfix restart  Ahora ya podemos realizar una prueba para ver si está bien el archivo # postmap -q juan@protocolos.com hash:/etc/postfix/maps.txt Esto nos debe de devolver el mailbox de la siguiente manera: protocolos.com/juan/  Ahora vamos a probar mandar correos para que cree las carpetas correspondientes # telnet localhost 25 Trying 127.0.0.1... Connected to protocolos.mailhosting.com.sv. Escape character is '^]'. 220 protocolos.mailhosting.com.sv ESMTP Postfix (Debian/GNU)
  • 9. mail fromcualquiercosa@cualquiercosa.com> 250 2.1.0 Ok rcpt tojuan@protocolos.com> 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> holaaa . 250 2.0.0 Ok: queued as E0CE46FC77 quit  Para verificar que mando el correo se deben de ver si creo las carpetas del usuario en este caso juan@protocolos.com las carpetas están en /home/vmail/protocolos/juan También se puede verificar en el log /var/log/mail.log
  • 10. LDAP LDAP son las siglas de Lightweight Directory Access Protocol (Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación el cual permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. Antes de configurar ldap se debe cambiar el nombre del dominio (protocolos.mailhosting.com.sv) Configurar ldap:  Instalar (slapd, ldap-utils)
  • 11. Pide la contraseña de administración de ldap  Para ver en qué puerto está escuchando ldap se pone #netstat -tapn | grep LISTEN  Se detiene slapd #/etc/init.d/slapd stop  Luego instalamos Courier-authlib-ldap para obtener el esquema  Luego de que se baje se descomprime gzip –d #gzip –d /usr/share/doc/Courier-authlib-ldap/authldap.schema.gz  Al descomprimir copiamos el esquema a los esquemas de ldap #cp /usr/share/doc/Courier-auth-ldap/authldap /etc/ldap/schema.  Ahora agregamos el esquema:  Antes de agregar el esquema tenemos que verificar que nuestro árbol si está bien con esta instrucción:
  • 12. # ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config"  Ahora hay que pasar el esquema a ldif pero antes vemos el esquema authldap.schema y vemos las dependencias del esquema al verlo vemos que este depende de nis.schema el cual depende de cosine.schema.  En el esquema se deben de descomentar las siguientes líneas si no causara conflictos: #attributetype ( 1.3.6.1.4.1.10018.1.1.14 NAME 'mailhost' # DESC 'Host to which incoming POP/IMAP connections should be proxied' # EQUALITY caseIgnoreIA5Match # SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} )  Ahora hay que crear un archivo que incluya todos los schemas debemos tener en cuenta las dependencias. El archivo se creara en /tmp y tener cualquier nombre por ejemplo /tmp/archivo.conf el archivo tendrá lo siguiente: include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/authldap.schema  Ahora se crea el directorio /tmp/directorio  Luego haremos un slapdtest #slaptest -f /tmp/archivo.conf -F /tmp/directorio  Luego lo copiamos a los esquemas de ldap de esta manera
  • 13. #cp/tmp/directorio/cn=config/cn=schema/cn={4}authldap.ldif /etc/ldap/slapd.d/cn=config/cn=schema/  Luego damos los permisos convenientes para ldap y reiniciamos ldap # chown openldap:openldap /etc/ldap/slapd.d/cn=config/cn=schema/cn={4}authldap.ldif # /etc/init.d/slapd restart  Para crear los usuarios creamos un archivo con lo siguiente: //Este usuario lector solo se utilizara con permisos de lectura dn: cn=lector,dc=mailhosting,dc=com,dc=sv cn: lector objectclass: person objectclass: simpleSecurityObject objectclass: top sn: lector userpassword: {MD5}3TgaBQ8Zh+e1x7cylv1JpQ== dn: o=administradores,dc=mailhosting,dc=com,dc=sv o: administradores objectclass: organization objectclass: top dn: o=Dominios,dc=mailhosting,dc=com,dc=sv o: Dominios objectclass: organization objectclass: top  Luego se agregan entidades en nuestro árbol en este caso se crearan dos una para dominios y una para administradores: #ldapadd -D "cn=admin,dc=mailhosting,dc=com,dc=sv" -W -f Escritorio/base.ldif
  • 14. Ahora vamos a crear un usuario para cada parte de nuestro árbol para dominios vamos a crear protocolos.com , vamos a crear un usuario Beatriz para el dominios protocolos.com dn: uid=administrador@protocolos.com,o=administradores,dc=mailhosting,dc=co m,dc=sv cn: protocolos.com objectclass: person objectclass: shadowAccount objectclass: top shadowflag: 1 sn: protocolos.com uid: administrador@protocolos.com userpassword: {MD5}gTaWsOiOoF1FOAwf11tAcA== dn: dc=protocolos.com,o=Dominios,dc=mailhosting,dc=com,dc=sv businesscategory: 3 dc: protocolos.com l: activa o: protocolos.com objectclass: dcObject objectclass: organization objectclass: top dn:uid=beatriz@protocolos.com,dc=protocolos.com,o=Dominios,dc=mailhosti ng,dc=com,dc=sv cn: beatriz disableshared: activa homedirectory: /home/vmail mail: beatriz@protocolos.com mailbox: protocolos.com/beatriz/ objectclass: CourierMailAccount
  • 15. objectclass: person objectclass: top sn: nick uid: beatriz@protocolos.com userpassword: {MD5}MjJCCXNoV35vOqwDxtzttg==  Luego agregamos el archivo a ldap #ldapadd -D "cn=admin,dc=mailhosting,dc=com,dc=sv" -W -f Escritorio/dominio.ldif UNIR LDAP CON POSTFIX  Se instala el paquete postfix-ldap #apt-get install postfix-ldap  Creamos una carpeta dentro de postfix para guardar los archivos de consulta a ldap. #mkdir /etc/postfix/ldap  Ahora vamos a crear un archivo .cf para poner los dominios desde ldap. #nano /etc/postfix/ldap/dominios.cf server_host = 127.0.0.1 server_port = 389 version = 3 ldap_bind= yes bind_dn = cn=lector,dc=mailhosting,dc=com,dc=sv bind_pw = lector search_base = o=Dominios,dc=mailhosting,dc=com,dc=sv query_filter = (&(objectClass=dcObject)(l=activa)(dc=%s)) result_attribute = dc
  • 16. También se crea un archive .cf para los usuarios #nano /etc/postfix/ldap/maps.cf server_host = 127.0.0.1 server_port = 389 version = 3 ldap_bind= yes bind_dn = cn=lector,dc=mailhosting,dc=com,dc=sv bind_pw = lector search_base = o=Dominios,dc=mailhosting,dc=com,dc=sv query_filter = (&(objectClass=CourierMailAccount)(disableshared=activa)(mail=%s)) result_attribute = mailbox  Ahora hay que modificar el archivo main.cf de postfix para que trabaje con ldap: # nano /etc/postfix/main.cf virtual_mailbox_domains=ldap:/etc/postfix/ldap/dominios.cf virtual_mailbox_maps= ldap:/etc/postfix/ldap/maps.cf  Otra vez para probar se puede mandar correo mediante telnet y ver el log.
  • 17. SERVIDOR IMAP  Instalar Courier #apt-get install courier-imap Courier-pop Luego hará una pregunta y se contesta que no:  Luego vemos en que puerto esta escuchanto #netstat –tapn  Ahora nos vamos al archivo de configuración de courier # nano /etc/courier/authdaemonrc Y cambiaremos esta línea authmodulelist="authpam" por esta authmodulelist="authpam authldap" para que este ligado con ldap pero si existe algún problema esto se puede modificar, el DEBUG_LOGIN=1 para ver los errores.
  • 18. Luego vamos al archivo de configuración # nano /etc/courier/authldaprc LDAP_URI ldap://localhost (aquí se pone la dirección de nuestro ldap en nuestro caso localhost) LDAP_BASEDN o=Dominios,dc=mailhosting,dc=com,dc=sv (en esta se modifica la base donde se ira a buscar) LDAP_BINDPW sucontraseña (y aquí se pone la contraseña para ldap) LDAP_MAIL mail (esta es la respuesta que queremos en nuestro caso en mail ) Descomentamos estas línea: # LDAP_FILTER (objectClass=CourierMailAccount) # LDAP_GLOB_UID vmail # LDAP_GLOB_GID vmail # LDAP_MAILDIRQUOTA quota Y colocamos el query LDAP_FILTER (&(objectClass=CourierMailAccount)(disableshared=activa)) Comentar esta linea: #LDAP_DEFAULTDELIVERY defaultDelivery  Ahora se reinicia # /etc/init.d/Courier-authdaemond restart  Ahora se puede probar:
  • 19. # telnet localhost 110 Trying 127.0.0.1... Connected to protocolos.mailhosting.com.sv. Escape character is '^]'. +OK Hello there. user beatriz@protocolos.com +OK Password required. pass beatriz +OK logged in.
  • 20. HTTP  Se instala: #apt-get install apache2-mpm-prefork  ahora vamos a crear sitios virtuales los cuales nos serviran para el ordenamiento de nuestor servidor.  Copiamos el sitio por default que tiene apache para crear nuestro sitios todo esto lo hacemos en sites-available # cp /etc/apache2/sites-available/default /etc/apache2/sites- available/malihosting  Ahora modificamos el archivo # /etc/apache2/sites-available/mailhosting Se deja el archivo de la siguiente manera ServerAdmin webmaster@localhost ServerName www.mailhosting.com.sv ServerAlias mailhosting.com.sv DocumentRoot /var/www/mailhosting <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/mailhosting/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all
  • 21. </Directory>  Creamos el archivo donde ira a buscar nuestra pagina a mostrar #mkdir /var/www/mailhosting  Habilitamos el dominio virtual # a2ensite mailhosting  Ahora recargaremos el servidor apache # /etc/init.d/apache2 reload  Copiamos una pagina inicial para que aparezca en nuestro dominio #cp /var/www/index.html /var/www/mailhosting/
  • 22. WEB MAIL Un webmail es un cliente de correo electrónico, que provee una interfaz web por la que acceder al correo electrónico. Es esta ocasión utilizamos el web mail Squirrelmail  Instalamos #apt-get install squirrelmail  Luego lo configuramos # squirrelmail-configure: Aparece el siguiente menú:
  • 23. Luego aparece esta pantalla y elegimos Courier:
  • 24. Ahora necesitamos crear un link para que se pueda entrar a squirrelmail Entramos a la carpeta del dominio #cd /var/www/mailhosting Y creamos ahí el link #ln -s /usr/share/squirrelmail/ correo  Ya con esto podemos entrar a un navegador y entrar al correo que hemos creado. Configuración para reconocer Spam  Instalar el paquete de spamassassin #apt-get install spamassassin spamc  vamos a crear un usuario específico y un grupo de spamassassin #groupadd -g 5001 spamd #useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd #mkdir /var/lib/spamassassin #chown spamd:spamd /var/lib/spamassassin  Ahora, tenemos que cambiar algunos parámetros en / etc / default / spamassassin y debe de quedar de la siguiente manera: ENABLED=1 SAHOME=”/var/lib/spamassassin/” OPTIONS=”—creat-prefs –max-children 5 –username spamd –helper-home- Dir ${SAHOME} –s ${SAHOME}spamd.log” PIDFILE=”${SAHOME}spamd.pid”
  • 25. vamos a editar el archivo / etc / spamassassin / local.cf y hacer que se parezca a lo siguiente: #Enable the Bayes system Use_bayes 1 Use_bayes_rules 1 #Eneble Bayes auto-learning Bayes_auto_learn 1 #Enable or disable network checks Skip_rb1_checks 0 Use_razor2 0 Use_dcc 0 Use_pyzor 0  Iniciamos el servicio #/etc/init.d/spamassassin start  Ahora, tenemos que decirle a postfix para va a usar spamassassin. En nuestro caso,spamassassin va a ser invocado una vez postfix ha terminado con el correo electrónico. para decirle a postfix que va a usar spamassassin, vamos a editar el archivo / etc / postfix /master.cf y cambiar la línea: Smtp inet n - - - - smtp Y que aparezca esto: Smtp inet n - - - - smtp -o content_filter=spamassassin  Y agregamos las siguientes lineas
  • 26. Spamassassin unix - n n - - pipe User=spamd argv=/usr/bin/spamc –f –e /usr/sbin/sendmail –io –f $(sender) $(recipient)  Y al final reiniciamos postfix #/etc/init.d/postfix reload