Hola.
Necesito un poco de ayuda para configurar mi cortafuegos. No consigo dar
con la configuración adecuada. No tengo mucha experiencia en iptables,
como podréis ver.

Voy a explicar lo que quiero hacer.

Tengo un equipo con dos tarjetas de red (eth0=externa, eth1=interna).
Quiero configurar NAT para que puedan salir los demás equipos a través
de este a internet, y sólamente quiero dar acceso a este equipo desde el
exterior mediante ssh. Lo tenía hecho con una politica por defecto
ACCEPT, y funcionaba correctamente. Pero quiero ponerle una política
DROP, para mayor seguridad.

Este es el script que he hecho y que no funciona:

#!/bin/bash

        

        #Activamos el IP forwarding
        echo "1" > /proc/sys/net/ipv4/ip_forward
        
        #Borrado de reglas.
        echo -n "Borrando reglas.."
        iptables -F
        iptables -X
        iptables -Z
        iptables -t nat -F
        echo -n "Hecho."
        
        #Politica por defecto.
        echo -n "Aplicando politica..."
        iptables -P INPUT DROP
        iptables -P OUTPUT DROP
        iptables -P FORWARD DROP
        echo -n "Hecho."
        
        #Nat
        echo -n "Activando NAT..."
        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -o
eth0
-j MASQUERADE
        echo -n "Hecho."
        
        #PING a la máquina
        echo -n "Ping a la máquina..."
        iptables -A INPUT -i eth1 -p ICMP -j ACCEPT
        echo -n "Hecho."
        
        echo -n "Aplicando reglas del firewall ..."
        #ssh.
        iptables -A INPUT -i eth0 -p TCP --dport 22 -m state --state NEW
-j
ACCEPT
        
        iptables -A OUTPUT -o eth0 -j ACCEPT
        
        # Aceptamos paquetes de una conexión ya establecida
         iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT

        # Rechazamos los de conexiones nuevas
         iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP

        # Rechazamos conexiones de forwarding no establecidas
         iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j
DROP
         
         
        
        echo -n "Hecho."

Una última pregunta. Pese a que mi equipo no es un servidor web, ni de
correo, ¿debo abrir los puertos 80, 25 y 110 para poder accder a
internet y leer mi correo (servidor externo)?.

Espero vuestra ayuda. Gracias.
-- 
Saludos.

Pablo Braulio.

Linux user number 354599
Fingerprint: F8C9 58DB 89A2 1522 D9C9  28F9 4A2D 7C25 0CD9 0907


El ladrón mas temido es aquel que roba silenciosamente. 
No descuides tu privacidad.
¡Invierte en tu seguridad!


Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente

Responder a