|
391
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 28 Mayo 2014, 10:11 am
|
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.
|
|
|
392
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 27 Mayo 2014, 14:47 pm
|
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.
|
|
|
393
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 27 Mayo 2014, 12:13 pm
|
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.
|
|
|
394
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 26 Mayo 2014, 20:53 pm
|
Pues mal, que quieres que te diga, ninguna regla para logear paquetes descartados, OUTPUT en ACCEPT y FORWARD sin ninguna regla.
Porque no intentas establecer la conexion con el Server? Con la politica OUTPUT en DROP.
Un saludo.
|
|
|
395
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 26 Mayo 2014, 20:03 pm
|
Te recomiendo un cortafuegos con politica DROP, y a partir de hay ir abriendo los protocolos que quieras, piensa que un cortafuegos en DROP es menos propenso a los "fallos" o problemas de seguridad que uno en ACCEPT. Venga va, que la segunda regla ya te la explique antes, y la tercera queda bastante claro, todas las conexiones entrantes "conexiones nuevas" son aceptadas en todas las interfaces menos en eth0. Ignora todas esas reglas, cada maquina y red es un mundo diferente a lo mejor esas reglas no se adaptan a ti, no te hace falta nada de eso. Lo que quiero es filtrar por todas las interfaces (solo tengo eth0 y wlan0) todo el tráfico que pasa, eliminar absolutamente todos los paquetes que yo no haya solicitado, es decir, quiero que funcione el tráfico web con un servidor con el cual yo he pedido un establecimiento de conexión, pero que nadie pueda hacerme ping, etc.
Pues como te dije antes, politica DROP y deja operativo lo que te interese, si dejas la politica en DROP esta automaticamente bloqueara los icmp, a o ser que le dijas que los acepte. Simplemente tienes que preocuparte de abrir, es lo mejor. Si lees el fragmento de srcipt que te deje en el primer comentario lo veras. Un saludo. P.D: Te recomiendo que dejes los tutos, si no quieres acabar con un FW como el user de arriba.
|
|
|
397
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 26 Mayo 2014, 00:12 am
|
Te recomiendo que ignores esos links que te paso ese usuario, sobre todo el ultimo, si no quieres quedarte mas confuso y perdido, es un sript a base de reglas encontradas por internet me apuesto algo, y es caotico como el solo.
Un saludo.
|
|
|
398
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 25 Mayo 2014, 23:31 pm
|
Intentare responder tus pregunta, por que no veas. No te hace falta crear una maquina virtual para probar un cortafuegos, pero si la quieres crear adelante. Iptables filtrara las conexiones o protocolos a la interfaz que tu ordenaste, para algo esta la opcion -i, esa opcion significa que esa regla solo se aplica a eth0 en tu caso. Luego hay reglas como esta. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Que esta es "global" vamos que se aplica a todas las interfaces, ya que no especificaste alguna. Y despues de eso intentare responder esta pregunta. Es decir, primero saldrá por la eth0 y volverá a entrar para hacer ping y otras cosas al sistema real, habrá algún problema?
Si tu politica OUTPUT le permite a la interfaz realizar la conexion que le pediste no habra algun problema. iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Si tienes eso establecido y una politica en OUTPUT DROP, y quieres hacer una peticion ftp o http, no funcionara ya que no estas dejando la salida a los paquetes NEW. Tendrias que hacer algo asi. iptables -A OUTPUT -p tcp --dport 21 --syn -m state --state NEW -j ACCEPT Entonces se dejara salir la conexion, pero claro luego tiene que entrar de nuevo, y de eso se encarga la politica INPUT, si esta no permite las conexiones entrantes a esa direccion tendras prolemas, pero para eso pusiste esta regla. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Significa que todos los paquetes con las banderas ESTABLISHED,RELATED seran aceptados, si yo realizo una peticion ftp este saldra con el NEW si el servidor remoto la acepta este me enviara otra conexion con la bandera ESTABLISHED y entonces si que podras establecer la conexion. Pero si alguien remotamente intenta hacer una peticion ftp, este no podra ya que tu politica INPUT no aceptas los paquetes con banderas NEW. Dado que tu politica OUTPUT esta en ACCEPT no tendrias que tener problemas. Yo si fuera tu entenderia las reglas antes de aplicar nada, y mucho menos hacer un copiar y pegar de un foro o pagina de Debian. Un saludo. P.D: No se si eso responde tus preguntas, si no vuelve a formularlas mejor.
|
|
|
399
|
Sistemas Operativos / GNU/Linux / Re: Reglas de iptables no se aplican
|
en: 25 Mayo 2014, 00:36 am
|
Este es un fragmento de uno de mis antiguos scripts. #!/bin/sh IPTABLES=/sbin/iptables MODPROBE=/sbin/modprobe INT_NET=192.168.1.1/24 INTIF=ath0
### Normas actuales y polittcas de las cadenas echo "[+] Estableciendo politica a las cadenas y cargando modulos..." iptables -F iptables -F -t nat iptables -X iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ### Cargar modulos de localizacionn de conexionn modprobe ip_conntrack modprobe iptable_nat modprobe ip_conntrack_ftp modprobe ip_nat_ftp
##### Cadena INPUT [Entrada] ##### echo "[+] Estableciendo reglas cadena de entrada INPUT..." ### Estado de las reglas iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "DROP INV " --log-ip-options --log-tcp-options iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ### Reglas anti-spoofing iptables -A INPUT -i $INTIF -s $INT_NET -j LOG --log-prefix "SPOOFED PKT " iptables -A INPUT -i $INTIF -s $INT_NET -j DROP ### Reglas aceptadas iptables -A INPUT -i $INTIF -p tcp -s $INT_NET --dport 23 --syn -m state --state NEW -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT ### Registro de entrada por defecto de la regla iptables -A INPUT -j NFLOG --nflog-prefix "DROP "
No deja de ser otro sricpt mas, simplemente dile que se ejecute en el strartup del sistema y ya esta, eso es lo que hacia yo en mi Gentoo. Pero si no quieres hacerlo de esa forma, si buscaras un poco encontrarias cosas como esta. http://serverfault.com/questions/511099/debian-ignores-etc-network-if-pre-up-d-iptables Un saludo.
|
|
|
400
|
Sistemas Operativos / Unix/Unix-Like / Re: Wireless en Debian/KfreeBSD
|
en: 24 Mayo 2014, 23:18 pm
|
Eso que dices no tiene sentido, si quieres hacer automatica una conexion, siempre tienes /etc/netstart que es el srcipt que inicia el network, /etc/hostname.if que es para configurar las interfaces, y sobre todo /etc/rc que es el archivo de configuracion de inicio que es el que ejecuta /etc/netstart.
Tendras que mirar si tienes esos archivos en tu nuevo sistema.
Un saludo.
|
|
|
|
|
|
|