algun linuxero experto en iptables¿?

Iniciado por tecasoft, 13 Mayo 2010, 18:06 PM

0 Miembros y 1 Visitante están viendo este tema.

tecasoft

alguien que tenga conocimientos sobre iptables¿? es que estoy metido ahora en esto, llamar a festor que me han dicho que esta actualizado sobre el tema jaja,

bueno a ya va mi problema es que quiero una compu que este bloqueada y que controle los puertos como son ssh, ftp etc de entrada y salida. Hasta aqui todo ok, pero el problema principal que me atasca es que necesito que la aplicacion firefox salga ya que esta todo bloqueado, e visto esta funcion:

-m owner -pid-owner pero no me la coje bien, seguramente podria ser la version y mirando ya no me sale ahora me sale -m owner -socket-exists

me podeis explicar un poco esto es que no consigo darle permisos a que la aplicacion tal(firefox), salga por el cortafuegos y no choque con las que bloquea (tcp y udp 1:65535),esto nolo quiero quitar...gracias
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

Festor

#1
Cita de: tictac en 13 Mayo 2010, 18:06 PM
bueno a ya va mi problema es que quiero una compu que este bloqueada y que controle los puertos como son ssh, ftp etc de entrada y salida. Hasta aqui todo ok, pero el problema principal que me atasca es que necesito que la aplicacion firefox salga ya que esta todo bloqueado, e visto esta funcion:

-m owner -pid-owner pero no me la coje bien, seguramente podria ser la version y mirando ya no me sale ahora me sale -m owner -socket-exists

me podeis explicar un poco esto es que no consigo darle permisos a que la aplicacion tal(firefox), salga por el cortafuegos y no choque con las que bloquea (tcp y udp 1:65535),esto nolo quiero quitar...gracias

Por favor, intenta expresarte mejor... no digo que de la noche a la mañana te conviertas en un Cervantes... pero al menos intenta facilitar la lectura a los demás...

¿Podrías volcar el contenido del script que estas usando?

Cita de: tictac en 13 Mayo 2010, 18:06 PMalguien que tenga conocimientos sobre iptables¿? es que estoy metido ahora en esto, llamar a festor que me han dicho que esta actualizado sobre el tema jaja,
Ni soy ningún experto en iptables ni tengo extensos conocimientos sobre la materia....  :¬¬

tecasoft

ok,aya va neng


#!/bin/sh
## SCRIPT DE IPTABLES v1.4.3.2
## Fecha del script 22/04/2010
## Hecho por Sergio

###########################
# Declaracion de variables
###########################

INORIGEN="0.0.0.0/0.0.0.0"
OUTORIGEN="0.0.0.0/0.0.0.0"

INDESTINO="0.0.0.0/0.0.0.0"
OUTDESTINO="0.0.0.0/0.0.0.0"

IFACE1="lo"
IFACE2="eth0"


echo "Aplicando reglas de Firewall"

## FLUSH de reglas

iptables -F && echo "regla-1 ok"
iptables -X && echo "regla-2 ok"
iptables -Z && echo "regla-3 ok"
iptables -t nat -F && echo "regla-4 ok"

## Establecemos politica por defecto

iptables -P INPUT ACCEPT && echo "regla-5 ok"
iptables -P OUTPUT ACCEPT && echo "regla-6 ok"
iptables -P FORWARD ACCEPT && echo "regla-7 ok"
iptables -t nat -P PREROUTING ACCEPT && echo "regla-8 ok"
iptables -t nat -P POSTROUTING ACCEPT && echo "regla-9 ok"

## Empezamos a filtrar

# Paquetes en estado invalid

iptables -A INPUT -s $INORIGEN -d $INDESTINO -i $IFACE2 -p all -m state --state INVALID -j DROP && echo "regla-10 ok"

# Conexiones (localhost)

# Conexiones SSH,DNS

iptables -A INPUT -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i eth0 -p tcp --dport 22 -j ACCEPT && echo "regla-30 ok"

#iptables -A OUTPUT -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -o eth0 -p tcp --dport 22 -j ACCEPT && echo "regla-31 ok"

#iptables -A INPUT -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -i eth0 -p tcp -m tcp

