evitar mapeos de red
Miguel Oyarzo O.
admin en aim.cl
Sab Sep 13 06:07:00 CLT 2008
At 15:49 12/09/2008, Jorge Luis Rodriguez wrote:
>Hola comunidad!
>
>les cuento mi problema, resulta que tenemos una red clase A con el rango de
>ip 10.0.0.xxx, con salida a internet y algunos servicios para la red
>interna, dentro de esta red
>instales un servidor con debian, ese servidor tiene la eth0 con ip
>10.0.0.150, y una eth1 con ip 192.168.1.1. Este servidor debe brindar nada
>mas que internet a la subred de
>
>clase C con ip 192.168.1.xxx. Resulta que con el scrips que posteso mas
>abajo funciona perfecto, pero no logro evitar que desde la red interna se
>pueda mapear la red de clase
>
>A (10.0.0.xxx), probe con nmap, languard, y en ambos caso si mapeo el rango
>de ip 10.0.0.1-10.0.0.250 estando en la red de clase C (192.168.1.1) puedo
>ver todas las pc que
>
>estan en la red 10.0.0.xxx. Eh buscado y leido mucho, quizas la solucion sea
>una tontera, pero bueno, lo cierto es que no logro ver la socucion entre
>todo lo que ley y busque.
>
>internet-=|Router-1|10.0.0.1=-------10.0.0.150-=|Router-2|=-192.168.1.1
>
>#!/bin/bash
>#Firewall con politicas por defecto DROP!
>
>route add default gw 10.0.0.1
>
>IPTABLES="`which iptables`"
>IPLOCAL="192.168.1.1"
>
>EXTIF="eth0"
>
>INTIF="eth1"
>
>
>echo " Interface Externa: $EXTIF"
>echo " Interface Interna: $INTIF"
>echo " Path a iptables : $IPTABLES"
>echo " IP de local : $IPLOCAL"
>
>#cargamos los modulos
>
>/sbin/modprobe ip_tables
>/sbin/modprobe ip_conntrack
>/sbin/modprobe ip_conntrack_ftp
>/sbin/modprobe iptable_nat
>/sbin/modprobe ip_nat_ftp
>/sbin/modprobe iptable_filter
>/sbin/modprobe ipt_LOG
>/sbin/modprobe ipt_REJECT
>/sbin/modprobe ipt_state
>/sbin/modprobe ipt_MASQUERADE
>
>#bit necesarios en el kernel
>echo 1 > /proc/sys/net/ipv4/ip_forward
>echo 1 > /proc/sys/net/ipv4/ip_dynaddr
>
>#borramos Reglas Preestablecidas
>$IPTABLES -F
>$IPTABLES -X
>$IPTABLES -Z
>$IPTABLES -t nat -F
>
>#establecemos las politicas por defecto
>$IPTABLES -P INPUT DROP
>$IPTABLES -P OUTPUT DROP
>$IPTABLES -P FORWARD DROP
>
>#habilitar el enmascarado
>$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
>
>#Se permiten pasar solo las conecciones establecidas
>$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state
>ESTABLISHED,RELATED -j ACCEPT
>$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
>$IPTABLES -A FORWARD -j LOG
>
>
>$IPTABLES -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
>$IPTABLES -A OUTPUT -o $EXTIF -j ACCEPT
>
>#permitimos entrar y salir al loopback
>$IPTABLES -A INPUT -i lo -j ACCEPT
>$IPTABLES -A OUTPUT -o lo -j ACCEPT
>
>#solo mi ip puede entrar al SSH
>$IPTABLES -A INPUT -i $INTIF -p tcp --dport 22 -s 192.168.1.9 -j ACCEPT
>$IPTABLES -A OUTPUT -o $INTIF -p tcp --sport 22 -d 192.168.1.9 -j ACCEPT
>
>$IPTABLES -A INPUT -i $INTIF -p udp --dport 53 -j ACCEPT
>$IPTABLES -A OUTPUT -o $INTIF -p udp --sport 53 -j ACCEPT
>
>#Permitiendo ingresar al DHCP
>$IPTABLES -A INPUT -i $INTIF -p tcp --sport 68 --dport 67:68 -j ACCEPT
>$IPTABLES -A INPUT -i $INTIF -p udp --sport 68 --dport 67:68 -j ACCEPT
>
>$IPTABLES -A OUTPUT -p tcp --sport 67 --dport 67:68 -j ACCEPT
>$IPTABLES -A OUTPUT -p udp --sport 67 --dport 67:68 -j ACCEPT
>
>#Habilitar pings
>$IPTABLES -A INPUT -p icmp -i $INTIF -j ACCEPT
>$IPTABLES -A OUTPUT -p icmp -o $INTIF -j ACCEPT
>
>#$IPT -L
>
>
>basicamente lo que deseo es que desde la red 192.168.1.xxx no se puedan
>hacer scaneos de red hacia la red 10.0.0.xxx
>
>Muchas gracias a todos.
>
>Ricardo!
Esto es absolutamente inutil:
1) $IPTABLES -P FORWARD DROP
2) $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
3) $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
por una parte le dices a tu firewall
ACEPTA TODO LO QUE ATRAVIESE LA MAQUINA (3), sino BLOQUEA EL TRAFICO (1)
(incoherente.. equivale a que tengas una policy $IPTABLES -P FORWARD ACCEPT)
Debes modificar esa regla FORWARD (3) y decir exactamente los puertos
que deseas que atraviesen la maquina (varias lineas quizas).
Ademas, para solucionar tu malestar por los escaneos
desde 192.168 hacia 10.0 puedes agregar a tu regla
FORWARD un ! 10.0.0.0/24
ej:
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 80 -d ! 10.0.0.24
-j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 443 -d ! 10.0.0.24
-j ACCEPT
Con eso evitaras conexiones hacia esa red, (solo saldran hacia Internet en
tu caso)
Saludos,
Miguel Oyarzo O,
Austro Internet S.A.
Punta Arenas
Más información sobre la lista de distribución Linux