Evitar spamming con linux bloqueando equipos en la red lan para evitar caer en listas negras

Forums: 

estoy investigando como evitar que un equipo en la red privada que sale a travez de un servidor linux que sirve de pasarela a internet sea bloqueado si es infectado por un virus spammer, el dia de hoy tuve un problema con un cliente el cual tiene windows en sus equipos pero usa un servidor linux para salir al internet este servidor solo sirve de nat no hace mas nada. hoy en la tarde una estacion de windows xp empezo a transmitir datos como loco por el puerto 25 a mi isp y ellos me dijeron que mi ip estaba registrando muchas conexiones y correos a destinatarios raros por lo que procedieron a bloquear mi ip para yo corregir el problema claro con iptraf pude ver el equipo en cuestion y note que la ip 192.168.1.38 no paraba de transmitir al puerto 25 de muchos ip remotos y procedi a bloquearlo mi isp me dijo que todo se miraba normal apenas lo bloquie pero me quede con la inquietud que todo se corrigio hasta que ellos me llamaron y pense que si habia algun programa como fail2ban que funcione como un bloqueador de puertos especificamente al 25 es decir si tiene mas de 30 conexiones de la misma ip en menos de 1 min es sin duda un spammmer nadie va a enviar 30 emails en 1 min sin parar. entonces pense que talvez alguien conoce algo asi o si con iptables se puede establecer un numero de conexiones al exterior, generalmente se encuentra mucha informacion de como bloquear el spam que nos llega pero que pasa cuando somos nosotros los que causamos spam todo por culpa de los desgraciados virus y el miserable de windows que siempre tiene que estar con esos molestos problemas y uno tiene que vivir para cuidar esas computadoras y a veces por culpa de esas maquinas mis servidores me los ponen en listas negras y tengo que estar buscando alternativas para enviar emails.
si alguien a tenido este problema y encontro una solucion confiable que sea open source agradeceria unas ideas para asi buscar mas informacion al respecto.
gracias.

Hola Juandarcy, yo tuve el

Imagen de damage

Hola Juandarcy, yo tuve el mismo problema, desde una PC se me generaba trafico hacia el internet por el puerto 25, osea full Spam, lo que me recomendo un amigo fue, que le bloqueara el nat hacia ese puerto:

$IPT -t nat -A POSTROUTING -o eth0 -s IP_PC_Infectada -p tcp --dport 25 -j DROP
$IPT -t nat -A PREROUTING -i eth1 -s IP_PC_Infectada -p tcp --dport 25 -j DROP
O en su defecto bloquear a toda la red -s $RED_LAN

Tambien de paso, le bloquie el OUTPUT del puerto 25 por la eth0 y el forward a esa IP.
Lastimosamente cuando apliqué estas reglas, la PC en mención estába ya en proceso de formateo :(, pero segun he podido observar con el NTOP y el Iptraf, actualmente hay otra PC con el mismo problema y genera trafico desde un puerto X (por ejemplo 45678) destinado al puerto 25, viendo en eth1 con el iptraf, veo el tráfico que se genera hacia el 25, ahora cuando reviso con iptraf pero en la eth0 no registro conexiones hacia el 25.
Para verificar reviso con el Ntop, el tráfico en las 2 eth's y esta igual full tráfico por el 25 en la eth1 y casi nada en la eth0.

Espero te sea de ayuda, por lo visto si funciona segun lo analisado, pero sería bueno que me lo confirmes.

Saludos.

Keep The Fire Burning.....
Stryper 1988

si damage pero yo use esta regla

Imagen de juandarcy2000

lo que realmente seria interesante es un programa que monitoree el ip que hace spam y lo bloquee como fail2ban pero que pueda decirle que si en 1 min envia mas de 50 mails usando el 25 bloquear esa ip o multiples ip. el problema de fail2ban es que si yo envio un email empieza a contar en ese lapso de tiempo cuantas conexiones haga y me bloquea si hago mas de 30 conexiones en diferentes momentos lo que quiero es que si hay muchas conexiones las bloquee a es ip de la lan. pero por el momento use esto en mi red y funciono.
anoche que estaba haciendo este post note que la pc que uso yo estaba tambien infectada pero eso es en mi red de la casa, como tengo mi linux note que lago pasaba me fui al iptables y como a veces el iptraf es medio complicado ver conexiones ya que salen demasiadas y no manejo muy bien los filtros de iptraf pero lo que hice fue mas sencillo espero lo pruebes.

primero veo que host genera trafico al puerto 25 tcp


iptables -A FORWARD -p tcp --dport 25 -j LOG

en el log veras que ip esta generando trafico ya que te va a logear todas las conexiones al 25 y veras que maquina se pone loca enviando masivamente a diferentes direcciones remotas muchas conexiones.

posteriormente puedes bloquear el puerto 25

en mi caso como mi interfaz de la lan es la eth1
procedi a poner esto


iptables -I FORWARD 1 -i eth1 -p tcp --dport 25 -j DROP

con esto deniego todas las conexiones al 25 desde mi lan.
en el windows puedes ver con netstat -bn todas las conexiones apareceran SYN y no logran establecer conexion
luego en el log no veras mas trafico en el 25
pero ahora como mi servidor linux hace de mail server
ya he tenido problemas anteriormente con varias de mis computadorsa entonces lo que pedi fue otro ip en la misma red publica y cree una interfaz eth0:1 que es la de internet y agregue la ip nueva a esa interfaz nueva e hice un postrouting hacia esa ip entonces si una maquina hace spam me pondra en listas negras la ip nueva y no la que usa mi servidor para enviar spam y verdaderamente sirvio ya que mi maquina me habia puesto en listas negras pero a la ip de la interfaz virtual y no la eth0 con eso me senti tranquilo ya que mi servidor no tenia bloqueo en ninguna rbls.
pero como quiero mandar email usando mi smtp de mi isp ya que solo yo uso mi servidor y mis otros usuarios no usan el mismo usan el del isp entonces desbloqueo con iptables la ip de mi isp para smtp con eso ya pueden enviar email y procedo a desinfectar las pc llenas de virus.


iptables -I FORWARD 1 -p tcp --dport 25 -i eth1 -d ispSMTP -j ACCEPT

espero les sirva esta idea de la interfaz virutal o si alguien la a usado entonces estamos bien.

eth0:
ip IPPUBLICA
mask: 255.255.255.248
gate: 200.200.200.21

eth0:1 nuevaippublica
mask 255.255.255.248

no usa puerta de enlace ya que es la misma de la eth0 porque son de la misma red
usan la misma puerta por defecto.

luego en iptables pongo esto

-A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j SNAT --to-source nuevaippublica

como la eth0 es la que tiene mi servidor smtp y el proxy entonces todas mis maquinas salen por la eth0:1 y esa fue la ip que pusieron en listas negras.

Puedes Aplicar algo como

Puedes Aplicar algo como esto:

# Fill in this field
IP_OF_MTA_HOST=Ip_Servidor_de_Correo
iptables -A FORWARD -p tcp -s $IP_OF_MTA_HOST --dport 25 -j ACCEPT

# Log packets trying to cross the interfaces.
iptables -A FORWARD -p tcp --dport 25 -j LOG

# Drop those packets
iptables -A FORWARD -p tcp --dport 25 -j DROP

Saludos

Limita por segundos

Imagen de rickygm

suele pasar cuando tienes una puerta abierta en tu red , alguien de tus usuarios bajo algo se infecto y el resto es historia , yo tengo configurado algunos servidores con los servicios principales o puertos mejor dicho , a que me hagan rafagas maximas de 10 conexiones por 20 Segundos así evito ataques DOS y troyanos pero son redes grandes a las que le aplico esta limitante , te imaginas formatear 10 estaciones pero cuando se infestan unas 80 o 300 uff , que tipo de firewall estan usando o a mero iptables ?

creo que la manera que están utilizando juandarcy , es temporal , y perjudicas a tu ISP y tu en un principio , porque tu ISP te llamara la atencion ya que de esa ip se genera trafico como loco , y los servidores como yahoo , hotmail , netscape bloquean en ciertos momentos rangos enteros de ip o cabezeras

si están usando mero iptables les pongo un ejemplo

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -i eth0 -j ACCEPT (acepto un ping por segundo)

con shorewall o susefirewall esto es rapido y te ayuda a terminar de formatear todas las pc y no te bloquean ni tu ISP ni los servidores principales de correo gratuito , evitando bloquear totalmente el puerto 25

saludosss