Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCCIN
Los servidores de correo 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 pretende superarlo a travs de PAM (`Pluggable Authentication Modules Modulo de Autenticacin 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 rpida, acceso remoto a los mensajes, accesos simultneos a mltiples clientes, vigilancia en el estado del mensaje, agilidad en las bsquedas, 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 ser 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 va web, como Hotmail, Open Webmail o Terra. En ellos la arquitectura del servicio es ms compleja: el cual no aplica en este manual.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
IP ESTTICA
Lo primero que debemos tener en cuenta, es que utilizaremos una direccin IP esttica para poder realizar todas las pruebas convenientes. Para evitar conflictos en la red lo que haremos es pedir una IP dinmica como siempre. Miraremos la IP que nos ha dado el servidor DHCP, y esa misma IP la pondremos esttica en nuestro sistema. De esta manera, tendremos una IP esttica y podremos descargarnos los paquetes que sean necesarios. Si alguien no se acuerda como se ponen las IP estticas, puede mirar en la prctica que hicimos de DHCP.
Instalamos el paquete de Bind9; en el caso que no lo tengamos instalado. $ sudo apt-get install bind9 Luego configuraremos este servicio. Si ya lo tenemos configurado, haremos antes una copia de seguridad del fichero de configuracin, antes de modificarlo. $ sudo cp /etc/bind/named.conf.local /etc/bind/named.conf.local2 Ahora ya podemos modificar el fichero de configuracin. # nano /etc/bind/named.conf.local Editaremos el archivo de configuracin y definiremos nuestras zonas. En este ejemplo, nuestro dominio se llamara lucas.com, es tipo maestro y le damos la ruta donde estar el archivo de la zona directa e inversa. Nosotros, le podemos poner el nombre de dominio que queramos; no tiene porque ser lucas.com. Pero si le ponemos otro nombre diferente a lucas.com tendremos que tener en cuenta que siempre que en esta prctica se haga referencia a lucas.com, nos tendremos que acordar de cambiarlo al nombre de dominio que hayamos elegido. zone "lucas.com" { type master; file "/etc/bind/directa.db"; };
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
En este ejemplo, el servidor de correo tiene el nombre de regocorreo con la direccin IP 192.168.1.1. En nuestro caso, seguramente nuestro servidor no se llamar regocorreo; y nuestra IP no ser 192.168.1.1. Por lo tanto, tendremos que ponerle el nombre de nuestro servidor en vez de regocorreo. Para saber el nombre de nuestro servidor podemos hacer: # hostname Con esto lo que estamos haciendo es que todas las peticiones de correo electrnico sern redireccionadas al host regocorreo.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Hecho esto guardamos todos los cambios y reinicairemos nuestro servidor DNS # sudo /etc/init.d/bind9 restart Comprobamos que la sintaxis de los ficheros directa.db y inversa.db sea correcta: # named-checkzone lucas.com /etc/bind/directa.db # named-checkzone lucas.com /etc/bind/inversa.db La respuesta tiene que ser: Zone lucas.com/IN: loaded serial 10 Si la respuesta no es correcta, es posible que haya que hacer algn pequeo cambio sin importancia: @ ns IN IN NS A ns 192.168.1.1 (en vez de lucas.com.)
Luego comprobaremos la respuesta del servidor. # nslookup > set q=any > lucas.com UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 4 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Si lo hemos hecho bien nos tiene que mostrar algo parecido a lo siguiente:
Si no lo hemos hecho bien y no sale esto, es posible que en Internet exista un lucas.com, o el dominio que nos hayamos inventado. En ese caso, pondremos nuestra IP en /etc/resolv.conf ya que nosotros ya somos un servidor DNS con reenviadotes vlidos en /etc/bind/named.conf.options. Con esto ya tenemos listo nuestro servidor DNS...si quisiramos tener ms de un servidor de correo o un servidor de correo de respaldo, slo tendramos que agregar algunas lneas ms, y que cada una de estas tenga diferente prioridad. Por ejemplo: lucas.com. lucas.com. regocorreo regocorreo2 IN IN IN IN MX 10 regocorreo MX 20 regocorreo2 A 192.168.1.1 A 192.168.1.2
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
2. Paquetes Ubuntu
Los paquetes ms importantes de Postfix para Ubuntu son: # apt-cache search postfix
postfix - A high-performance mail transport agent postfix-dev - Postfix loadable modules development environment postfix-doc - Postfix documentation postfix-ldap - LDAP map support for Postfix postfix-mysql - MYSQL map support for Postfix postfix-pcre - PCRE map support for Postfix postfix-snap - Postfix Mail Transport Agent - snapshot release postfix-snap-dev - Postfix-snap loadable modules development environment postfix-snap-doc - Postfix-snap documentation postfix-snap-ldap - LDAP map support for Postfix-snap postfix-snap-mysql - MYSQL map support for Postfix-snap postfix-snap-pcre - PCRE map support for Postfix-snap postfix-snap-tls - TLS and SASL support for Postfix snapshots postfix-tls - TLS and SASL support for Postfix
Voy a dar una explicacin rpida de qu es cada paquete. Los paquetes necesarios estn marcados con un asterisco (*).
postfix. Este es el paquete principal de Postfix. (*) postfix-dev. Entorno de desarrollo. postfix-doc. Documentacin. (*) postfix-ldap. Soporte LDAP. postfix-mysql. Soporte MySQL. postfix-pcre. Soporte de expresiones regulares. (*) postfix-snap-*. Versiones snapshot. Pueden ser inestables. postfix-tls. Soporte TLS y SASL (SMTP autentificado).
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
3. Instalacin
La instalacin de los paquetes Ubuntu se puede realizar de manera sencilla con el comando
sudo apt-get install postfix postfix-doc postfix-pcre
Si existen dependencias con otros paquetes, apt-get tambin las instalar. Despus de bajarse los paquetes de Internet, y antes de instalarlos, posiblemente se nos preguntarn una serie de cosas (relativas a la configuracin). Responderemos a esas preguntas, ya que son muy sencillas y nos permitirn crear una configuracin base. Luego podemos depurar ms la configuracin siguiendo esta gua. Pregunta1: Escoja el tipo de configuracin de correo que se ajusta ms a sus necesidades. Respuesta1: Sitio en Internet Pregunta2: Nombre del sistema de correo: Respuesta2: lucas.com Fijaros lo que pone al final de la instalacin: Postfix is now set up with a default configuration. If you need to make changes, edit /etc/postfix/main.cf (and others) as needed. To view Postfix configuration values, see postconf(1). After modifying main.cf, be sure to run /etc/init.d/postfix reload. El directorio donde se encuentran los ficheros de configuracin de Postfix es /etc/postfix/, y el fichero principal de configuracin se llama main.cf.
postfix stop. Este comando para el servidor. postfix start. Este comando arranca el servidor. postfix reload. Este comando hace que el servidor relea la configuracin sin parar el servicio. mailq. Para ver la cola de mensajes. postfix flush. Fuerza el envo de mensajes de la cola de espera. postmap. Este comando sirve para construir los ficheros auxiliares de Postfix. postconf. Muestra toda la configuracin de Postfix. newaliases. Este comando reconstruye la base de datos de alias.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
5. Configuracin de PostFix
# sudo nano /etc/postfix/main.cf Este es el archivo principal de configuracin dnde definiremos los parmetros que este servidor tendr. Nos dirigimos a las ltimas lneas donde se encontraran las variables a modificar. Estas variables pueden tener una lista de valores, pero nos tendremos que asegurar que existan y que uno de los elementos de la lista tenga al menos estos valores: myhostname regocorreo.lucas.com
Este es el nombre del host que tiene el servidor de correo, recuerde que este nombre debe de ser el que hemos configurado en el DNS. Seguramente nuestro servidor no se llama regocorreo y lo tendremos que cambiar por el nombre de nuestro servidor. mydomain 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 direccin de red, de donde queramos que puedan salir o entrar los correos. Esta direccin de red tiene que ser la nuestra propia. Si nuestro servidor no tiene la IP 192.168.1.X, tendremos que modificar este parmetro. Estas son las opciones bsicas , 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 ltima configuracin que realizamos # sudo /etc/init.d/postfix reload Con esto, tendremos nuestro MTA (Agente Transferencia Correo) Servidor de correo. Vale destacar que este servidor correr por el puerto 25. Ahora lo que haremos ser tratar de conectarnos al servidor de correo por medio de Telnet a travs del puerto 25.
# sudo telnet 127.0.0.1 25 Trying to 127.0.0.1. escape character is '^]'. 220 regocorreo.lucas.com ESMTP postfix (ubuntu)
Si al hacer telnet 127.0.0.1 25 nos da el error de Connection Refused, lo que haremos ser: Sudo apt-get update Sudo apt-get upgrade
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Al conectarse por medio del puerto 25, identifica el servidor de correo y muestra el banner de bienvenida. Ahora lo que haremos ser ver los mdulos y los tipos de autenticaciones que soporta el servidor. # sudo telnet 127.0.0.1 25 Trying to 127.0.0.1. escape character is '^]'. 220 regocorreo.lucas.com ESMTP postfix (ubutu) ehlo HOLA Escribimos ste comando, que nos indica que abrimos una seccin con este servidor a travs del puerto 25, para verificar los mdulos o soporte que tiene cargados. Si el resultado es este, significa que PostFix se est ejecutando correctamente en nuestro servidor.
Y el servidor deber de respondernos con los mdulos que este maneja. De igual manera nos damos cuenta que el servidor esta corriendo perfectamente y que no hay errores en su configuracin. Ahora ya tenemos configurado y funcionando nuestro servidor de correo.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Esta configuracin es util para ordenadores individuales que no estn en una red local o tienen conexin permanente a Internet (como ADSL, cable, ...).
Esta configuracin se suele dar en redes locales que ya tienen un servidor SMTP o en conexiones espordicas a Internet con mdem, por ejemplo (el servidor definido sera el de tu proveedor).
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
En primera instancia, mutt aparecer de esta forma ya que en el buzn de entrada no hay ningn mensaje. Con la tecla M podremos enviar un nuevo correo electrnico.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
To: root@lucas.com (este ser el usuario al que queremos que llegue el mensaje). Presionamos la tecla enter, para escribir el mensaje, nos aparecer un editor de textos y all escribimos el mensaje. Si el editor de textos es el nano, ya estamos acostumbrados a utilizarlo. Si el editor de textos es el que lleva mutt incorporado, tenemos que saber que para guardar los cambios tenemos que presionar las teclas Ctrl+K+X, nos dir que si queremos guardar los cambios y presionamos la tecla Y (yes). Para ver con que opciones ms contamos, podemos hacer Ctrl+K+H para ver la ayuda de este editor de textos.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Nos saldr un encabezado con los parmetros principales para enviar el correo electrnico.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
En la bandeja de entrada, veremos el correo que enviamos. Con esto podemos comprobar que nuestro servidor 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. All esta el mensaje que escribimos al usuario root... con esto nos damos cuenta de que el servidor de correo esta funcionando. Para salir del usuario root y volver al usuario toni (o el nuestro de siempre) haremos: # exit
Si resulta que no tenemos ningn mensaje, es posible que tengamos que crear a mano los ficheros para guardar los mensajes de los usuarios: sudo nano /var/mail/toni El usuario toni ser el usuario con el que entramos normalmente. UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 14 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Todos los correos electrnicos usando este servidor son almacenados en este directorio /var/mail/ dnde 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 perderamos TODOS nuestros correos, siendo vulnerable a posibles ataques. Courier y Cyrus son 2 servidores de Pop e Imap que utilizan Maildir como formato de almacenamiento.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
A CONTINUACIN TENEMOS QUE INSTALAR LOS SERVICIOS DE POP3 i/o IMAP. HAY VARIAS OPCIONES PARA INSTALAR ESTOS SERVICIOS; LAS MS CONOCIDAS SON: A) DOVECOT B) COURIER Y TENEMOS QUE ESCOGER UNA DE LAS DOS OPCIONES!! NO LAS DOS!! SI INSTALAMOS LAS DOS TENDREMOS CONFLICTOS CON LOS PUERTOS!! ESTA PRCTICA EXPLICA LAS DOS OPCIONES, PERO SE RECOMIENDA INSTALAR COURIER PORQUE TRABAJA CON MAILDIR (EN VEZ DE MAILBOX). POR LO TANTO, PODEIS INSTALAR DIRECTAMENTE COURIER I SALTAROS LA EXPLICACIN DE DOVECOT.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Muy recientemente podemos encontrar el paquete dovecot-postfix. Este paquete es equivalente a instalar los paquetes dovecot-imapd y el dovecot-pop3d. Pero como que es tan reciente ser mejor actualizar el repositorio antes. $ sudo apt-get update $ sudo apt-get install dovecot-postfix La forma en que autenticaremos nuestro servidor de correo ser a travs de un servidor como puede ser IMAP o POP3 contra PAM que es un mecanismo de autenticacin que guarda los registros en el sistema local.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
$ sudo apt-get install courier-imap Durante la instalacin nos preguntar: Desea crear los directorios para la administracin basada en web? Le responderemos que NO porque no tenemos el apache instalado. Despus 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. $ sudo nano /etc/postfix/main.cf Al final de este archivo, agregamos esta lneas: home_mailbox = Maildir/g mail_spool_directory = /var/spool/mail/ Y buscamos esta variable dentro del archivo para comentarla. #mailbox_command = procmail -a "$EXTENSION" UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 24 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
La verdad, esta variable no se encontr. Entonces lo que se hizo fue agregarla y comentarla. (omitir sino es necesario)
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Y por seguridad borramos todos los usuarios, excepto los del sistema. Tras guardar userdb, le cambiamos los permisos y generamos el fichero de contraseas # chmod 700 userdb UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 26 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Ahora podemos probar la recepcin de correos a travs de IMAP, los correos a travs de un MUA, como puede ser Thunderbird de Linux, Evolution de Linux, Outlook Express de Windows XP o Live Mail de Windows 7. Vamos a ver como se configura Live Mail de Windows 7.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Agregar
Como que hemos migrado todos los usuarios del sistema dentro de Courier, los usuarios y las contraseas son las mismas que utilizamos para entrar en nuestro servidor. UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 29 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Siguiente
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Mi servidor de correo entrante es IMAP porque hemos configurado Courier con IMAP. El servidor de correo entrante es la IP de nuestro servidor dnde est instalado Courier. El servidor de correo saliente es la IP de nuestro servidor dnde est instalado PostFix. En vez de poner la IP, podramos poner el nombre FDQN; es decir: servidor.lucas.com (dnde servidor es el nombre de nuestro servidor). No nos podemos olvidar de configurar las DNS en el cliente. Debemos poner como IP de DNS, la IP de nuestro servidor.
Finalizar
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
M08- Serveis de xarxa Estos pasos los tenemos que repetir para cada uno de los usuarios que tengamos creados en nuestro servidor; para as poder probar de enviar emails de un usuario a otro.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
SEGURIDAD
Hasta aqu hemos hecho la prctica instalando el servidor de correo SIN SEGURIDAD. A continuacin vamos a configurar nuestro servidor para que sea seguro. Que nadie pueda enviar un email hacindose pasar por otro, y que el propio mensaje no pueda ser ledo, ni modificado en su viaje. Ahora que nuestro sistema de correo electrnico funciona sin seguridad, ser importante que si implementamos la seguridad, tenemos que verificar cada cambio que hagamos en el cliente; y tirar marcha atrs si el ltimo cambio no ha funcionado para ver porqu no ha funcionado. No pasar al paso siguiente, sin asegurar que el anterior funciona correctamente.
1. AUTENTICACIN
En este apartado, nos centraremos a configurar el servidor para que solo lo usen las personas que nosotros queremos, y no abusen de l para enviar spam.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
La red 127.0.0.0 puede enviar. Esta red siempre ser nuestra propia mquina (localhost). Los 254 hosts de la red 192.168.2.0 pueden usar nuestro servidor. Solo el host 172.16.3.4 puede usar nuestro servidor, y ninguno ms de la red 172.16.3.0. Por ejemplo, el 172.16.3.14 no podra.
relay-host
Mediante el sistema relay-host definimos que direcciones de correo pueden enviar a travs de nuestro servidor. Esto es til si las personas que queremos que enven correo tienen una direccin e-mail estable, pero una IP que cambia muy a menudo. Una configuracin tpica sera esta
smtpd_recipient_restrictions = permit_mynetworks, check_sender_access hash:/etc/postfix/usuarios reject_unauth_pipelining, reject_non_fqdn_recipient, reject_non_fqdn_sender, reject_unknown_recipient_domain, reject_unknown_sender_domain, check_relay_domains
En la directiva check_sender_access vemos que hace referencia a un fichero llamado /etc/postfix/usuarios. Este fichero contiene algo parecido a esto:
usuario@dominio.com usuario2@dominio.com usuario3@dominio2.com OK OK OK
Esta lista de e-mails significa que dichas direcciones pueden enviar a travs de nuestro servidor, independientemente de la IP que tengan. Como puedes imaginar este mtodo no es muy seguro, ya que UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 34 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
ACL
Las ACL, o listas de control de acceso, son las direcciones de e-mail que NO pueden enviar correo a nuestro servidor. Si llega un mensaje con alguna de esas direcciones, el servidor lo rechazar. La configuracin de las ACL sera
smtpd_sender_restrictions = hash:/etc/postfix/access reject_unknown_sender_domain permit_mynetworks
Como vemos se pueden denegar direcciones e-mail concretas (bob645@yahoo.com), o dominios enteros (techemail.com). Cada vez que se modifique este fichero debemos ejecutar
cd /etc/postfix && postmap access && postfix reload
pop-before-smtp
Este mtodo consiste en que los clientes, antes de poder enviar correo a travs de nuestro servidor, deben recoger primero el correo mediante POP3 o IMAP. Al recoger el correo, un demonio controla los logs de los servidores POP3 o IMAP, e introduce en un fichero las IPs de los clientes. A partir de ese momento, desde esa IP se podrn enviar correos, con cualquier remitente, durante el tiempo especificado, que por defecto son 30 minutos. En la distribucin Ubuntu, existe un paquete llamado pop-before-smtp. Lo instalaremos con el comando
apt-get install pop-before-smtp
Luego editamos el fichero /etc/pop-before-smtp/pop-before-smtp.conf para elegir el patrn (expresin regular) que se ajusta a las lineas de log que genera nuestro servidor POP3 o IMAP. Reiniciamos el demonio con el comando
/etc/init.d/pop-before-smtp restart
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
y comprobamos que al recoger el correo, nuestra IP se introduce en el fichero /var/lib/pop-beforesmtp/hosts.db con el siguiente script:
#!/usr/bin/perl -w use strict; use DB_File; # # # # # # # # Written by Jonas Smedegaard <dr@jones.dk>. - but copied more or less verbatim from a mail regarding pop-before-smtp by Bennett Todd <bet@rahul.net>. If someone recovers the origin of this script please tell me, and I will add it to this file. Freely redistributable, or by same rules as those of pop-before-smtp (until the original author eventually shows up and claims differently).
die "syntax: $0 filename.db [...]\n" unless @ARGV; file: for my $file (@ARGV) { my %h; dbmopen(%h, $file, 0) || do { warn "$0: dbmopen($file): $!\n"; next file; }; print "$_ -> $h{$_}\n" for keys %h; }
Pasamos a configurar Postfix. En el fichero /etc/postfix/main.cf modificamos la siguiente linea para que incluya el fichero de IPs que genera el demonio pop-before-smtp:
mynetworks = 127.0.0.0/8, 192.168.1.0/24, hash:/var/lib/pop-before-smtp/hosts
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Ahora le damos clic en ENVIAR / REC IBIR Y nos deber de salir un men de Autenticacin para ENVIAR el correo.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Si ya tenias instalado el paquete postfix no te preocupes, pueden convivir ambos sin problemas. Acto seguido, crearemos un certificado que servir para cifrar la conexin, ejecutando este comando
# openssl req -new -x509 -nodes -out certificado.pem -keyout postfix.pem -days 3000
certificado.pem = Nombre que le daremos a nuestro certificado con la extensin .pem - keyout postfix.pem = integracion con postfix days = Das que tedra vigencia nuestro certificado, ponemos los das que creamos pertinentes El certificado lo tendremos en el fichero certificado.pem. Ponle los permisos adecuados para que nadie excepto el servidor Postfix pueda leerlo, y pon el fichero en un directorio seguro.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El certificado ha sido creado. Para verificarlo vamos a la siguiente ruta, donde quedaran alojados: # cd/ etc/ ssl/ # ls certificado.pem cert openssl.cnf postfix.pemprivate Abrimos el archivo certificado.pem y veremos algo as:
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Ahora editaremos el archivo prinicipal de configuracin de postfix para incluir el soporte con TLS. $ sudo nano /etc/postifx/main.cf En este archivo agregaremos las siguientes lneas: # 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
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Dnde: smtpd_tls_cert_file=/etc/ssl/certificado.pem (Ruta donde se encuentra el certificado que anteriormente creamos) Situacin 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 parmetros de los tiempos de conexin de TLS UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 45 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Si instalramos un sniffer como WireShark veramos que los paquetes viajan con toda la informacin del mensaje cifrado. Para Live Mail de Windows 7 tenemos que habilitar SSL en la entrada de paquetes. Es decir, tenemos que habilitar SSL para SMTP en el puerto 25.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Esto lo que nos permitir ser integrar el servidor anti-spam con postfix, de manera que los correos que entren o salgan sean analizados por este servidor.
Y al final del fichero aadiremos estas lneas: spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} -- ${recipient} y ya para finalizar, reiniciamos el servidor para comprobar que no haya errores. $ sudo /etc/init.d/postfix restart
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Instalaremos el servidor anti-virus clamAV. $ sudo apt-get install clamav E instalaremos unos paquetes adicionales para que pueda funcionar correctamente nuestro servidor antivirus de correo. $ sudo apt-get install clamsmtp $ sudo apt-get install clamsmtp $ sudo apt-get install clamav-freshclam $ sudo apt-get install clamav-docs (Es muy importante instalar la documentacin para clamav, ya que estos manuales nos pueden ser de mucha ayuda) Ahora vamos a configurar el sistema antivirus clamAV UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 51 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
$ sudo nano /etc/clamsmtpd.conf (Editaremos el archivo principal de configuracin) Cambiaremos la direccin 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 dnde 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 ser la localizacin del pid PidFile: /var/run/clamsmtp/clamsmtpd.pid Lugar donde dejar los ficheros temporales TempDirectory: /var/spool/clamsmtp El usuario con el que lanzarlo User: clamsmtp Accin a realizar en caso de detectar virus. UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 52 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
#!/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 cdigo malicioso en el adjunto que contena el correo. Pngase en contacto con el administrador de su sistema LUKASCORPORATION si est UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 53 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
# cd /etc/postfix/ # nano master.cf Y aadiremos al final de este archivo las siguientes lneas: ## FILTRO ANTIVIRUS ## Filtro antivirus usado por content filter Scan unix n 16 UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 54 de 81
smtp
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
smtpd
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Enviamos un correo desde root hacia new3... all 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.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El fichero anti-virus, filtra los ficheros adjuntos, y el cuerpo del mensaje. Este fichero contiene lo siguiente
# Virus /(filename|name)="(Happy99|Navidad|prettypark)\.exe"/ REJECT /(filename|name)="(pretty park|zipped_files|flcss)\.exe"/ REJECT /(filename|name)="(Msinit|wininit|msi216)\.exe"/ REJECT /(filename|name)="(Avp_updates|Qi_test|Anti_cih)\.exe"/ REJECT /(filename|name)="(Emanuel|kmbfejkm|NakedWife)\.exe"/ REJECT /(filename|name)="(Seicho_no_ie|JAMGCJJA|Sulfnbk|decrypt-password)\.exe"/ REJECT /(kak|day)\.(reg|hta)/ REJECT /Rem I am sorry.*/ REJECT /Te mando este archivo para que me des tu punto de vista/ REJECT /I send you this file in order to have your advice/ REJECT /Espero me puedas ayudar con el archivo que te mando/ REJECT /Espero te guste este archivo que te mando/ REJECT /Este es el archivo con la informacin que me pediste/ REJECT # ficheros extraos /(filename|name)=".*\.(asd|chm|dll|hlp|hta|js|ocx|pif)"/ REJECT /(filename|name)=".*\.(scr|shb|shs|vb|vbe|vbs|wsf|wsh)"/ REJECT # CLSID /(filename|name)=".*\.\{.*\}"/ REJECT # Iframe /(\<IFrame\ src\=\"|\<IFRAME\ src\=\"|\<IFRAME\ SRC\=\")/ REJECT
El siguiente fichero es pcre_anti_virus, que filtra los ficheros adjuntos por extensiones y tambien fichero codificados en MIME
/^begin\s+\d{3}\s+.+?\.(bat|chm|cmd|com|hta|jse?|pif|scr|shb|vb[esx]|ws[fh])\b/ REJECT /^\s+(file)?name="?.+?\.(bat|chm|cmd|com|hta|jse?|pif|scr|shb|vb[esx]|ws[fh])\b/ REJECT
Y por ltimo, el fichero cabeceras, que filtra las cabeceras de los mensajes (el from, subject,
etc.). /^From: Hahaha <hahaha@sexyfun.net>$/ REJECT
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Como ves, se pueden poner mensajes despus del REJECT. Estos mensajes sern recibidos por la persona que mand el mensaje. Tienes una lista muy extensa de expresiones regulares en la URL http://www.hispalinux.es/~data/postfix/
127.0.0.1:10025 inet n n - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Llega un correo con remitente desconocido Se deniega con un error 450 (intentar ms tarde) Se guarda la IP, el From y el To en un fichero Si el correo era un spam o un virus, es muy raro que nos lo vuelvan a enviar Si el correo viene de un servidor SMTP, ser enviado de nuevo pasados unos minutos Cuando llega de nuevo el correo, lo dejar pasar
Veamos cmo implementar el greylisting en un servidor Ubuntu con Postfix 2.1 o superior (las versiones anteriores no soportan esta caracterstica): Instalamos el paquete postgrey
# apt-get install postgrey
Con esto configuramos Postfix para que compruebe cada correo que llega mediante el demonio greylist, que est escuchando en el puerto 60000 de la IP 127.0.0.1 Reiniciamos Postfix y ya lo tendremos funcionando. Puedes obtener ms informacin sobre greylisting en http://greylisting.org
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Lo de cualquiercosa es eso, cualquier palabra, da lo mismo la que sea, pero ES OBLIGATORIO que haya una (los ficheros de hash van por pares). Cada vez que modifiques este fichero debes ejecutar el comando
cd /etc/postfix && postmap virtual && postfix reload
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
A NS NS MX MX IN IN IN IN IN
Fjate en las lneas "IN MX". Hemos puesto que el servidor principal es correo y tiene una prioridad 1, y el servidor correobackup tiene una prioridad 2. Esto quiere decir que cuando alguien enve un correo a nuestro dominio, primero lo intentar enviar a la mquina correo, y en caso que no pueda enviarlo, lo enviar a la mquina correobackup. El fichero main.cf de la mquina correobackup debe llevar estas opciones:
mydestination = dominio.es transport_maps = hash:/etc/postfix/transport
Con esto especificamos que todo el correo que llegue para el dominio midominio.es debe ser reenviado a la mquina correo.midominio.es mediante el protocolo SMTP. El servidor de backup intentar enviar los mensajes a la mquina principal cada poco tiempo, si no lo consigue, lo intenta ms tarde. Por defecto, postfix devuelve los mensajes que no ha podido enviar en 5 das, as que si tu servidor UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 61 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
En la ltima lnea hemos especificado un nmero, el 10025, que sera el puerto de destino del servidor remoto. En ese puerto debera haber un demonio escuchando las peticiones externas para redirigir el correo al servidor. El hecho de especificar un puerto distinto al 25 (SMTP) puede servir para evitar firewalls, proxies o incluso para asegurarnos que ningn sniffer interceptar nuestro correo. Al modificar este fichero, se debe ejecutar el comando
cd /etc/postfix && postmap transport && postfix reload
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
A.4.1 OPENLDAP
Este manual, esta dedicado a OPEN LDAP, que es una implementacin libre del protocolo que soporta mltiples esquemas por lo que puede utilizarse para conectarse a cualquier otro LDAP, como lo es Mandriva Directory Server, Fedora Directory Servero Red Hat Directory Server. Ahora lo que realizaremos ser buscar en la cache de nuestros repositorios, que si se encuentren los paquetes necesarios para la instalacin de OpenLdap. $ sudo apt-cache search ldap-utils ldap-utils - OpenLDAP utilities $ sudo apt-cache search migrationtools migrationtools - Migration scripts for LDAP $ sudo apt-cache search slapd slapd - OpenLDAP server (slapd) slapd-dbg - Debugging information for the OpenLDAP server (slapd) Ahora que sabemos que todos los paquetes se encuentran en la cache de los repositorios, podremos instalarlos. $ sudo apt-get install ldap-utils $ sudo apt-get install migrationtools $ sudo apt-get install slapd Al instalar este paquete de slapd. Nos pedir una contrasea para el administrador, pero es opcional ponerla ya que mas adelante configuraremos los parmetros bsicos y en ellos se incluye la contrasea. Luego de que tenemos instalado estos paquetes, iniciaremos la configuracin. $ sudo dpkg-reconfigure slapd De inmediato iniciara el asistente para la configuracin de slapd
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Le decimos que NO...ya que queremos configurar los parmetros bsicos de Openldap.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
en como
el el
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Ahora le diremos que el motor de la base de datos que utilizaremos ser de tipo BDB.
Nos pregunta que si deseamos borrar la base de datos cuando purguemos el paquete Slapd. Le respondemos que no, para permitir que la base de datos quede presente en el momento de eliminar el paquete de instalacin.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Le decimos que si, ya que no tenemos una base de datos configurada, porque apenas la vamos a crear.
Nos preguntar que si queremos que instale LDAPV2. Le respondemos que NO, ya que no ser 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.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Lo primero que haremos sera crear una nueva conexin, entre este software (Ldap Admin Tools) y OpenLdap.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
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 direccin IP de este. Para nuestro caso utilizaremos la direccin 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 ltimo testeamos que se encuentre la conexin activa con ldap, para poder ingresar y realizar los cambios que queramos.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Ahora definiremos los parmetros de autenticacin. Simple Authentication y los parametros seran: Bind DN =cn=a dmin ,dc= luca s,dc =com (El usuario administrador de ldap, sera admin y ponemos la base de nuestro dominio.) Password =** **** **** **** (Este ser el password que anteriormente habamos definido para el usuario admin) Y comprobamos que las credenciales sean validas.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Estas son algunas de las opciones de la conexin que podemos modificar. Y para finalizar damos clic en Finish.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Adicionaremos un nuevo schema Include /etc/ldap/schema/postfix.schema UF3- Servidor PostFix Prctica Linux Elaborat: Toni Soler Pg. 77 de 81
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
Despus de haber adicionado estas lneas reiniciamos OpenLdap, para que carguen los nuevos cambios efectuados y sercionarnos de que no hallan errores Nota: Cada vez que reiniciemos algn servicio, verifiquemos en los Logs pertinentes que no existen errores.
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.
(Slapd se demorara un poco mas para reiniciarse ya que apenas esta integrando los nuevos cambios realizados)
El document vlid est dipositat en el programa informtic de gesti documental. Aquest document pot esdevenir obsolet.