Esta es una entrada dentro de la serie para la instalación de un servidor de correo completo. Índice completo de contenidos pincha aquí.
Lo primero que vamos a hacer es configurar el Firewall con IPTABLES para permitir los puertos necesarios para ir instalando y probando el servicio. También vamos a agregar esta configuración al inicio del sistema, para que ante un reinicio no tengamos que volver a configurar estos filtros. Estas configuraciones se realizarán en tráfico entrante, quedando el tráfico saliente abierto hacia Internet.
El servicio POP/IMAP lo vamos a configurar para que Dovecot haga únicamente uso de los puertos seguros, 993 y 995, en lugar de los no seguros, 110 y 143. Para ello haremos uso de certificados digitales SSL, como veremos más adelante. Esto debemos de tenerlo en cuenta para abrir los puertos correspondientes para el servicio de lectura de los buzones.
Además abriremos otros puertos adicionales para el sistema de monitorización, instalación de paquetes, servidor web y SIEVE.
Las conexiones al resto de puertos serán rechazados en tráfico entrante.
Listado de puertos
- 22
- 25
- 465
- 587
- 993
- 995
- 80
- 443
- 4190
- 62812
Comandos
Comandos utilizados, ojo en las reglas para el puerto SSH 22 y Monit 62812, cambia las cadenas X.X.X.X por la IP origen desde la que te conectarás al puerto SSH y accederás al sistema de monitorización y administración del servicor, nunca deben de estar expuestos a todo Internet:
iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 22 -s X.X.X.X -j ACCEPT # Recomendado cambiar el puerto SSH. iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 587 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Para evitar problemas con la instalación de paquetes iptables -A INPUT -p tcp --dport 4190 -j ACCEPT # SIEVE iptables -A INPUT -p tcp -m tcp --dport 62812 -s X.X.X.X -j ACCEPT # Cambia la cadena X.X.X.X por la IP desde la que te conectarás al sistema de monitorización y administración del servidor. iptables -P INPUT DROP # Conexiones al resto de puertos recahzadas
Si ejecutamos el comando iptables -L -n -v veremos todas estas reglas cargadas en el Firewall:
Chain INPUT (policy DROP 27381 packets, 1390K bytes) pkts bytes target prot opt in out source destination 470K 69M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 1817 114K ACCEPT tcp -- * * X.X.X.X/32 0.0.0.0/0 tcp dpt:22 39174 2588K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 30338 1289K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:465 29615 1201K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587 29273 1190K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:995 102K 8478K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993 53547 3495K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 49335 3176K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 80903 103M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 7 328 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:4190 10 600 ACCEPT tcp -- * * X.X.X.X/32 0.0.0.0/0 tcp dpt:62812 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 118K packets, 22M bytes) pkts bytes target prot opt in out source destination
Cargar reglas al inicio
Ahora configuramos las reglas para que se carguen al inicio del sistema. Ejecutamos los siguientes comandos:
iptables-save > /etc/iptables.up.rules touch /etc/network/if-pre-up.d/iptables chmod +x /etc/network/if-pre-up.d/iptables echo '#!/bin/sh' >> /etc/network/if-pre-up.d/iptables echo '/sbin/iptables-restore < /etc/iptables.up.rules' >> /etc/network/if-pre-up.d/iptables
Reiniciamos el sistema y comprobamos que las reglas están cargadas ejecutando el comando iptables -L -n -v, de lo contrario sería necesario revisar el motivo del fallo.
Índice general pincha aquí.