Autor
|
Tema: Reglas de iptables no se aplican (Leído 7,480 veces)
|
ccrunch
|
En principio no me interesaba guardar un log de paquetes descartados pero ya que lo dices te haré caso. Forward veo que está en DROP, así que da igual que no tenga reglas porque no voy a enrutar paquetes, así que quiero descartarlos todos, o eso pienso yo. Respecto a OUTPUT: iptables -P OUTPUT DROP iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Es eso a lo que te refieres? Disculpa tantas preguntas pero con iptables lo he tomado ayer mismo, lo único que vi antes lo vi de pasadas. Si sigues viendo algo mal avísame, o si ves algún error. Salu2
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
Pero si dejas asi OUTPUT no podras hacer nada, compruebalo si quieres. Simplemente estas dejando paso a los paquetes establecidos y relacionados, y tu cuando haces una peticion al exterior OUTPUT salen con la bandera NEW. Antes dijiste algo de http, pues seria algo asi. iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT Esta seria global para eth0 y wlan0, siempre puedes adaptarlas para cada interface destino direccion etc... Pero no podras acceder a webs por su nombre, si no dejas paso a el puerto 53 que tendrias que saber que es el de las DNS. iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT Antes de aplicar esas dos reglas intenta acceder a una web, y luego las aplicas y asi vas experimentando. Un saludo. P.D: No tranquilo pregunta lo que quieras, ami estos temas me gustan, sobre todo los de PF, pero si apenas hay gente que use iptables por aqui imaginate PF.
|
|
|
En línea
|
|
|
|
ccrunch
|
Hola, y no existe alguna opción de que no tenga que ponerlo a mano todos los puertos que quiera usar, y que se permitan los de STATE NEW o similar?
Y por último, yo pongo esas órdenes en /etc/rc.local, cuál es el funcionamiento de que cuando se ejecuta eso, la manera de cargar las órdenes, quiero decir, yo primero lo pongo todo a drop y luego voy abriendo, iptables lee rc.local o lee algún fichero suyo propio?
Salu2
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
Hola, y no existe alguna opción de que no tenga que ponerlo a mano todos los puertos que quiera usar, y que se permitan los de STATE NEW o similar?
Podrias crear una macro como hice con el interface, si tienes un grupo de instrucciones similares, puedes agrupar los puertos en un variable. iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 23 --syn -m state --state NEW -j ACCEPT
--------------------------------
PORTS = "80,23"
iptables -A OUTPUT -p tcp --dport $PORTS --syn -m state --state NEW -j ACCEPT Esa orden vale como esas dos. Eso macro me la acepta, en OpenBSD, y me la traduce en dos, espero que ati tambien. Lo mejor de hacer macros solo tienes que modificar la variable, imaginate que tienes un FW de muchas reglas. Pero si dejas pasar a todos los STATE NEW es como si no hicieras nada, pero que dices. Y por último, yo pongo esas órdenes en /etc/rc.local, cuál es el funcionamiento de que cuando se ejecuta eso, la manera de cargar las órdenes, quiero decir, yo primero lo pongo todo a drop y luego voy abriendo, iptables lee rc.local o lee algún fichero suyo propio?
El funcionamiento no deja de ser como otro sricpt, puedes usar el orden que quieras mientras que lo pongas en DROP. Simplemente esta primero por orden, nada mas. Se que iptables tenia un directorio dedicado a el, pero yo lo que hacia es como mencione antes ejecutarlo desde el inicio, en OpenBSD se inicia desde /etc/rc. Un saludo.
|
|
|
En línea
|
|
|
|
ccrunch
|
Hola, me da este error al ejecutar el script: iptables v1.4.14: invalid port/service `80,53' specified Try `iptables -h' or 'iptables --help' for more information.
Por otra parte, creí que era algún parámetro estaba mal puesto así que busqué y cambié de sitio el --syn a esto: iptables -A OUTPUT -p tcp --syn --dport 80 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --syn --dport 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 --syn -m state --state NEW -j ACCEPT
Al aplicar el script no me da ningún error aunque tampoco me permite ningún tráfico saliente. Y por último, en la regla INPUT: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Por qué tengo que dejar RELATED, y no solamente ESTABLISHED? Salu2
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
iptables v1.4.14: invalid port/service `80,53' specified Try `iptables -h' or 'iptables --help' for more information.
Como pensaba esas macros no son aceptadas por iptables, busca la equivalencia. Por otra parte, creí que era algún parámetro estaba mal puesto así que busqué y cambié de sitio el --syn a esto: iptables -A OUTPUT -p tcp --syn --dport 80 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --syn --dport 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 --syn -m state --state NEW -j ACCEPT
Al aplicar el script no me da ningún error aunque tampoco me permite ningún tráfico saliente. Vamos a ver, si fuera un error de sintaxis el iptables te lo diria como el ejemplo de la macro de arriba. Por cierto, creo que no viste bien las reglas, tienes que dejar el trafico del puerto 53 (DNS) salir con el protocolo UDP, este servicio usa los dos protocolos, este servicio depende del caso usa TCP claro que no te lo voy a explicar todo. Yo con esta configuracion puedo navegar. iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
##### Cadena INPUT [Entrada] ##### echo "[+] Estableciendo reglas cadena de entrada INPUT..." ### Estado de las reglas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
##### Cadena OUTPUT [Salida] ##### echo "[+] Estableciendo reglas cadena de entrada OUTPUT..." ### Estado de las reglas
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT Y por último, en la regla INPUT: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Por qué tengo que dejar RELATED, y no solamente ESTABLISHED? Con esta configuracion no te haria falta esa bandera, la necesitarias para transferir datos con FTP, errores de ICMP, conexiones nuevas pero ligadas a las existentes. Un saludo.
|
|
|
En línea
|
|
|
|
ccrunch
|
Buenas, ahora todo va bien, este es el resultado: # Definir la norma de cada cadena básica iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
# Input iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Output
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 443 --syn -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp --dport 2096 --syn -m state --state NEW -j ACCEPT Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain FORWARD (policy DROP) target prot opt source destination
Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:httpflags: FIN,SYN,RST,ACK/SYN state NEW ACCEPT udp -- anywhere anywhere udp dpt:domain state NEW ACCEPT tcp -- anywhere anywhere tcp dpt:httpsflags: FIN,SYN,RST,ACK/SYN state NEW ACCEPT tcp -- anywhere anywhere tcp dpt:2096flags: FIN,SYN,RST,ACK/SYN state NEW Lo que me extraña ahora es que al arranque no le he permitido el tráfico DHCP (que yo sepa funciona por el puerto 67 con TCP&UDP) y sin embargo al arranque sí que coge IP. Por lo demás todo bien. Cómo lo ves ahora? Salu2
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
Disculpa si te parezco algo estupido, pero porque no investigas tu.
Y bueno sobre que me parece el firewall, pues si no se requiere ninguna cosa especial el firewall se torna basico, simplemente usalo como algo de estudio.
Cualquier cosa ya sabes, pero no voy hacerte yo el trabajo.
Un saludo.
|
|
|
En línea
|
|
|
|
ccrunch
|
Disculpa si te parezco algo estupido, pero porque no investigas tu. No tranquilo, sé lo que quieres decir. Lo que pasa es que si alguien no me lo explica por mucho que busque la mayoría de cosas no las entenderé. Y bueno sobre que me parece el firewall, pues si no se requiere ninguna cosa especial el firewall se torna basico, simplemente usalo como algo de estudio.
Cualquier cosa ya sabes, pero no voy hacerte yo el trabajo.
Un saludo.
El firewall es para que nadie pueda acceder a mi pc ni me pueda hacer ping o que sepa que estoy en la red, y aunque por una remota posibilidad lograrar infectar debian, no pudieran enviar datos a sus servidores destino, a no ser que sea por http. Salu2
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
Siempre tienes mas opciones, pero para un FW para un equipo de estacion de trabajo cosas como la regla de http estan bien, puedes dejar paso a paginas o mejor dicho direcciones como por ejemplo esta pagina, pero seria muy restrictivo, ya que no podrias navegar libremente.
Por ejemplo en mi sricpt de PF, solamente dejo salida a las direcciones que me interesa, pero claro no es una simple estacion de trabajo.
Siempre puedes mirar un poco el manual, ya te estoy dando pistas.
Un saludo.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Extra module para Iptables (linux): Patch-o-matic: Tarpit, reglas horarias....
Seguridad
|
lapsus
|
0
|
3,055
|
28 Diciembre 2010, 17:04 pm
por lapsus
|
|
|
Aplican la nanofotónica en la transmisión de datos informáticos
Noticias
|
wolfbcn
|
0
|
1,638
|
18 Noviembre 2011, 01:26 am
por wolfbcn
|
|
|
Como puedo crear reglas con iptables para cerrar todos los puertos?
Redes
|
aixeiger
|
3
|
6,174
|
7 Diciembre 2012, 02:01 am
por dato000
|
|
|
Aplican un juego virtual para mejorar el aprendizaje del alemán en universitario
Noticias
|
wolfbcn
|
0
|
1,431
|
5 Julio 2013, 14:20 pm
por wolfbcn
|
|
|
IPTABLES ¿Como poner reglas para VPN?
Redes
|
kanser
|
2
|
3,991
|
21 Enero 2015, 10:35 am
por kanser
|
|