Download - Configuracion de un servidor smtp en DEBIAN
INSTALACION Y CONFIGURACION DE UN SERVIDOR DE CORREO ELECTRONICO EN DEBIAN GNU/LINUX
Este manual se dividirá en tres etapas:• La primera etapa es la instalación del sistema operativo.• La segunda etapa es la instalación del servidor SMTP.• La tercera etapa pruebas al servidor.
PRIMERA ETAPA: INSTALACION DE DEBIAN GNU/LINUX
DESCARGA DEL SISTEMA OPERATIVODescargamos la imagen de la versión estable de Debian GUN/Linux de la siguiente pagina:
Arquitectura 32Bits: http://cdimage.debian.org/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso
Arquitectura 64Bits:http://cdimage.debian.org/debian-cd/6.0.5/kfreebsd-amd64/iso-dvd/debian-update-6.0.5-kfreebsd-amd64-DVD-1.iso
Para este manual utilizaremos la arquitectura de 32Bits, no obstante todo lo que exponemos en este documento se realiza de la misma manera para ambas arquitecturas.
INSTALACION DEL SISTEMA OPERATIVO
Una vez descargado lo grabamos en un DVD e iniciamos el computador con el DVD dentro de la unidad óptica y veremos una imagen de bienvenida al arranque de Debian, seleccionamos install.
Posteriormente seleccionaremos el idioma español y presionamos ENTER.
Seleccionamos el país nuestro, es decir El Salvador y presionamos ENTER.
Seleccionamos el teclado latinoamericano y presionamos ENTER.
Esperamos que terminen los procesos de cargas de componentes, para posteriormente configurar el nombre del host (Nuestra PC) le pondremos: ServidorSMTP presionamos TAB para desplazarnos entre los controles hasta continuar y presionamos ENTER.
Ingresamos el nombre de dominio, en nuestro caso utilizaremos redes2.lan y presionamos ENTER
A continuación seleccionamos la clave del super usuario (root) escribiremos “r3d3s2.l4n” puede elegirse cualquier conbinacion pero no se debe olvidar luego presionamos TAB para continuar y presionamos ENTER:
Introducimos nuevamente la contraseña de root, seguidamente debemos crear un usuario para el Sistema Operativo, para eso ingresaremos su nombre completo “Estudiante USO”:
Ingresamos como nombre de cuenta de usuario “estudiante” tenga en cuenta que este nombre sera con quien inicie necios en el sistema operativo:
Ingresamos la contraseña de nuestro usuario de la misma manera que la ingresamos para root dos veces pero escribiremos en nuestro ejemplo “r3d3s2.lan” damos tab y ENTER.
Luego esperamos que carguen los componentes adicionales y seleccionamos el tipo de posicionamiento, si tenemos un sistema operativo ya instalado seleccionamos utilizar el espacio libre contiguo mas grande y si queremos dejar a Debian como único sistema seleccionamos utilizar todo el disco.
Ahora debemos seleccionar el disco duro y luego el esquema de particionamiento, se recomienda utilizar el esquema “separar /home, /usr, /var y /tmp”, esa seleccionaremos puede buscar en la web mas información al respecto.
Esperamos que se calculen las particiones y seguidamente el instalador de Debian nos muestra los cambios que realizara en el disco duro, seleccionamos finalizar el particionamiento y escribir los cambios en el disco.
Confirmamos nuestra opción y seleccionamos OK
Si tenemos mas DVD o CD los podemos agregar en la etapa siguiente, si deseamos utilizar una replica de red la podemos agregar también, para ambos casos en este manual seleccionamos no. Esperamos que cargue los paquetes de programas y luego nos pregunta si queremos participar en estadísticas anónimas esto es a su elección:
En la siguiente ventana seleccionaremos los programas y elegiremos utilidades estándar del sistema.
Posteriormente debemos instalar el cargador de arranque en el disco duro debemos seleccionar SI
Con eso finaliza la instalación del sistema operativo Debian GNU/LINUX
SEGUNDA ETAPA: INSTALACION DEL SERVIDOR SMTP
Los paquetes a utilizar para manejar el servidor son:
PostfixAgente de correo SMTP.
Dovecot:Servidor de correo seguro y fiable los que usaremos en este tutorial es dovecot imap server y dovecot pop3d server.
Saslaiuth:Lo utilizaremos para generar los certificados digitales de nuestro servidor SMTP.
Ahora para instalar los paquetes debemos estar dentro de la consola de root así que ingresamos al sistema recién instalado y accedemos con nuestra cuenta de root antes configurada en la instalación de debian:
1. Nombre de usuario: root2. Contraseña: r3d3s2.l4n
Ahora vamos a desinstalar el agente de correo SMTP que Debian instala de manera predeterminada llamado exim4, para ello siempre en nuestro sistema accedido como root desinstalamos el paquete
aptitude purge exim4 exim4-base exim4-config exim4-daemon-light bsd-mailx
Esperamos que se desinstalen los programas y luego instalamos nuestros paquetes para nuestro servidor:
aptitude install postfix dovecot-core dovecot-imapd dovecot-pop3d sasl2-bin
Posteriormente aptitude nos advierte que necesita descargar 10.4MB aproximadamente y nos pregunta si estamos de acuerdo, vamos a decirle que SI pulsando la tecla y, damos <<Enter>> y esperamos.
Cuando se instale postfix nos mostrara una pantalla de carácter informativo, precionamos ENTER.
Ahora en la siguiente pantalla seleccionamos sitio de internet y presionamos ENTER.
Seguidamente nos pregunta el nombre de dominio, escribiremos redes2.lan y presionamos ENTER, con eso queda instalado nuestros paquetes. Ahora vamos a configurarlo desde cero postfix siempre en la pantalla de root vamos a borrar el fichero de configuración de postfix para crear uno a nuestra necesidad utilizando nano:
rm -rf /etc/postfix/main.cf
Ahora creamos un main.cf con nano siempre en la secion de root:
nano /etc/postfix/main.cf
Y escribimos lo siguiente:
#Configuracion general del SMTPmydomain = redes2.lanmyhostname = host.$mydomainmyorigin = $mydomainmydestination = $mydomain, $myhostname, localhost.$mydomain, localhostmynetworks = 127.0.0.0/8#Opciones de seguridad, admitir TLSsmtpd_sasl_auth_enable = yesbroken_sasl_auth_clients = yessmtpd_sasl_authenticated_header = yessmtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_tls_auth_only = yessmtpd_use_tls = yes#Certificados de seguridadsmtpd_tls_key_file = /etc/postfix/ssl/smtpd.keysmtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crtsmtpd_tls_CAfile = /etc/postfix/ssl/cacert.pemsmtpd_tls_loglevel = 1#Dominios virtualesvirtual_alias_domains = redes2.lanvirtual_alias_maps = hash:/etc/postfix/virtual#Correo de fallo de envio de correobounce_template_file = /etc/postfix/bounce.cf#Permitir correo externo con formato numericoresolve_numeric_domain = yes
Guardamos con control + o y salimos con control + x
CORREO EXTERNO EXPLICACION:
La configuracion anterior en el apartado ADMINITIR TLS permite la comunicación de seguridad utilizando Transport Layer Security para recibir y enviar correo externo.
Agregamos al main.cf:resolve_numeric_domain = yes
Resuelve el envio de correo desde google a nuestro servidor utilizando una ip por ejemplo desde google envio un correo a [email protected] donde 0.0.0.0 es la IP
En la linea mynetworks = 127.0.0.0/8, IPDESALIDA
Ahora con eso tenemos toda nuestra configuración de nuestro agente de correo, lo siguiente que haremos es crear un directorio para nuestro certificado:
mkdir /etc/postfix/ssl && cd /etc/postfix/ssl
Seguidamente creamos llave de nuestro certificado de seguridad dentro del sistema siempre como root:
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
Ingresamos la contraseña de nuestro llave, elegiremos r3d3s2.s3g, ahora debemos darle
permisos para que pueda ser accedido por postfix asi:
chmod 0600 smtpd.key
Continuamos escribiendo lo siguiente:
openssl req -new -key smtpd.key -out smtpd.csr
Ingresamos la contraseña de nuestro smtpd.key anteriormente creado r3d3s2.s3g para completar la cabesera de nuestro smtpd e ingresamos los datos que nos piden como, pais, regio, empresa entre otros.
Ahora debemos crear el periodo de valides
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
Ingresamos la contraseña de nuestro smtpd.key anteriormente creado r3d3s2.s3g, ahora ya tenemos nuestra llave privada, vamos a crear siempre en la co
openssl rsa -in smtpd.key -out smtpd.key,unencrypted
Ingresamos la contraseña de nuestro smtpd.key anteriormente creado r3d3s2.s3g, ahora ya tenemos nuestra llave RSA, seguidamente movemos los ficheros así:
mv -f smtpd.key.unencrypted smtpd.key
Ahora creamos el cakey que es la parte final de nuestro certificado para ello siempre en la secion de root hacemos lo siguiente:
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Y escribimos la contraseña r3d3s2.s3g, posteriormente ingresamos los datos que nos piden como, pais, regio, empresa entre otros.
Ahora editaremos el archivo saslauthd, siempre en la secion de root:
nano /etc/default/saslauthd
Y cambiamos la linea que dice:
START=no
a
START = yes
Luego vamos al fichero nano /etc/desfault/saslauthd nos dirigimos hasta el final, cambiamos la ruta de nuestro demonio, la linea es:
OPTION = “ -c -m /var/run/saslauthd”
La cambiamos a
OPTION = “ -c -m /var/var/spool/postfix/var/run/saslauthd -r”
Guardamos con control mas o y guardamos control mas x; Ahora vamos a agregar el usuario ssl a postfix siempre en la secion de root:
usermod -G sasl postfix
Posteriormente editamos el archivo smtpd.conf:
nano /etc/postfix/sasl/smtpd.conf
Es un fichero que estará vacío al cual vamos a agregar estas 2 lineas:
pwcheck_method: saslauthdmech_list: plain login
Guardamos y salimos de nuestro editor nano, ahora debemos crear las zonas virtuales en el archivo de configuracion de postfix main.cf definimos el nombre de nuestra zona pero debemos crear un fichero en texto plano que utilizaran los usuarios dentro de la zona y generar una base de datos encryptada para que postfix la utilize primero crearemos el archivo virtual para ello escribimos:
nano /etc/postfix/virtual
Y agregamos lo siguiente:
#USUARIOS QUE CREAREMOS EN LAS [email protected] usuario1 [email protected] usuario2
Ahora guardamos y salimos presionando control mas o y saliendo con control + x, posteriormente vamos a generar la base de datos siempre en nuestra secion de root
hacemos lo siguiente:
cd /etc/postfix && postmap virtual
Ahora agregamos los protocolos SEGUROS para nuestro servidor de correo electronico para ello utilizaremos nano:
nano /etc/dovecot/dovecot.conf
Y buscamos la linea llamada protocols precionando control mas w, escribiendo protocols =, luego escribimos protocols = imap imaps pop3 pop3s:
Luego buscamos siempre presionando control mas w la frase disable_plaintext_auth = , y ahora escribimos no como la siguiente imagen:
Guardamos, salimos de nano presionando con control mas o y control mas x.
Con eso ya tenemos generado, configurado casi todos los puntos de seguridad y zonas mínimas para nuestro servidor de SMTP, ahora lo siguiente vamos a agregar un controlador para las reglas iptables robusto, rápido y sencillo, de tal manera que sea mas eficaz la asignación de reglas a Debian para ello instalaremos el firewall de esta manera:
aptitude install arno-iptables-firewall
Una vez instalado nos mostrara esta pantalla:
Seleccionamos SI, ahora debemos seleccionar la interfaz por la que salimos a internet, con el comando ifconfig podemos ver la lista de interfaces, en el caso nuestro los redactores de este documento la interfaz es la cableada 0 por ende:
Seguidamente presionamos tab y ENTER para <Aceptar>, ahora debemos seleccionar SI en la siguiente pantalla toda vez y cuando tu proveedor te de la IP de manera automática, es decir si te asignan la IP, en nuestro caso para este tutorial estamos en una red interna controlada por otro servidor debían y no es necesario asignarla pero en su caso probablemente SI.
Ahora la siguiente pantalla es de carácter informativo y solo nos da la opcion aceptar asi que damos ENTER, para luego ingresar los puertos de SMTP de salida (Puerto 25), puerto seguro de entrada SMTP (Puerto 995) y de APACHE (Puerto 80) para ser accedido por nuestro gestor de correos WEBMAIL asi que debemos agregarlos para TCP y UDP:
En la siguiente pantalla seleccionamos NO, para que el servidor no responda al PING, luego debemos ingresar la interfaz interna de nuestro servidor en el caso del servidor donde realizamos este tutorial es la interfaz eth1, esa es nuestra interfaz de red:
Y nuestra subred es 192.168.1.0/24 para utilizar 253
Ahora la siguiente pantalla es si queremos activar NAT para dar internet desde la interfaz externa a la interna seleccionen si desean dar internet SI y sino lo desean NO para el objeto de este tutorial en nuestro caso seleccionare NO.
Ahora reiniciamos todos los demonios siempre en la sesión de root entonces reiniciamos el agente de correo POSTFIX:
/etc/init.d/postfix restart
Luego reiniciamos dovecot:/etc/init.d/dovecot restart
Luego reiniciamos saslauthd/etc/init.d/saslauthd restart
Con eso terminamos la configuración del firewall y la instalación de postfix, ahora instalaremos para finalizar y hacer las pruebas el sistema webmail para ello instalamos apache2 y squirrelmail (Simple, seguro y rapido).
aptitude install apache2 squirrelmail
Ahora lo siguiente sera crear un link simbólico para la carpeta que contiene el webmail dentro de Debian, siempre en la sesión de root:
cd /var/www && ln -s /usr/share/squirrelmail
Con eso terminamos la configuración del webmail y apache solo nos queda reiniciar apache:
/etc/init.d/apache2 restart
Ahora vamos a permitir el envío de correos al exterior
TERCERA ETAPA: PRUEBAS AL SERVIDOR
nuestro siguiente paso es agregar usuarios al servidor puesto que el correo debe ser de la siguiente arquitectura:
Donde usuario1 es el usuario registrado dentro del servidor Debian, redes2.lan es el dominio de nuestro servidor postfix y lo controlaremos por zonas virtuales que anteriormente mencionamos.
Ahora agregamos el usuario1 y usuario 2 de esta manera:
useradd usuario2 && useradd usuario2
Ahora agregamos el password “r3d3s” que deben asignarlos:
passwd usuario1 && passwd usuario2
Ahora con los usuarios creados aremos las pruebas en el servidor webmail ingresamos desde un cliente a la IP de nuestro servidor ya sea la IP EXTERNA o por la IP DE RED:
Ingresamos con el usuario usuario1 y password r3d3s ahora seleccionamos compose y le enviaremos un correo a [email protected] dentro de nuestro dominio interno de la red.
Ahora ingresamos a la cuenta de usuario 2 con el password r3d3s
Finalmente veremos el correo en la bandeja de entrada:
Para las pruebas con un cliente de correo electrónico deben configurarlo como lo arian con cualquier servidor pero con la excepcion de que deben indicarle que el servidor utiliza certificado TLS y aceptar el certificado.
Pruebas externas:
Envio de correo a gmail:
Envío de correo desde gmail:
RECOMENDACIONESLas contraseñas de usuario pueden ser generadas con pwgen para darle mas fortaleza y
robustes:
aptitude install pwgen
Su forma de uso es:
pwgen -y 8 1
Las contraseñas de usuario pueden ser generadas con pwgen para darle mas fortaleza y robustes:
Se adjunta un video de la prueba realizada INTERNA – EXTERNA.