banderas20 escribió:Buenas tardes,
estoy experimentando con iptables en Debian. La idea que tengo es cerrar completamente la entrada al sistema e ir abriéndola selectivamente a determinadas IPs y puertos.
Para empezar, deniego toda entrada con:
iptables --policy INPUT DROP
Y la salida, ¿cómo está la salida?
En cualquier caso, es conveniente que permitas el tráfico de loopback, para que no te empieces a encontrar errores raros:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
banderas20 escribió:Luego, asigno reglas más específicas para que una IP en particular pueda acceder al puerto 8080 y el resto no.
iptables -A INPUT -p tcp --dport 8080 -s 191.168.88.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP
La segunda regla sobra, porque la política de entrada es denegar tráfico.
banderas20 escribió:El problema es que sólo me funciona si la default policy está en ACCEPT. Si no, no va. Parece que no hace caso de las reglas posteriores...
¿Permites el tráfico de regreso? Por eso te he pregiuntado antes, si estableciste una política predeterminada para él.
A mi juicio lo más sencillo para establecer una política de lista blanca es algo así:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
# Permitido el tráfico en la interfaz de loopback.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Permitido el tráfico establecido
iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
# Reglas para habilitar el tráfico de salida.
# Las que estimes convenientes: DNS, Web, etc.
# Reglas para habilitar el tráfico de entrada.
iptables -A INPUT -p tcp --dport 8080 -s 191.168.88.1 -j ACCEPT
banderas20 escribió:Otra duda es que si listo las reglas con:
iptables -L -v
1. No sale por ningún lado el puerto 8080, y eso que lo hago en modo "v" (verbose).
Porque tienes que poner -n para que no traduzca números de puerto a nombres de servicio: 8080 es http-alt.
banderas20 escribió:2. Si lo hago sin "-n" (resolver por DNS), en el campo source me salen cosas diferentes: "router.lan" y un FQDN aparentemente proveniente de Brasil (.br).
Con el modificador "-n" (no resolver por DNS), me salen esas dos reglas duplicadas (por pruebas que he hecho) con la misma IP .
-n lo único que hace es no resolver IP ni nombres de servicios ¿Qué dos reglas te salen duplicadas? Si salen reglas duplicadas es porque has ejecutado varias veces el mismo comando iptables.
Prueba a ver si te ayuda algo de lo que he dicho y, si no, pega aquí la sadlida de iptables .-vnL.