Foros del Web » Administración de Sistemas » Unix / Linux »

IPTABLES: Acceso Samba/Web Error + LOG's

Estas en el tema de IPTABLES: Acceso Samba/Web Error + LOG's en el foro de Unix / Linux en Foros del Web. Buenas foro: Teniendo en cuenta el siguiente: archivo de configuración": Cita: Iniciado por /etc/init.d/iptables iptables -F # Reglas para aMule: iptables -A INPUT -p UDP ...
  #1 (permalink)  
Antiguo 05/04/2009, 09:11
Avatar de nekcab  
Fecha de Ingreso: noviembre-2004
Mensajes: 223
Antigüedad: 19 años, 6 meses
Puntos: 0
IPTABLES: Acceso Samba/Web Error + LOG's

Buenas foro:
Teniendo en cuenta el siguiente: archivo de configuración":
Cita:
Iniciado por /etc/init.d/iptables
iptables -F

# Reglas para aMule:
iptables -A INPUT -p UDP --dport xxxx -j ACCEPT
iptables -A INPUT -p TCP --dport xxxx -j ACCEPT

# Reglas para Navegador Web:
iptables -A INPUT -p TCP --dport www -j ACCEPT
iptables -A OUTPUT -p TCP --dport 80 -j ACCEPT

# Reglas para Samba:
iptables -A INPUT -p UDP --dport 137:138 -j ACCEPT
iptables -A INPUT -p TCP --dport 139 -j ACCEPT
iptables -A INPUT -p TCP --dport 445 -j ACCEPT
iptables -A OUTPUT -p UDP --dport 137:138 -j ACCEPT
iptables -A OUTPUT -p TCP --dport 139 -j ACCEPT
iptables -A OUTPUT -p TCP --dport 445 -j ACCEPT

# Y filtrado final:
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

# Que al menos me indique que está fallando:
iptables -A INPUT -j LOG --log-level
iptables -A OUTPUT -j LOG --log-level 4
Primer caso:
A ver, estoy intentando configurar de manera lo más restrictiva posible un simple PC, de modo que permita el acceso Samba de los PC's de su Intranet a él (todos en el mismo segmento -más simple imposible- ). Y luego, que él mismo pueda acceder (a través de router ADSL) a Internet. Partiendo de la base de que según leo, si alguna regla se cumple, deja de leer resto de reglas del script desde el que se llama.

Pero nada, o elimino el útlimo par de reglas de DROP hacia cualq.tráfico (o no dejo ninguna regla en absoluto, claro) o:
- ni accedo a Internet desde dicho PC,
- ni los otros PC de su misma red pueden acceder a su servicio Samba.

En el archivo IPTABLES, especifico los puertos 445, pq probé a comparar el resultado de:
Cita:
netstat -ln > archivo.tras.parar.servicio
netstat -ln > archivo.tras.levantar.servicio
y mostraba diferencias en:
port 137,138 como UDP
port 139,445 como TCP

