Scripts en Bash para banear ip desde línea de comandos. Fortinet y Sonicwall

0
192
Want create site? Find Free WordPress Themes and plugins.

Estimados amigos de Inseguros !!!

En el capítulo de hoy voy a liberar un par de truquitos que uso en mis despliegues para banear una dirección IP.

https://github.com/kinomakino/Ban-ip-Bash-Scripts/tree/master

El escenario es muy sencillo, tienes un Fortinet o un SonicWall, tienes tu regla BLACKLIST creada, tienes tu grupo de direcciones ip, y tienes tus objetos. Hasta la fecha bien.

Si en tus tareas de revisión de sistemas encuentras una ip maliciosa, tienes que loguearte en el firewall, entrar en la sección correspondiente, crear el objeto dirección. Luego meterlo en el grupo… Es lento.

Mejor usar un script que pasándole la dirección IP, haga esta labor. La única gracia de estos scripts es que al contrario que cuando lanzas un comando remoto mediante SSH, puedes enviar todo el “churro” del comando, en estos sistemas (Firewalls físicos) suele haber una linea de comando que espera precisamente eso, un comando.

Mediante Expect -f podemos pasarle un fichero en el que vamos reproduciendo los “prompts” que nos presenta el firewall y le vamos pasando los parámetros. Ejemplo:

#!/usr/bin/expect -f
set IP [lindex $argv 0]
set timeout 60
spawn ssh user@ip
expect password:
send passwordr
expect fortinet_name
send config firewall addressr
expect fortinet_name (address)
send edit IPr
expect )
send set subnet IP/32r
expect )
send endr
expect fortinet_name
send config firewall addrgrpr
expect )
send edit BLACKLISTr
expect )
send append member IPr
expect )
send endr
expect fortinet_name
send exitr

Aparte, este script lo puedes usar como acción en Fail2ban para banear a nivel perimetral y no a nivel de hosts.

También lo puedes usar como acción para un evento en OSSIM (Puedes leer más en la segunda parte del post: http://kinomakino.blogspot.com.es/2014/08/ossim-13-conectando-un-sensor-snort.html )

El poder acceder al firewall desde un único punto por línea de comandos es algo que al final vas a tener que usar. Tiene algunas pegas, como la autenticación contra el sistema. Lo suyo es generar una política de claves privadas para confiar entre los dos equipos, pero dependemos del fabricante.

Otro problema que me he encontrado es que por ejemplo, si usas este script en un sistema Debian, y actualizas Openssh por un fallo, el sistema se configura de manera que NO acepta cifrados inseguros. Bien, tu actualizas tu Openssh, pero si el fabricante no cambia el cifrado, no actualizas el firewall, puede ser que de repente el script ya no conecte por no cumplir con los requisitos mínimos…

Todo esto son cosas que irás viendo o no, según tus implementaciones.

La semana que viene publicaré el mismo script para Cisco ASA e intentaré crear un script que solvente el problema de Fortinet de no tener más de 300 direcciones IP por grupo. Tendré que ir balanceando los baneos en varios grupos con algún contador…

Buenos, espero que os sirva de ayuda, gracias por leerme !!!

Source: kinomakino

Scripts en Bash para banear ip desde línea de comandos. Fortinet y Sonicwall
Valora este post
Did you find apk for android? You can find new Free Android Games and apps.
Compartelo!!Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0