Desafortunadamente, no hay tal script que haya visto que pueda ejecutarse en modo de aprendizaje o en modo pasivo registrando todo el uso de su red, tomando sus resultados y generando un firewall real usando iptables
desde sus registros.
Su mejor opción será comenzar de manera simple y seguir agregando continuamente las diversas piezas a medida que comience a comprender completamente qué servicios proporciona su sistema. Deberá utilizar herramientas como netstat
ver qué puertos están en uso para los diversos servicios que aloja, así como qué direcciones IP están accediendo a ellos.
$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:890 0.0.0.0:* LISTEN 26149/ypbind
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 26226/python
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 26221/./hpiod
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 26237/snmpd
tcp 0 0 0.0.0.0:809 0.0.0.0:* LISTEN 26067/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 26038/portmap
tcp 0 0 0.0.0.0:35604 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26249/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26257/cupsd
tcp 0 0 :::22 :::* LISTEN 26249/sshd
tcp 0 0 :::631 :::* LISTEN 26257/cupsd
NOTA: En lo anterior puede ver qué servicios tengo en un servidor que aceptan conexiones TCP, es decir, están "escuchando" las conexiones en varios puertos.
Comenzar con cosas como SSH (puerto 22) y HTTP (puerto 80) es muy fácil, si esto es típico de su sistema, por lo que haría este tipo de servicios en masa de una vez. Para otros servicios como LDAP o NIS, es posible que desee hacerlos de una manera más controlada, asegurándose de que las cosas no se rompan a medida que las presenta.
Las herramientas como FireHOL , Firewall Builder (fwbuilder) y eztables pueden ser útiles al atacar este proyecto, ya que proporcionan una buena capa de abstracción al tener que crear iptable
reglas personalizadas a mano, lo que puede ser complicado.
FireHOL
FireHOL es un lenguaje (y un programa para ejecutarlo) que crea firewalls seguros y con estado de cualquier complejidad desde configuraciones fáciles de entender y legibles por humanos.
ejemplo
transparent_squid 8080 "squid root" inface eth0
interface eth0 mylan
policy accept
interface ppp+ internet
server smtp accept
server http accept
server ftp accept
server ssh accept src example.firehol.org
client all accept
router mylan2internet inface eth0 outface ppp+
masquerade
route all accept
fwbuilder
Fwbuilder es una herramienta gráfica de cortafuegos única que permite al usuario crear objetos y luego arrastrarlos y soltarlos en los cortafuegos, para construir un poderoso sistema de seguridad para una sola PC o una red de PC. Fwbuilder admite una amplia gama de firewalls (Cisco ASA / PIX, iptables de Linux, ipfilter de FreeBSD, pf de OpenBSD y más), por lo que sus reglas pueden implementarse en múltiples plataformas. Echemos un vistazo al uso de Fwbuilder en Linux, que podría convertirse en un asunto de por vida con un potente sistema de seguridad.
ejemplo
eztables
Eztables le permite configurar rápidamente un firewall sin tocar iptables. La sintaxis de la regla del firewall está diseñada para que sea fácil de leer y aplicar.
Así es como permite que todo Internet acceda a su servidor web en el puerto TCP 80:
allow_in any $eth0 any 80/tcp
Eztables está diseñado para ser simple pero potente. No importa si desea proteger su computadora portátil, si está configurando un enrutador doméstico o si está creando un firewall de la empresa.
Usando Fail2Ban
Con un iptables
firewall rudimentario en su lugar, es probable que desee complementarlo utilizando una herramienta como Fail2Ban .
extracto
Fail2ban analiza los archivos de registro (por ejemplo, / var / log / apache / error_log) y prohíbe las IP que muestran signos maliciosos: demasiadas fallas de contraseña, búsqueda de vulnerabilidades, etc. Generalmente, Fail2Ban se usa para actualizar las reglas del firewall para rechazar las direcciones IP durante un período de tiempo especificado, aunque también se puede configurar cualquier otra acción arbitraria (por ejemplo, enviar un correo electrónico). Fuera de la caja, Fail2Ban viene con filtros para varios servicios (apache, courier, ssh, etc.).
El uso de herramientas como esta ayudará a limitar la exposición que su sistema tendrá que soportar a medida que continúe endureciéndolo. Incluso después de estar bastante convencido de que su sistema se ha fortalecido, es posible que desee seguir usando Fail2Ban como parte de sus medidas de seguridad.
Referencias