Segundo caso:
Y claro, lo siguiente es ir delimitando errores gracias a los log's. Pero no hay manera. He desviado los avisos de red a un archivo exclusivo:
Cita:
Iniciado por /etc/syslog.conf
kern.warning /var/log/iptables.log
Pero nada, en dicho archivo no se escribe absolutamente nada, ni tras intentar bien acceder desde otros PC's x Samba, ni cuando me impide acceder a Internet. Ojo, tampoco tuve éxito antes de especificar un archivo distinto para LOG's de red. Ni vi tampoco cambios en los otros archivos de /var/log/*.* (incluyendo "kern.log" )

Por cierto: ¿no se supone que si a IPTABLES especificas:
Cita:
iptables -A OUTPUT -j LOG --log-level 4
muestra avisos a nivel de Warning?

Última edición por nekcab; 05/04/2009 a las 15:03
  #2 (permalink)  
Antiguo 05/04/2009, 11:11
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 8 meses
Puntos: 47
Respuesta: IPTABLES: Acceso Samba/Web Error + LOG's

Probá hacer el log y el drop en la misma sentencia.
Yo uso algo adaptado de acá: http://www.techbytes.ca/techbyte136.html
__________________
¡Volviendo a la programación!
  #3 (permalink)  
Antiguo 05/04/2009, 13:01
Avatar de nekcab  
Fecha de Ingreso: noviembre-2004
Mensajes: 223
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: IPTABLES: Acceso Samba/Web Error + LOG's

Muchas gracias "AleSanchez", efectivamente, definiendo una nueva acción (target):
Cita:
Iniciado por techbytes
# Create the LOGDROP chain
iptables -N LOGDROP > /dev/null 2> /dev/null
iptables -F LOGDROP
iptables -A LOGDROP -j LOG --log-prefix "LOGDROP "
iptables -A LOGDROP -j DROP
Y a partir de ahí, en lugar de llamar a:
-j DROP

Llamaríamos a nuestro nuevo objeto-acción (en este caso "LOGDROP", pero podría ser otro nombre):
-j LOGDROP

Muy, muy interesante. De nuevo, gracias Ale.

Respecto a Samba/Web:
Me olvidé del servicio DNS. Tenía que habilitar el puerto 53 para el protocolo UDP tanto con el tráfico de entrada como el de salida. Y ya el Samba acepta las peticiones (y eso que me dirijo a la máquina por su IP).

Con respecto a mis problemillas con el acceso Web, decir que ahora el navegador ya no es q ni lo intente ( lo q debía haberme hecho sospechar.... ), pero se queda calculando indefinidamente. ¿Que se me puede estar olvidando?:
Cita:
Iniciado por /etc/init.d/iptables
#Create the LOGDROP chain
iptables -N LOGDROP > /dev/null 2> /dev/null
iptables -F LOGDROP
iptables -A LOGDROP -j LOG --log-prefix "LOGDROP "
iptables -A LOGDROP -j DROP

# Reglas para aMule:
iptables -A INPUT -p UDP --dport xxxx -j ACCEPT
iptables -A INPUT -p TCP --dport xxxx -j ACCEPT

# Reglas para Navegador Web:
iptables -A OUTPUT -p UDP -s 192.168.1.2/24 --dport 80 -j ACCEPT
iptables -A INPUT -p TCP -s 0.0.0.0 --sport 80 -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p TCP --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p UDP --sport 53 -m state --state ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p UDP --dport 53 -j ACCEPT
iptables -A OUTPUT -p TCP --dport 53 -j ACCEPT

# Reglas para Samba:
iptables -A INPUT -p UDP --dport 137:138 -j ACCEPT
iptables -A INPUT -p TCP --dport 139 -j ACCEPT
iptables -A INPUT -p TCP --dport 445 -j ACCEPT
iptables -A OUTPUT -p UDP --dport 137:138 -j ACCEPT
iptables -A OUTPUT -p TCP --dport 139 -j ACCEPT
iptables -A OUTPUT -p TCP --dport 445 -j ACCEPT

#iptables -A INPUT -j LOG --log-level all

# Y filtrado final:
iptables -A INPUT -j LOGDROP
iptables -A OUTPUT -j LOGDROP

Última edición por nekcab; 05/04/2009 a las 15:05
  #4 (permalink)  
Antiguo 06/04/2009, 02:41
Avatar de nekcab  
Fecha de Ingreso: noviembre-2004
Mensajes: 223
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: IPTABLES: Acceso Samba/Web Error + LOG's

Fué algo aleatorio. Y es que voy delimitando la función de cada cosa. Para IPTABLES, el medio para establecer "la opción por defecto" se define mediante el parámetro:
iptables -P %target% %orden%
iptables -P INPUT DROP

Con lo que en teoría no hacía falta indicar la orden final de filtrarlo todo como hacía antes:
Cita:
# Y filtrado final:
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
De hecho, creo que me volvía loco a veces, dado que, CREO, que con las 2 reglas anteriores, se llega a modificar las propiedades del "target" INPUT / OUTPUT. Y claro, yo quitaba TODAS las reglas, pero aún se seguían aplicando la política por defecto para dichos "target's". Aclarado este punto.

Pero ahí me he quedado, pq, permitir, permitr, solo me permite tráfico si habilito:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

Y claro: ¿para que demonios establezco reglas si, por defecto, deja pasar todo?. Yo no doy más de si. Si alguien me saca de este atasco, se lo agradecería mucho.

Indicar que he probado:
-Prueba A:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT


Reglas.....


iptables -P INPUT DROP
iptables -P OUTPUT DROP


-Prueba B:
iptables -P INPUT DROP
iptables -P OUTPUT DROP


Reglas ....


-Prueba C:
Reglas...

iptables -P INPUT DROP
iptables -P OUTPUT DROP


Pero con escasos resultados en las tres. ¿Sugerencias?

Última edición por nekcab; 06/04/2009 a las 02:48
  #5 (permalink)  
Antiguo 07/04/2009, 05:40
Avatar de nekcab  
Fecha de Ingreso: noviembre-2004
Mensajes: 223
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: IPTABLES: Acceso Samba/Web Error + LOG's

Bualá, gracias de nuevo AleSanchez. La clave está en tener un buen gestor de alarmas para ir averiguando que puertos exige cada aplicación. Gracias al truco recomendado de AleSanchez, iba viendo paso a paso que puertos/interfaz requería en cada momento, hasta que al final, y aplicación x aplicación, iba permitiendo rular todo (vigilando "/var/log/syslog" ).

Hay que tener presente que si aplicas la política de por defecto de cerrar todo:
-P INPUT DROP
-P OUTPUT DROP

luego no se puede visualizar errores en "syslog", dado que el filtrado realizado por la regla en el TARGET (iptables -P ...) no son igualmente accesibles que los errores generados por las diferentes políticas (iptables -A ...)
Así que x defecto, abiertos, ejecuto el script y sus diferentes errores, para finalmente cerrar todo, bueno, el resto.)

Última edición por nekcab; 07/04/2009 a las 05:51
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:14.