Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual de Instalacion POSTFIX
Manual de Instalacion POSTFIX
Integrantes: Alex Zuluaga Perez Natalia Valencia Roger Olarte Fernanda Orozco Alexander Betancur Cristina Piedrahita fecha de creacin: 10 de octubre ltima modificacin: 19 de octubre
PRESENTACION
En base al a las redes de comunicacin los servicios de mensajeria han tomado una caracateristica mas propia dandole el lugar a una aplicacin como los son los servidores de correo;estos nos permiten enviar mensajes de unos usuarios a otros con independencia de la red que se este utilizando. Para lograrlo se definen una serie de protocolos, cada uno con una finalidad: 1. SMTP: simple mail transport protocol -este se utiliza para que se intercambien los mensajes entre servidores de correo, es basado en un modelo cliente servidor.Una de las limitaciones del SMTP original es que no facilita mtodos de autenticacin a los emisores, as que en este manual se pretende superarlo atraves de pam,(`Pluggable Authentication Modules;modulo de autenticacion enlazable). 2. POP: post office transport protocol -se utiliza para obtener/descargar los mensajes guardados en el servidor al usuario. 3. IMAP: internet message access protocol -su finalidad es la misma que pop aunque funciona diferente y vimos algunas ventajas como tiempos de respuesta rapida,acceso remoto a los mensajes,accesos simultaneos a multiples clientes, vigilancia en el estado del mensaje , agilidad en las busquedas, entre otras ventajas sobre el protocolo pop por lo cual nos basamos mas en IMAP. Entonces es por eso que decimos que un servidor de correo consta en realidad de dos servidores el SMTP encargado de enviar y recibir mensajes, y un servidor POP/IMAP que sera el que permite a los usuarios obtener sus mensajes; para esto los usuarios se sirven de clientes, es decir, programas que implementan un protocolo POP/IMAP que en algunas ocasiones el cliente se ejecuta en la mquina del usuario (como el caso de Mozilla Mail, Evolution, Outlook). Sin embargo existe otra posibilidad: que el cliente de correo no se ejecute en la mquina del usuario; es el caso de los clientes via web, como Hotmail,OpenWebmail o terra. En ellos la arquitectura del servicio es ms compleja: el cual no aplica en este manual.
CONTENIDO 1.DIRECCION DE RED ESTATICA 2.CONFIGURACION DE BIND 3.INSTALACION Y CONFIGURACION DE POSTFIX 4.PROBAR MENSAJES CON MUTT 5.ALMACENAMIENTO Y TIPOS DE CORREO 5.1 DOVECOT 5.2 COURRIER 6.AUTENTICACION ATRAVES DE PAM 7.EVOLUTION 8.TUNDERBHIND 9.AUTENTICACION ATRAVES DE SASL 10.TLS 11.OPENLDAP 12.ADMINISTRACION DE LDAP 13.INTEGRACION POSTFIX CON OPENLDAP 14.USUARIOS VIRTUALES 15.ANTIVIRUS 16.ANTIESPAM
(Editaremos el archivo de
Definiremos nuestras zonas Zona directa zone "lucas.com" { type master; file "/etc/bind/directa.db"; }; Nuestro dominio se llamara lucas.com , es tipo maestro y le damos la ruta donde estara el archivo de la zona directa. Zona inversa zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/inversa.db"; }; Ahora crearemos los archivos donde pondremos la configuracion de las zonas. Crearemos primero la zona directa: root@regocorreo:~# root@regocorreo:~# root@regocorreo:~#
directa.db
Agregamos un host, el cual sera nuestro servidor de correos con el nombre de regocorreo con la direccion ip 192.168.1.1 Luego agregamos un registro MX con prioidad 10 y apuntando al host regocorreo que ya tenemos definido. Con esto lo que estamos haciendo es que todas las peticiones de correo electronico seran redireccionas al host regocorreo. Ahora crearemos la zona inversa: root@regocorreo:~# root@regocorreo:~# root@regocorreo:~#
(Creamos el Archivo)
inversa.db
Creamos la zona de regocorreo el cual sera nuestro servidor de correos. Hecho esto guardamos todos los cambios y reinicairemos nuestro servidor DNS root@regocorreo:~#
/etc/init.d/bind9 restart
correspondiente a la configuracion del servidor
nslookup
Entre toda esta informacion, debemos detallarnos en que halla cargado la configuracion de nuestro servidor de correo. (Regstro MX) Con esto ya tenemos listo nuestro servidor DNS...si usted desea tener mas de un servidor de correo o un servidor de correo de respaldo, solo debe agregar cuantas lineas necesite similares, y que cada una de estas tenga diferente prioridad.
Ahora ya estamos seguros de que nuestro paquete postfix se encuentra en la cache de los repositorios, por lo que procederemos a instalarlo. root@regocorreo:~#
Con esto, tendremos nuestro MTA (Agente Transferencia Correo) Servidor de correo. Vale destacar que este servidor correra por el puerto 25. Vamos a configurarlo, por defecto despues de instalarlo queda un directorio en /etc/ Alli se encontraran los archivos de configuracion. root@regocorreo:~# cd /etc/postfix/ root@regocorreo:~# nano main.cf (Archivo principal de configuracion donde definiremos los parametros que este servidor tendra) nos dirigimos a las ultimas lineas donde se encontraran las variables a modificar:
myhostname regocorreo.lucas.com (Nombre del host que tiene el servidor de correo, recuerde que este nombre debe de ser el que hemos configurado en el DNS) mydomain lucas.com (Dominio para el cual recibiremos correos electronicos)
mydestination lucas.com (Podremos recibir correos para la maquina local, donde realizaremos nuestras primeras pruebas) mynetworks 192.168.1.0/24, 127.0.0.0/8 (Definiremos la direccion de red, de donde queramos que puedan salir o entrar los correos)
Estas son las opciones basicas , pero recuerde que son muchas las variables que podremos definir que en el transcurso del manual iremos agregando. Ahora reiniciamos el servidor para comprobar que no existan errores, y para que cargue la ultima configuracion que realizamos root@regocorreo:~#
/etc/init.d/postfix restart
Ahora lo que haremos sera tratar de conectarnos al servidor de correo por medio de telnet atraves del puerto 25. root@regocorreo:~# telnet 127.0.0.1 25 Trying to 127.0.0.1. escape character is '^]'. 220 regocorreo.lucas.com ESMTP postfix (ubutu) Al conectarse por medio del puerto 25, identifica el servidor de correo y muestra el banner de bienvenida. Ahora lo que haremos sera ver los modulos y los tipos de auntenticaciones que soporta el servidor. root@regocorreo:~# telnet 127.0.0.1 25 Trying to 127.0.0.1. escape character is '^]'. 220 regocorreo.lucas.com ESMTP postfix (ubutu)
Y el servidor debera de respondernos con los modulos que este maneja. De igual manera nos damos cuenta que el servidor esta corriendo perfectamente y que no hay errores en su configuracion. Ahora ya tenemos configurado y funcionando nuestro servidor de correo.
Luego instalamos un software con el cual podremos enviarnos correos y comprobar. root@regocorreo:~#
Ya tenemos listo el software para realizar pruebas. Estamos logueados como Root (SuperUsuario). En una consola root@regocorreo:~# mutt (Para abiri el software) me dice que el usuario no existe, que si quiero crear el directorio. Le respondemos S
En primera instancia, mutt aparecera de esta forma ya que en el buzon de entrada no hay ningun mensaje.
Presionamos la tecla enter, para escribir el mensaje, nos aparecera un editor de textos, alli escribimos el mensaje y los guardamos presionando las teclas Ctrl+X simultaneamente, nos dira que si queremos guardar los cambios y presionamos la tecla Y (yes)
Nos saldra un encabezado con los parametros principales para enviar el correo electronico.
Ahora para enviar el correo, basta con presionar la tecla Y. Ahora nos loguearemos como el usuario new desde una consola. Si queremos ver si llego el mensaje, nos logueamos como el usuario al que le enviamos el correo electronico, en este caso a regocorreo@lucas.com que es el correo del usuario Root del sistema. root@regocorreo:/# mutt (Abrimos el Software)
En la bandeja de entrada, veremos el correo que enviamos. Con esto podemos comprobar que nuestro servudor de correo Postfix esta funcionando correctamente. y vemos en la bandeja de entrada que tenemos un mensaje....con las teclas direccionales podemos seleccionarlo y con enter entramos para ver el mensaje Alli esta el mensaje que escribimos desde root... con esto nos damos cuenta de que el servidor de correo esta funcionando.
Dovecot es un servidor que maneja Mailbox ya que los mensajes se guardan en un nico archivo en el que se van encolando los mensajes a medida que van llegando al buzn.
todos los correos elecronicos usando este servidor son almacenados en este directorio /var/mail/ donde por cada usuario, se genera un fichero. La desventaja de este formato es que el proceso de lectura y escritura se hace mas lento, ya que toca buscar dentro del fichero correspondiente el correo, y en caso de que se llegase a borrar este fichero perderiamos TODOS nuestros correos, siendo vulnerable a posibles ataques.
Courier y Cyrus son 2 servidores de Pop e Imap que utilzan Maildir como formato de almacenamiento.
Este formato, es muy diferente a Mailbox, ya que los correos no se almacenan en un unico fichero, sino que se genera automaticamente un fichero por cada correo que sea recibido. Estos ficheros se almacenan en la ruta /var/spool/mail/ La ventaja principal de este formato, es que el proceso de lectura y escritura se realiza a gran velocidad, apto para condiciones donde el flujo tanto de lectura y escritura de correos es elevado. Tiene pocas deventajas, y una de ellas es que se necesita gran capacidad de almacenamiento en disco.
root@regocorreo:~# root@regocorreo:~#
La forma en que autenticaremos nuestro servidor de correo sera atraves de un servidor como puede ser como IMAP o POP3 contra PAM que es un mecanismo de autenticacion que guarda los registros en el sistema local.
Vamos al archivo de configuracion de dovecot, que se crea por defecto en el directorio /etc/dovecot/ El archivo principal de configuracion sera root@regocorreo:~#
dovecot.conf
nano /etc/dovecot/dovecot.conf
Las lineas que descomentaremos, modificaremos o agregaremos en su defecto, seran: protocols: pop3 pop3s imap (Sera el protocolo que manejara el servidor dovecot)
Listen: * (Por cual puerto escuchara. Si ponemos un asterisco* es porque tomara el puerto por defecto) disable_plaintext_auth: no (Nos dice, que si queremos Deshabilitar la autenticacion es texto plano, le decimos que no, porque utilizaremos la autenticacion en texto plano) ssl_disable: yes (Si queremos deshabilitar SSL Para transporte seguro ya que los datos viajaran encriptados.) mail_location: mbox:~/mail:INBOX=/var/mail/%u (El lugar donde se alojaran los correos electronicos, que por defecto seran en /var/mail. Y la %u quiere donde se almacenaran los correos a determinado usuario)
auth default { mechanisms = plain login passdb pam { } userdb passwd { } socket listen { client { # Assuming the default Postfix $queue_directory setting path = /var/spool/postfix/private/auth mode = 0660 # Assuming the default Postfix user and group user = postfix group = postfix } } }
Para finalizar reinicamos el servicio para que gurde los cambios efectuados. Error!!!! Pero que paso?? Claro, lo que pasa es que agregamos estas lineas al final, para entender mejor la sintaxis de como autentica Dovecot contra pam, pero estas lineas se encuentras descomentadas a lo largo de todo el archivo, por ende al tratar de reiniciar el servicio nos saca un error que nos indica que existe duplicado en las lineas . root@regocorreo:~#
/etc/init.d/dovecot restart
Error: Error in configuration file /etc/dovecot/dovecot.conf line 1095: Authentication process already exists with the same name (section changed at line 1093) Fatal: Invalid configuration in /etc/dovecot/dovecot.conf
[fail]
Entonces lo que haremos sera comentar las lineas que se encuentran repetidas a lo largo del archivo. Las lineas que comentaremos son: # auth default { -line 769 # mechanisms = plain -line 773 # passdb pam { -line 806 # } -line 839 # userdb passwd { -line 907 # } -line 914 # user = root -line 970 # } -line 1020 root@regocorreo:~# /etc/init.d/dovecot restart
nota: ya que en este manual se encuentran 3 formas de descargar los correos con las plataformas dovecot courrrier/imap y cyrus no se deben crear confusiones, simplemente se quieren mostrar las alternativas que mejor se acomoden a sus criterios. No esta demas destacar que corierimap fue de nuestra preferencia como se describira mas adelante.
Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused Ahora que sabemos que ninguno de estos 2 protocolos esta funcionando, procedemos con la instalacion de Courier-imap NOTA: Si tenemos instalado algun servidor de POP e IMAP, podriamos tener conflictos y producir errores al tratar de correr el servicio, lo recomendable es desinstalarlo. root@regocorreo:~# apt-cache search courier (Buscamos en la cache que se encuentren los paquetes respectivos de Courier)
root@regocorreo:~#
Despues de que instalemos este paquete, vamos al archivo principal de Postfix y lo editamos de manera que pueda almacenar los correos en el formato Maildir. root@regocorreo:~# root@regocorreo:~#
esto creara un archivo donde se encuentran todos los usuarios del sistema.
Y por seguridad borramos todos los usuarios, exeptos los del sistema. Tras guardar userdb, le cambiamos los permisos y generamos el fichero de contraseas root@regocorreo:~# root@regocorreo:~#
Ahora editaremos unas opciones en el archivo principal de courier-imap, para que pueda funcionar el demonio. root@regocorreo:~# root@regocorreo:~#
authmodulelist="authpam"
Ahora reiniciamos el servicio para que cargue los cambios efectuados, y comprobar que no existen errores. root@regocorreo:~# /etc/init.d/courier-imapd restart * Stopping Courier IMAP server... { OK } * Startinf Courier IMAP server... { OK } root@regocorreo:~# /etc/init.d/courier-authdaemon restart * Stopping Courier IMAP server... { OK } * Startinf Courier IMAP server... { OK } root@regocorreo:~#
Ahora podemos probar la recepcion de correos atraves de IMAP, los correos atraves de un MUA, como puede ser Thunderbird o Evolution.
CONFIGURACION DE EVOLUTION
Evolution es un Software MDA que viene por defecto instalado en nuestro sistema operativo linux. Para probarlo cerramos sesion y nos logueamos como un usuario del sistema. Vamos al menu
aplicaciones/internet/correo de evolution/
Al abrirlo por primera vez, tendremos que llenar cada uno de los campos requeridos Iniciaremos el asistente de configuracion de Evolution Inicia el asistente de configuracion de Correo de Evolution Siguiente
aqu llenaremos los siguientes campos: Nombre Completo: Lucas Zuluaga Direccion de correo-e: regocorreo@lucas.com Responder a: regocorreo@lucas.com
Recepcion de Correo Esta sera la forma atraves de la cual queremos recibir los correos....Ya sea localmente, o atraves de los protocolos POP3 e IMAP. Nota: Para esto debemos tener en cuenta que tendremos que instalar el servidor para pop3 o imap(Dovecot), que lo realizamos en el paso anterior.
Al seleccionar como servidor para la recepcion de correo a IMAP, tendremos que llenar los campos de configuracion respectiva. Configuracion: servidor:
192.168.1.1
Opciones de recepcion Comprobar si hay correos cada: (OK) 1 minuto Comprobar si hay mensajes en todas las carpetas: (OK)
Tipo de servidor: SMTP Servidor: 192.168.1.1 (L direccion Ip del equipo donde se encuentra instalado el servidor, en nuestro caso utilizaremos la direccion Ip que tenemos en nuestro equipo.)
Seleccionamos el pais donde nos encontramos, y listo. Damos OK para finalizar. Y de inmediato entramos al entorno de Correo Evolution. Lo primero que nos pedira, sera que nos loguiemos, y esto sera atraves del mecanismo de autenticacion PAM, que guarda los registros en el sistema local. Nota: Mas adelante utilizaremos otros mecanismos de autenticacion como son SASL.
Nos logueamos introduciendo el password respectivo al Usuario regocorreo Ahora ya podremos ingresar al entorno Evolution para administrar nuestros correos de una forma mas amigable para el usuario.
Ahora lo que haremos sera mandar un correo a el mismo usuario, para verificar que los servidores para el envio y la recepcion estan funcionando perfectamente. Damos click en la parte superios izquierda, donde dice NUEVO. Nos saldran varias opciones, pero elegimos Mensaje de correo. Nota: (una forma mas rapida es presionar simultaneamente las teclas Ctrl+N) Ahora nos saldra una ventana donde escibiremos el destinatario al que queremos que le llegue el correo. El asunto del mensaje que viene siendo como el tema al que se refiere. Y en la parte de abajo, en el espacio en blanco podremos escribir El mensaje como tal.
Y Para finalizar damos clic en Enviar/Recibir que se encuentra en la parte superior izquierda, al lado de Nuevo. Con esto, enviamos el correo y esperamos a que llegue a nuestro buzon.
Damos clic en Bandeja de Entrada y vemos que el mensaje ha llegado con xito.
Despues de haber instalado el paquete, podemos acceder a Thunderbird de la siguiente manera: Dando clic en el menu Aplicaciones / Internet / Mozilla Thunderbird Mail/News E iniciamos el Asistente, para crear una cuenta de correo.
Ahora llenaremos los campos de Identidad que nos piden: Your Name = Lucas Zuluaga (Nombre con el que queremos que aparezca nuestro Usuario) Email Address = new@lucas.com (Indicamos una cuenta de correo-electronico) Damos clic en Next para continuar
Ahora seleccionaremos que tipo de protocolo para acceder a los mensajes utilizaremos, para nuestro caso utilziaremos IMAP. Incoming Server = 192.168.1.1 (Nombre del Servidor de IMAP o la direccion IP , que tiene el servidor) Damos click en Next para continuar con el proceso de configuracion de la cuenta.
Ahora escribimos el nombre con el que queremos que aparezca nuestro servidor de correo. Ahora damos click en Next, para ver en la configuracion, si los parametros que pusimos fueron los correctos
Y ahora damos clic en Finish, para finalizar el asistente de configuracion de una cuenta de correo electronico
nano /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes (Permitiremos la autenticacion por medio de Sasl) smtpd_recipient_restrictions =permit_sasl_authenticated,reject (Esto quiere decir que permitiremos que se envien correos, despues de que hallan sido validados a traves de Sasl) smtpd_sasl_authenticated_header = yes (Si queremos agregarle una cabezera a sasl) smtpd_sasl_type = dovecot (El tipo de servidor que tenemos para la recepcion de correo, con el cual queremos que se auntentica para poder enviar/recibir correos) smtpd_sasl_path = private/auth (Modo cliente )
smtp_sasl_auth_enable = no (Si soporta la auth en modo cliente, le decimos que NO, ya que dovecot no soporta esta autenticacion) Nota: Dovecot solo soporta la autenticacion en modo servidor, que es la que permite que un usuario se conecte al servidor, se valide hacia este para poder descargar los correos)
smtpd_sasl_security_options = (En este campo, podremos adicionar opciones para la securidad de sasl, si dejamos este campo en blanco, sasl tomara los valores que tiene por defecto)
Al terminar de ingresar estas opciones reiniciamos el servidor para que cargue los nuevos cambios efectuados. root@regocorreo:~# /etc/init.d/postfix restart Ahora probaremos la validacion. Lo haremos atraves de base64 Nota: BASE64 Es un sistema de enumeracion que utiliza un sistema de codificacion para los correos electronicos y otras aplicaciones. root@regocorreo:~# Donde:
Con esto nos damos cuenta que el MTA (Postfix) Esta validando los usuarios de una manera codificada atraves de sasl. El metodo de cifrado, es en texto plano, pero a medida que vayamos avanzando con este manual, le adicionaremos complementos de seguridad.
Ahora le damos clic en ENVIAR/RECIBIR Y nos debera de salir un menu de Autenticacion para ENVIAR el correo.
certificado.pem = Nombre que le daremos a nuestro certificado con la extension.pem keyout postfix.pem = integracion con postfix days = Dias que tedra vigencia nuestro certificado, ponemos los dias que creamos pertinentes.
El certificado ha sido creado. Para verificarlo vamos a las siguiente ruta, donde quedaran alojados: root@regocorreo:~# cd/etc/ssl/ certificado.pem cert openssl.cnf
postfix.pem
private
Ahora editaremos el archivo prinicipal de configuracion de postfix para incluir el soporte con TLS. root@regocorreo:~# nano /etc/postifx/main.cf En este archivo agregremos las siguientes lineas: # TLS Parameters
smtpd_tls_cert_file=/etc/ssl/certificado.pem smtpd_tls_key_file=/etc/ssl/postfix.pem smtp_use_tls = yes smtp_tls_loglevel = 0 smtp_tls_session_cache_timeout = 3600s smtp_tls_note_starttls_offer = yes smtp_starttls_timeout = 300s
Donde:
smtpd_tls_cert_file=/etc/ssl/certificado.pem (Ruta donde se encuentra el certificado que anteriormente creamos) situacion de la clave publica smtpd_tls_key_file=/etc/ssl/postfix.pem (Ruta donde se encuentra las claves .pem del certificado digital) situacin de la clave privada (en los ficheros .pem, ambas estn juntas smtp_use_tls = yes (debemos utilizar TLS siempre que se pueda, le decimos que YES) smtp_tls_loglevel = 0 nivel de log. Poner 2 hasta que todo funcione bien smtp_tls_session_cache_timeout = 3600s tiempo de validez de las claves smtp_tls_note_starttls_offer = yes aviso de conexin TLS smtp_starttls_timeout = 300s tiempo mximo del intercambio de claves (Los parametros de los tiempos de conexin de TLS)
root@regocorreo:~#
/etc/init.d/postfix restart
Reinciamos el servidor de correo Postfix, para que cargue los cambios efectuados.. Ahora podremos enviar correos con mayor seguridad, ya que el mensaje viajara encriptdo con un alto nivel de seguridad, de manera que solo el destinatario podra ver el correo. Nota: En la configuracion de los mda como Evolution o thunderbird podremos seleccionar que cifre el trafico por medio de TLS.
Y para mayor seguridad, podremos ver los paquetes como viajan, atraves de un Snnifer que es un analizador de protocolos.
Le decimos que NO...ya que queremos configurar los parametros basicos de openldap.
Escribiremos una contrasea de administrador, de manera que en el momento de efectuar algun cambio, debemos de estar logueados como el administrador.
Ahora le diremos que el motor de la base de datos que uilizaremos sera de tipo BDB.
Nos pregunta que si deseamos borrar la base de datos cuando purgemos el paquete Slapd. Le respondemos que no, para permitir que la base de datos quede presente en el momento de eliminar el paquete de instalacion.
Le decimos que si, ya que no tenemos una base de datos configurada, porque apenas la vamos a crear.
Nos preguntara que si queremos que instale LDAPV2. Le respondemos que NO, ya que no sera necesario porque todos los protocolos y servicios que tenemos instalados tienen soporte con ldapv3. ahora realizamos la respectiva configuracin para que el Servidor use la autenticacin de LDAP. Instalamos los paquetes necesarios, para poder llevar a cano esta operacin. Primero que todo, comprobamos en la cache de los repositorios, que se encuentren los paquetes. root@regocorreo:~# apt-cache search auth-client-config auth-client-config - pam and NSS profile switcher root@regocorreo:~# apt-cache search libnss-ldap libnss-ldap - NSS module for using LDAP as a naming service libpam-ldap - Pluggable Authentication Module allowing LDAP interfaces libnss-ldapd - NSS module for using LDAP as a naming service libpam-ccreds - Pam module to cache authentication credentials nss-updatedb - Cache name service directories in DB format root@regocorreo:~# apt-cache search libpam-ldap server libpam-ldap - Pluggable Authentication Module allowing LDAP interfaces ldapscripts - Add and remove user and groups (stored in a ldap directory)
libpam-ccreds - Pam module to cache authentication credentials nss-updatedb - Cache name service directories in DB format Ahora podemos instalar los paquetes. root@regocorreo:~# root@regocorreo:~#
libnss-ldap
Cuando estemos instalando este ultimo paquete, nos pedira una configuracion que a continuacion explicaremos. Ldap server uniform resource identifier
ldapi://127.0.0.1/
distinguised name of the search base
dc=lucas,dc=com
ldap version to use
3
make local root database admin
si
does the ldapdatabase requiere login
no
ldap account for root
cn=admin,dc=lucas,dc=com
(Este sera el usuario principal de Ldap) Ldap root account password
#############
Configuracion de ldap.conf root@regocorreo:~# root@regocorreo:~#
Entramos al archivo principal de ldap, y modificaremos los siguientes campos. Nota: Estos campos varian de acuerdo a la configuracion de la direccion IP, y del dominio que se tenga instalado en la maquina. #host 127.0.0.1 host 192.168.1.1
bind_policy_soft
Ahora copiamos los archivos root@regocorreo:~# cp /etc/ldap.conf
/etc/ldap/ldap.conf
Ahora lo que haremos, sera habilitar la auntenticacion de ldap. root@regocorreo:~# auth-client-config -a -p open_ldap ahora reiniciaremos el servidor, para que cargue los cambios efectuados, y comprobar que no tenemos errores. root@regocorreo:~# /etc/init.d/slapd restart
http://www.ldapsoft.com/ldapadmintool.html
ahora instalaremos el software; Buscamos la ruta donde este se encuentra root@regocorreo:~# ./ldapAdminTool-2.4.x-Linux-x86-Install.bin E iniciaremos la instalacion. Abrimos el software por primera vez
Lo primero que haremos sera crear una nueva conexin, entre este software (Ldap Admin Tools) y OpenLdap.
Connection Name = conexin LDAP (Este sera el nombre que le queremos dar a la conexin) Hostname = 127.0.0.1 (En esta opcion podemos ingresar el nombre del equipo donde se encuentra ldap, o la direccion IP de este. Para nuestro caso utilizaremos la direccion 127.0.0.1 ya que ldap se encuentra instalado y configurado en nuestro equipo local) port = 389 (El puerto por el cual se realizara la conexin. 389 viene por defecto) protocol = LDAP v3 (Este sera el protocolo que utilizara ldap... Podemos utilizar la version2 o la version3. Base DN = dc=lucas,dc=com (Esta es la base de como esta conformado nuestro dominio, ya que es lucas.com y se define como dc=lucas y el .com que sera dc=com) por ultimo testeamos que se encuentre la conexin activa con ldap, para poder ingresar y realizar los cambios que queramos.
Simple Authentication
y los parametros seran: Bind DN = cn=admin,dc=lucas,dc=com (El usuario administrador de ldap, sera admin y ponemos la base de nuestro dominio.) Password = ************** (Este sera el password que anteriormente habiamos definido para el usuario admin) Y comprobamos que las credenciales sean validas.
Estas son algunas de las opciones de la conexin que podemos modificar. Y para finalizar damos clic en Finish.
Lo primero que haremos sera crear la estructura(Schema) para poder realizar usuario y grupos virtuales para el servidor de correo, validandose contra OpenLdap. root@regocorreo:/# root@regocorreo:/#
Include
/etc/ldap/schema/postfix.schema
Ahora vamos a esta ruta y creamos un fichero que contendra el nuevo schema. root@regocorreo:/#
cd /etc/ldap/schema/
root@regocorreo:/#
touch postfix.schema
nano /etc/postfix/main.cf
# LDAP settings virtual_maps = ldap:ldapgroups, ldap:ldapalias ldapgroups_server_host = localhost ldapgroups_server_port = 389 ldapgroups_search_base = ou=Groups,dc=lucas,dc=com ldapgroups_bind = no ldapgroups_timeout = 30 ldapgroups_query_filter = (&(mail=%s)(objectclass=mailGroup)) ldapgroups_special_result_attribute = member ldapalias_server_host = localhost ldapalias_server_port = 389 ldapalias_search_base = ou=Users,dc=lucas,dc=com ldapalias_bind = no ldapalias_timeout = 30 ldapalias_query_filter = (&(mail=%s)(objectclass=mailUser)) ldapalias_result_attribute = maildrop transport_maps = ldap:ldaptransport ldaptransport_server_host = localhost ldaptransport_server_port = 389 ldaptransport_search_base = ou=Transport,dc=lucas,dc=com ldaptransport_bind = no ldaptransport_timeout = 30 ldaptransport_query_filter = (&(cn=%s)(!(cn=server.mydomain.com)) (objectclass=transportTable)) ldaptransport_result_attribute = transport
para que se haga una busqueda virtual del parametro mydestination quito el dns local y dejamos el nombre de equipo una , y localhost: debajo de esta linea adicionamos el parametros:
virtual _mailbox_domains=lucas.com virtual_mailbox_base=/vmail/correos (aqu es donde almaceno los correos ) virtual_mailbox_maps=ldap:/etc/postfix/ldap.conf (aqu es donde se hace las consultas de ldap) virtual_uid_maps= stactics:5000 virtual_gid_maps=stactics:5000 (en estas dos ultimas lineas estamos especificando el usuario/grupo virtual admin y los buzones para estos).
Es obvio que debemos tener este usuario ya creado useradd -m -d /vmail -s /bin/false -U -u 5000 vmail (vmail es el nombre de usuario) con sus respectivo directorio
Despues de haber adicionado estas lineas reinicamos OpenLdap, para que carguen los nuevos cambios efectuados y sercionarnos de que no hallan errores Nota: Cada vez que reiniciemos algun servicio, verifiquemos en los Logs pertinentes que no existen errores. root@regocorreo:/# /etc/init.d/postfix restart root@regocorreo:/# /etc/init.d/slapd restart (Slapd se demorara un poco mas para reiniciarse ya que apenas esta integrando los nuevos cambios realizados)
apt-cache search
spamassassin
Acontinuacion instalaremos los paquetes necesarios que necesita Spamassassin para funcionar correctamente. root@regocorreo:~# apt-get install spamassassin root@regocorreo:~# apt-get install spamc Luego crearemos un grupo con usuarios para la parte de administracion del servidor de spam. root@regocorreo:~#
groupadd spamd
root@regocorreo:~# useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd (Creamos un usuario llamado spamd que sera miembro del grupo spamd) ahora ya que tenemos un grupo con un usuario, reiniciamos el servicio de spamassassin para que cargue la ultima configuracion que realizamos. root@regocorreo:~# OH!!! Q que paso!!!
/etc/init.d/spamassassin restart
Saco un mensaje de error.. root@regocorreo:~# SpamAssassin Mail Filter Daemon: disabled, see /etc/ default/spamassassin Esto quiere decir que el demonio esta deshabilitado, y por lo tanto no puede funcionar. root@regocorreo:~# cd /etc/default/ root@regocorreo:~# nano spamassassin Modificamos una linea, que nos permitira activar nuestro demonio. ENABLED=0 Modificamos el 0(Desactivado) por un 1(Activado) ENABLED=1 Guardamos los cambios. root@regocorreo:/etc/spamassassin# /etc/init.d/spamassassin restart Restarting SpamAssassin Mail Filter Daemon: spamd. Ahora tenemos el servicio activo y corriendo.
Ahora lo que haremos sera dar una configuracion para el sistema antispam, vamos al archivo principla de configuracion de spamassassin. root@regocorreo:~# nano /etc/spamassassin/local.cf descomentamos estas linea
rewrite_header Subject *****SPAM***** (Este sera el encabezado que llevara el mensaje) report_safe 1 (Le decimos que nos mande el correo de spam de manera adjunta)
required_score 5.0 (Esta es la puntuacion apartir de la cual Spamassassin reconocera un correo como Spam o no. Por defecto viene en 5.0) Debemos de tener cuidado con la puntuacion que le demos en el required score. La puntuacion va de 0 a 10. Si la ponemos muy baja podremos tener problemas ya que correos que no son SPAM podrian ser tratados como si lo fueran. Si la ponemos muy alta nos tomara como correos bueno lo que en realidad es SPAM. La puntuacion ideal sera dejarlo entre 3.5 y 5.5 Ahora agregamos unas lineas, que evitaran que las cabeceras de los ISP se tomen como spam.
bayes_ignore_header X-Upstream-Spamfilter bayes_ignore_header X-Upstream-SomethingElse ?????????????????????????????????????????????????????????????????????? Ahora crearemos la ruta donde se encontrara el directorio de las bayesianas, esta parte es de suma importancia bayes_path /etc/spamassassin/bayes/bayes
Ahora creamos El directorio donde se encontraran las bayesianas. mkdir /etc/spamassassin/bayes Listo. Ya con esto tenemos la cofiguracion de spamassassin. Ahora reiniciaremos el servicio para que cargue la nueva configuracion que hemos realizado. root@regocorreo:~# /etc/init.d/spamassassin restart Restarting SpamAssassin Mail Filter Daemon: spamd. Ahora lo que haremos sera integrar SPAMASSASSIN con POSTFIX Lo que haremos sera configurar postfix para que los correos sean analizados por el filtro antispam. root@regocorreo:~# cd /etc/postfix/ root@regocorreo:/etc/postfix# nano master.cf Aadiremos lo siguiente en la lineas en las opciones de smtp.
ANTIVIRUS
Ahora instalaremos y configuraremos el servidor antivirus. ClamAV es el anti-virus de correo mas utilizado y se puede integrar facilmente con postfix(MTA) Empezaremos entonces buscando en la cache de los repositorios si existe este paquete para ser instalado. root@regocorreo:~#
apt-cache search
clamav
E instalaremos unos paquetes adicionales para que pueda funcionar correctamente nuestro servidor antivirus de correo. root@regocorreo:~# root@regocorreo:~# root@regocorreo:~#
root@regocorreo:~# apt-get install clamav-docs (Es muy importante instalar la documentacion para clamav, ya que estos manuales nos pueden ser de mucha ayuda) Ahora vamos a configurar el sistema antivirus clamAV
root@regocorreo:~# nano /etc/clamsmtpd.conf (Editaremos el archivo principal de configuracion) Cambiaremos la direccion para enviar los correos, por defecto viene en 10025 y la modificamos. OutAddress: 10026 El puerto en el que escucha el sistema antivirus Listen: 127.0.0.1:10025 La ruta donde esta el archivo de clamd. ClamAddress: /var/run/clamav/clamd.ctl Pondremos un encabezado para los correos que hayan sido analizados. Header: X-AV-Checked: ClamAV using ClamSMTP. Porporcionado por LucasCorp.
Este sera la localizacin del pid PidFile: /var/run/clamsmtp/clamsmtpd.pid Lugar donde dejar los ficheros temporales TempDirectory: /var/spool/clamsmtp
antivirus en caso de detectar un virus. root@regocorreo:/usr/local/bin# touch virusalert.sh root@regocorreo:/usr/local/bin# nano virusalert.sh Le daremos permisos a este archivo. root@regocorreo:/usr/local/bin# chmod 744 virusalert.sh entramos a este archivo y agregamos la siguiente sintaxis:
#!/bin/sh FROM='Sistema antivirus <antivirus@lomu.homelinux.org>' TO=$RECIPIENTS MAILER='/usr/sbin/sendmail -it' SUBJECT=`/bin/echo "El correo contiene un virus" | /usr/bin/nkf -jMB` $MAILER <<EOM From: $FROM To: $TO Subject: =?ISO-2022-JP?B?$SUBJECT?= Se ha detectado codigo malicioso en el adjunto que contena el correo. Pongase en contacto con el administrador de su sistema LUKASCORPORATION si est seguro/a de que no es un virus, pida a la persona que le enva el fichero que por favor lo ponga en un fichero comprimido protegido por una contrasea. Disculpe las molestias. [Virus] $VIRUS [De] $SENDER [Para] $RECIPIENTS EOM exit 0
Esto lo que hara sera que en caso de que clamAV detecte algun virus, notificara de inmediato con el administrador de la red, por medio de un correo electronico, notificando que ha detectado virus, y seran almacenados en una boveda especial. La ultima configuracion sera decirle a postfix que todos los correos entrantes y salientes sean analizados por el sistema antivirus, en nuestro caso clamAV.
root@regocorreo:/# root@regocorreo:/#
## FILTRO ANTIVIRUS
## Filtro antivirus usado por content filter scan unix n 16 smtp -o smtp_send_xforward_command=yes -o smtp_enforce_tls=no # Para inyectar el correo a postfix una vez analizado 127.0.0.1:10026 inet n n 16 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks_style=host -o smtpd_authorized_xforward_hosts=127.0.0.0/8
Ahora iremos al archivo main.cf y agregaremos unas cuantas lineas del filtro y el escaneo. root@regocorreo:/# nano /etc/postfix/main.cf
content_filter = scan:[127.0.0.1]:10025
/etc/init.d/clamsmtp restart
/etc/init.d/postfix restart
Llegado a este punto, ya tendremos configurado postfix con un sistema de seguridad completo como es con antivirus y antispam. Probaremos que los mensajes sean analizados.
Enviamos un correo desde regocorreo hacia new3...alli en el encabezado nos podremos dar cuenta de que el correo ha sido previamente escaneado. Con lo que podemos darnos cuenta que nuestro Antivirus, ha analizado el correo antes de que podamos abrirlo.