iptables -A INPUT -s $INORIGEN -d $INDESTINO -i $IFACE2 -p tcp --dport 53 -j ACCEPT && echo "regla-20 ok"
iptables -A INPUT -s $INORIGEN -d $INDESTINO -i $IFACE2 -p udp --dport 53 -j ACCEPT && echo "regla-21 ok"
iptables -A OUTPUT -s $OUTORIGEN -d $OUTDESTINO -o $IFACE2 -p tcp --dport 53 -j ACCEPT && echo "regla-22 ok"
iptables -A OUTPUT -s $OUTORIGEN -d $OUTDESTINO -o $IFACE2 -p udp --dport 53 -j ACCEPT && echo "regla-23 ok"

#iptables -A INPUT -d 0.0.0.0/0.0.0.0 -i eth0 -p tcp --dport 80 -j ACCEPT && echo "regla 24 ok"

#pid de programa para poder cerrar todos los puertos correctamente

#iptables -A OUTPUT -s $OUTORIGEN -d $OUTDESTINO -o $IFACE2 -m owner --socket-exists -j ACCEPT && echo "regla-26 ok"

## BLOQUEAR TODO

iptables -A INPUT -s $INORIGEN -d $INDESTINO -i $IFACE2 -p all -j DROP && echo "regla-44 ok"

iptables -A OUTPUT -s $OUTORIGEN -d $OUTDESTINO -o $IFACE2 -p all -j DROP && echo "regla-45 ok"


por lo visto el problema que tenia para que me salga en firefox se ha solucionado, pero no termino de entender la regla 26, haber si termino de controlar los procesos pid que salen por el cortafuegos
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

tecasoft

rectifico un error, no me sale el firefox si descomento la regla 26, es k no me he dado cuenta que estaba comentada, lo siento un error de los nervios.
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

Festor

Cita de: tictac en 13 Mayo 2010, 18:06 PMme podeis explicar un poco esto es que no consigo darle permisos a que la aplicacion tal(firefox), salga por el cortafuegos y no choque con las que bloquea (tcp y udp 1:65535),esto nolo quiero quitar...gracias

A ver... corrígeme si me equivoco...

Quieres permitir el trafico en función de la ejecución de una aplicación?

Si es así a ver si te sirve esto que encontré (a partir de la segunda opción):

http://linux.org.ar/pipermail/unlug/2006-June/000829.html

tecasoft

nada me sigue saliendo el mismo error de siempre , iptables v1.4.3.2: unknown option '--pid-owner'
salta cuando ejecuto el script cortafuegos, con -m owner -socket-exists

me deja pasar el firefox, y cualquier cosa que quiera salir, con el output, es decir que coje los sockets de todas las aplicaciones no de las que tu quieres, el manual ese no m a servido d mucho podria ser que esa opcionla ayan quitado(-m -owner -pid-owner¿?,pork el -uid-owner si que lo coje sin problema, pero no es el pid, es usuario, se te ocurre algo neng
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

Festor

#6
Pues más que quitado lo que parece que está desactivado es su soporte en el kernel...

Cita de: http://manpages.ubuntu.com/manpages/hardy/man8/iptables.8.html
             --pid-owner processid
              Matches if the packet was created by a process  with  the  given
              process  id.   (Please note: This option requires kernel support
              that might not be available in official Linux kernel sources  or
              Debian’s packaged Linux kernel sources.  And if support for this
              option  is  available  for  the  specific  Linux  kernel  source
              version,  that support might not be enabled in the current Linux
              kernel binary.)

BTW, ¿que distro Linux usas?

tecasoft

fedora, pero este script lo pasare mas adelante aun debian y ubuntu, entonces es problema de lo modulos del kernel¿?

entonces como me puedo manejar con todo esto de los modulos de iptables,... porque no soy un experto, si tienes algun manual bueno y actualizado, o algun script para hacerme una idea de los modulos a aplicar a mis script me vendria de lujo,

lo probare en otras distros cuando pueda haber como tira
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

Festor

#8
Cita de: tictac en 13 Mayo 2010, 20:57 PM
fedora, pero este script lo pasare mas adelante aun debian y ubuntu, entonces es problema de lo modulos del kernel¿?

Pues parece que si... no sé el motivo pero al menos en las últimas versiones de Debian, Ubuntu y parece ser que también Fedora, los parámetros pid-owner, sid-owner y cmd-owner del iptables carecen de soporte en el kernel por lo que sólo quedan las opciones uid-owner y gid-owner, es decir, restringir procesos por usuario y/o grupo de usuarios.

Solución? Pues recompilar el kernel o buscar una alternativa que escapa a mis conocimientos....  :-\