Author Topic: Cerrar conexiones establecidas  (Read 4302 times)

rafsalber

  • Zen Monk
  • **
  • Posts: 57
  • Karma: +0/-0
    • View Profile
Cerrar conexiones establecidas
« on: March 02, 2010, 09:00:27 pm »
¿Como es posible cerrar las conexiones establecidas?
Me explico:
Cuando tenemos los puertos puertos abiertos(ej, yahoo messenger, msn messenger, emule,etc.) y tenemos esos programas trabajando en la red, y mediante el cortafuegos los cerramos, esos programas siguen trabajando normalmente, y solo se bloquean aquellos servicios que se intenten abrir a partir del instante en el que se han cerrado los puertos en el firewall.
Por lo que un ordenador de la red que este indefinidamente encendido con esos servicios trabajando, nunca lo podríamos bloquear.

Sin eBox la solución es fácil, ejecutando un script con iptables como este:

echo ======= Limpiamos todas las reglas =======
$IP -F
$IP -X
$IP -Z
$IP -t nat -F
$IP -t nat -X
$IP -t mangle -F
$IP -t mangle -X
echo ======= FIN Limpiamos todas las reglas =======

echo ======= Politicas por defecto =======
$IP -P OUTPUT DROP
$IP -P INPUT DROP
$IP -P FORWARD DROP
echo ======= FIN Politicas por defecto =======
echo ======= Se abren puertos necesarios - ambos sentidos -========
$IP ....
echo ======= FIN se abren puertos necesarios======

J. A. Calvo

  • Zentyal Staff
  • Zen Hero
  • *****
  • Posts: 1986
  • Karma: +67/-3
    • View Profile
    • http://blogs.zentyal.org/jacalvo
Re: Cerrar conexiones establecidas
« Reply #1 on: March 03, 2010, 11:05:32 am »
Prueba a ejecutar "/etc/init.d/ebox firewall restart" y "/etc/init.d/ebox network restart", eso debería limpiar todas las reglas y añadirlas de nuevo.
Zentyal Server Lead Developer

rafsalber

  • Zen Monk
  • **
  • Posts: 57
  • Karma: +0/-0
    • View Profile
Re: Cerrar conexiones establecidas (SOLUCIONADO)
« Reply #2 on: March 04, 2010, 06:47:30 am »
No funciona ejecutando ambas instrucciones, además la segunda instrucción te dejaría sin acceso si estás administrando remotamente el servidor.

Dejo aquí la solución planteada por si a alguien le puede ayudar.

Primero creo un script niegatodo.sh con este contenido:
Code: [Select]
#!/bin/sh

echo ======= Variables =======
IP="/sbin/iptables"
SSH="22"
echo ======== Variables =======
echo ======= Registramos el inicio del firewall
FECHA=$(date +"%C%y-%m-%d %H:%M")
echo $FECHA
/usr/bin/logger -p kern.notice  -t NETFILTER  \
             "====== Iniciado Cortafuegos: $FECHA ========="
echo ======= Registramos el inicio del firewall

echo ======= Limpiamos todas las reglas
$IP -F
$IP -X
$IP -Z
$IP -t nat -F
$IP -t nat -X
$IP -t mangle -F
$IP -t mangle -X
echo ======= Limpiamos todas las reglas

echo ======= Politicas por defecto
$IP -P OUTPUT DROP
$IP -P INPUT DROP
$IP -P FORWARD DROP
echo ======= Politicas por defecto

echo Al firewall se le deja acceder a todos los servicios
$IP -A INPUT -i lo -j ACCEPT
$IP -A OUTPUT -o lo -j ACCEPT

echo Dejo acceso remoto tanto desde las redes int como las ext.
$IP -A INPUT -p tcp --dport $SSH -j ACCEPT
$IP -A OUTPUT -p tcp --sport $SSH -j ACCEPT

La explicacion del script queda clara en sus comandos echo. Es muy importante las ultimas dos lineas en las que se deja acceder desde cualquier ethX al servicio SSH, de lo contrario nos cortaría cualquier conexión de administración remota y solo podríamos trabajar nada mas que en local.

Tras ejecutar este script se queda la red "sin ninguna conexion viviente" al exterior, y ahora es cuando hemos reiniciar el modulo del firewal de eBox:
$sudo /etc/init.d/ebox firewall restart

Esta solución es muy drástica, dejando sin acceso a servicios básicos como podría ser la comparticion de archivos(un usuario que estuviese trabajando con archivos del servidor, se le cortaría la conexión). Lo dejaremos para otro momento.
« Last Edit: March 04, 2010, 07:52:46 am by rafsalber »