Como configurar un Firewall con Shorewall en dos Interfaces de Red con políticas DROP en CentOS y Debian – Parte II
Autor: Henry D. Rosado T.
Correo electrónico: bleycklinx@gmail.com
Podemos también limitar las peticiones hechas desde la red local (LAN) al puerto 3128 del Proxy, limitando la taza de conexiones a veinte por segundo con ráfagas de hasta cinco conexiones. Esto es muy útil para evitar ataques de DoS (acrónimo de Denial of Service que se traduce como Denegación de Servicio) desde la red local (LAN
).
| #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE # PORT PORT(S) DEST LIMIT REDIRECT loc 3128 tcp 80 – - 20/sec:5 #LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE |
DNAT
El DNAT se utiliza para reenviar peticiones desde un puerto del cortafuegos hacia una IP y puerto en particular tanto en la red local como en la DMZ. Cabe destacar que para que el DNAT funcioné se necesita que:
- Esté habilitado el reenvío de paquetes en /etc/sysctl.cfg en la opción “net.ipv4.ip_forward = 1”
- Los equipos hacia los que se esté haciendo DNAT utilicen como puerta de enlace al cortafuegos.
Si tenemos un servidor DNS (53), HTTP (80) dentro de nuestra red local y queremos permitir accesos a este, reenviamos con el DNAT editando las siguientes reglas:
| #ACTION SOURCE DEST PROTO DEST # PORT DNAT net loc:172.16.0.3 tcp 53,80 DNAT net loc:172.16.0.3 udp 53 #LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE |
Si tenemos dos servidores de correo, uno que recibe la mensajería (como pasarela) y otro que envía y este necesita conectarse al servidor principal (pasarela) para poder enviar los correos, para poder permitir esto solo tenemos que abrir los puertos necesarios:
| ACCEPT loc fw tcp 25 |
Si hemos puesto que se permita la conexión a ciertos servicios o puertos es recomendable permitir tanto el Ping como el Traceroute al servidor, para realizar pruebas de diagnóstico desde el cortafuegos hacia Internet y red local para probar conectividad y acceso hacia diversos protocolos, se puede utilizar lo siguiente:
| Ping/ACCEPT fw loc Ping/ACCEPT fw net Trcrt/ACCEPT fw net |
En el siguiente ejemplo permitimos a una máquina de la red local hacer Ping y Traceroute hacia la zona de Internet:
| Ping/ACCEPT loc:172.16.0.20 net Trcrt/ACCEPT loc:172.16.0.20 net |
Si deseamos podemos permitir a toda la red local hacer Ping y Traceroute hacia la zona de Internet:
| Ping/ACCEPT loc net Trcrt/ACCEPT loc net |
Si queremos permitir la consulta de Ping desde el Internet tenemos que permitir el servicio:
| Ping/ACCEPT net fw |
Ejemplos de algunas reglas útiles:
En este ejemplo se hace DNAT desde la zona de la Internet para los servicios de HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos servidores localizados en Loc:
| #ACTION SOURCE DEST PROTO DEST # PORT DNAT net loc:172.16.0.3 tcp 80 DNAT net loc:172.16.0.3 tcp 25,110 DNAT net loc:172.16.0.2 tcp 53 DNAT net loc:172.16.0.2 udp 53 #LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE |
En el siguiente ejemplo se hace DNAT desde la zona de Internet para los servicios de HTTP (puerto 80), SMTP (puerto 25), POP3 (puerto 110) y DNS (puerto 53) hacia diversos servidores localizados en Loc y limitar la taza de conexiones a diez por segundo con ráfagas de hasta cinco conexiones para cada servicio:
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE # PORT PORT(S) DEST LIMIT DNAT net loc:10.10.10.1 tcp 80 - - 10/sec:5 DNAT net loc:10.10.10.2 tcp 25,110 - - 10/sec:5 DNAT net loc:10.10.10.3 tcp 53 - - 10/sec:5 DNAT net dmz:10.10.10.3 udp 53 - - 10/sec:5 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
Nota: Por opciones de seguridad se podría poner en rules que ciertas ips peligrosas no tengan ningún tipo de acceso a nuestro servidor con:
| DROP net:192.168.0.0/16 fw DROP net:10.0.0.0/8 fw DROP net:172.16.0.0/12 fw DROP net:224.0.0.0/4 fw DROP net:240.0.0.0/5 fw DROP net:127.0.0.0/8 fw DROP net:0.0.0.0/8 fw DROP net:169.254.0.0/16 fwDROP net:255.255.255.255 fw |
Con esto bloqueamos totalmente a estas ips, sin permitirles ningún tipo de acción en nuestro equipo.
Otros Ejemplos:
| FTP/ACCEPT net fw MySQL/ACCEPT loc fw MySQL/ACCEPT loc net SSH/ACCEPT loc:172.16.0.5 fw HTTP/ACCEPT net fw Edonkey/DNAT net loc:172.16.0.3 |
Si queremos permitir paquetes icmp con limitaciones para evitar ataques DoS, lo podemos hacer del siguiente modo:
#Permitimos paquetes ICMP (ping,pong,…)
#con limites para evitar ataques de DoS.
##Aceptamos ping
ACCEPT net fw icmp echo-request – - 2/sec:3 #Aceptamos pong
ACCEPT net fw icmp echo-reply – - 2/sec:3 #Aceptamos redirecciones
ACCEPT net fw icmp redirect – - 2/sec:3 #Aceptamos tiempo excedido
ACCEPT net fw icmp time-exceeded – - 2/sec:3 #Aceptamos destino inalcanzable
ACCEPT net fw icmp destination-unreachable – - 2/sec:3
* Permitimos el acceso de determinados puertos a un equipo de VoIP (PAP2) que se encuentra dentro de la red local 2 LAN, notese que no esta en el mismo segmento de red de los equipos con NAT aunque se podria realizar esto dentro del mismo segmento de red con NAT.
DNAT net loc:10.10.5.25 udp 5060
DNAT net loc:10.10.5.25 udp 5061
DNAT net loc:10.10.5.25 udp 7070
ACCEPT loc2:10.10.5.25 net udp 5060
ACCEPT loc2:10.10.5.25 net udp 5061
ACCEPT loc2:10.10.5.25 net udp 7070
Revisamos posibles errores en la configuración con “shorewall check” antes de iniciarlo.
Iniciar Shorewall y añadirlo a los servicios de arranque del sistema en CentOS.
Si Shorewall va a ser ejecutado por primera vez, utilice:
shorewall start
Si actualizo a la versión mencionada en este Tutorial, o instalo directamente la versión utilizada aquí, utilice:
shorewall restart
Añadimos a Shorewall al arranque del sistema:
chkconfig shorewall on
En Debian una vez concluido esto solo debemos iniciarlo “shorewall start” o reiniciar “shorewall restart” y para poner en los procesos del inicio simplemente instalamos el "rcconf".
Y con “iptables -L -n” y también “iptables -t nat -L” se podrá ver las reglas generadas por Shorewall.
| Este artículo fue publicado por admin el 04/06/2010 a las 10:36 am, y está archivado en Admin Linux. Sigue las respuestas a esta entrada a través de RSS 2.0. Están cerrados tanto los comentarios como los pings. |
Los comentarios están cerrados.


