Como bloquear conexiones generadas por un virus a puertos especificos

Forums: 

En temas anteriores he buscado como bloquear conexiones desde una estación de windows hacia el exterior e incluso hacia el mismo servidor linux, en algunas ocasiones las maquinas se infectan por X virus y generan envíos de correos masivos al exterior y nos ponen en listas negras nuestros ip y por desgracia como nuestro servidor era el mismo que hace nat y email server nos castigan el ip y nuestro servidor queda en listas negras y eso aun cuando el mismo no esta enviando email spam sino que es un equipo que aprovecha el ip_forward para hacer envíos a través de nuestro router linux. buscando encontré una pagina que la pueden ver aqui en ella explican como hacer con iptables bloqueos de ip cuando establecen mas conexiones de las establecidas, ahora cuantas conexiones puede hacer una estacion de trabajo a su servidor de correos, calculo unas 30 conexion en 10 min como mucho, es verdad que aun no lo he probado en produccion pero esta interesante y seguramente mucha gente aportara ideas con sus experiencias.


#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set --name DEFAULT --rsource

#iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name DEFAULT --rsource -j DROP

en esta regla dice que cuando hay mas de 4 conexiones al puerto 22 en menos de 60 segundos el iptables bloqueara esa ip específicamente por 60 segundos, aun estoy leyendo la desimantación para ver si se puede cambiar el tiempo de castigo es verdad fail2ban puede hacer esto mas fácil pero me he topado con problemas que si mi ip conecta equivocadamente 2 veces y el fail2ban tiene para 3 fallos la tercera sera la vencida y eso me lleva a que si entro por tercera vez sin fallar la clave el me deja pasar pero el contador me tiene registrado una oportunidad mas si la fallo no me perdona no se en que parte de fail2ban hay una opción donde diga que si pasan 60 segundos o menos y el ip registrado no fallo mas el contador vuelve a 0, entonces como no he logrado esa opción en algunas ocasiones entro al servidor después de varios días y fallo la clave 1 vez como la ultima vez falle 2 veces me bloquea por el tiempo que establecí y eso me complica bastante.
entonces en esta regla es algo mas básica pero igualmente potente como una opción para disminuir el daño colateral que llevan conexion remotas sin control.

esta opción la use y funciona bien


iptables -I FORWARD 1 -i eth1 -p tcp -m tcp --dport 25 -m state --state NEW -m recent --set --name DEFAULT --rsource

iptables -I FORWARD 2 -i eth1 -p tcp -m tcp --dport 25 -m state --state NEW -m recent --update --seconds 600 --hitcount 20 --name DEFAULT --rsource -j DROP

aqui le digo que si mi interfaz eth1 que es la lan hace 30 conexiones en 10 min hacia el exterior al puerto 25 seguramente no es un cliente revisando correos sino un virus enviando email usando el 25 que es el smtp y con esta regla al pasar 30 conexiones el iptables bloqueara el ip que genera conexiones por 10 min con eso me llaman los usuarios diciendome que no pueden revisar email ya que les dirá su mua que no conecta al servidor del isp siempre y cuando el servidor linux no haga de email server sino esa regla tendría que valer también para la cadena INPUT.

una forma de probar es con el escript que muestran de ejemplo en la pagina web antes mencionada.


#!/bin/bash

for i in `seq 1 5` ; do
echo 'exit' | nc 192.168.1.1 22 ;
done

hay que tener instalado netcat en el servidor para que el script funcione
el ip y puerto lo cambian hacia uno que este fuera del server para probar conexiones remotas por el forward.

Muy buen aporte, sin embargo

Muy buen aporte, sin embargo sigo pensando que es mucho mejor tener una máquina exclusiva para hacer filtrado de paquetes y otra que se encargue del mail, ya que en una empresa donde tenga mas de 200 usuarios si se les bloquea la conexion de su cliente de correo hacia el servidor de mail le matarian al administrador.

Creo que la opción más facil para que las maquinas windows infectadas no se conviertan en generadoras de spam es permitir exclusivamente en el firewall conexiones smtp al servidor de mail autorizado y no ha nadie mas.

De todas maneras considero una buena opción para pequeñas empresas, con pocos usuarios que no se envíe tanto correo, y sobre todo no tengan recursos para un par de máquinas mas.

Saludos,

La solución es muy buenay

Imagen de jcyepez

La solución es muy buenay valedera, sin embargo, considero que es mejor evitar que los equipos dentro de la red tengan avierto el forward al puerto 25, aún mas no dejo que ningún puerto esté abierto en mi red, con eso no solo evito la propagación de spam.

En mi propia opinión es mejor hacer drop de esas conexiones pues si tienes un servidor de correo dentro de tu empresa, para que necesitas que salgan hacia afuera por el puerto 25? Es muy raro el caso en que esto suceda, pero en fin siempre se pueden encontrar justificaciones, para este caso entonces solo permitiría que los paquetes puedan cruzar a esa ip específica y nada mas.

De pronto me equivoque en algún razonamiento, pero almenos desde que lo hago así no he tenido problemas de que me reporten a las blacklist ni nadie se ha quejado en mi empresa.

Saludos

Juan Yépez
093681879

Saludos

Juan Yépez
0993681879
Dj - Discomovil Quito