[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Ayuda con un sript de iptables.



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


Reply to: