Cosas varias, tecnología y familia.... y descargos de la pega

martes, 12 de febrero de 2008

Protegiendo puertos con IPTABLES y mod RECENT con 2 lineas

Este está catalogado como TIP de linux:

Hace mucho tiempo me di cuenta de los muchos atakes que subre el puerto 22 de ssh, y empecé a buscar formas de protegerlo, encontrando unas pocas y muy diversas formas.

Las que incluyen por ejemplo: Levantar el servivio de acuerdo con una cadena específica en la tarjeta de red. Conocido como Port Knocking, esto se logra con un par de programas.. los voy a poner cuando me acuerde de cuales son..

Otra, incluye un simple cambio de puerto... es muy efectivo elimina los atakes a casi 0, en mi caso 0, pero tiene el incoveniente que si es una máquina orientada a dar el servicio de ssh (muy pocos casos) tienes que decirles a todos que puerto ocupar.

La última forma, es quizas una de las más elegantes y de mayor efectividad que he visto.

esta consiste en un módulo relativamente reciente de nf-iptables, el modulo se llama "recent" y puede trabajar de muchas formas.... aqui la más efectiva segun yo!

iptables -A INPUT-p tcp -i eth0 --dport 22 -m state --state NEW,INVALID -m recent --name ChicoMalo --set
iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW,INVALID -m recent --seconds 60 --hitcount 4 --name ChicoMalo --update -j DROP

explicacion:

La primera línea envía cualquier paquete con flag "new" e "invalid" a una tabla especial llamada "ChicoMalo" y lko deja pasar a la sigiuente linea (recent no es excluyente).

La segunda linea hace el truco: dice literalmente que cualquier paquete con flag "new" o "invalid" será comparada con la lista de las de ChicoMalo, y si encuentra una cuarta coincidencia dentro de los 60 segundos anteriores, simplemente lo bota.

Es decir.... dentro de 60 segundos tu puedes hacer 3 intentos de conecciones nuevas, a la cuarta, te bota

Lo puedes probar con el comando netcat

netcat 22

Lo ejecutas 3 veces y a la cuarta, ya no funca..... esperas un minuto desde la última ves e intentas de nuevo.

Lo entretenido es que puedes protejer cualquier puerto que quieras, y es escalable, por defecto tiene un tamaño de 100 chicos malos (segun recuerdo) que puedes cambiar a voluntad al momento de cargar el módulo.

Como se carga el modulo..... si mantienes los parametros por defecto, se carga al ejecutarlo y ya. De otro modo lee el manual de iptables, alli esta todo....

Otra cosa muy entretenida.... vi por alli que es escalñable en el sentido del tiempo de atake.... es decir con un script más elaborado puedes decirle que cuando alguien se bloqueo en los 60 segundos pase a una lista de 1 hora, si aparece determinadas veces en la de 1 hora, lo botas por el dia, y asi susesivamente!!!!!

Investiga y lee, es lo mejor..... en otras palabaras RTFM

io.

No hay comentarios:

Publicar un comentario

Deja la labia:

Counter