Internet esta lleno de crawlers tanto buenos como malos buscando vulnerabilidades y agujeros de seguridad. Muchas veces detectamos cierto tráfico que puede ser dañino para nuestro web-site, ¿cómo podríamos bloquearlo de una manera fácil?
El IIS trae una herramienta para poder conseguir hacer un filtrado de IP's, ya sea para una sola IP o para un rango de las mismas. A través del web.config podemos configurar este sistema de una manera sencilla y rápida.
Instalación de IP Security en el IIS
Como paso previo, debemos comprobar que esta instalado y activo el modulo de IP Security (Seguridad IP) en nuestro servidor. La forma más sencilla si tenemos acceso es yendo a las opciones de instalación de windows dentro del panel de control, y buscar dentro de la opción del IIS (Internet Information Server), la opción de seguridad, de no tenerla seleccionada, marcamos e instalamos la seguridad IP.
Una vez hecho esto, ya nos aparecerá la opción dentro del panel del IIS para configurar este módulo, y lo que es más importante, ya estará activo para el uso de las reglas en el web.config.
Configuración de IP Security en el web.config
Ahora que tenemos instalado y activo el modulo de IP Security dentro de nuestro IIS, veamos el ejemplo más sencillo, el filtrado de una ip en el web.config para empezar:
<security>
<ipSecurity allowUnlisted="true">
<clear/>
<!-- IP a filtrar-->
<add ipAddress="172.16.0.50" />
</ipSecurity>
</security>
Como vemos, con poner una sola regla dentro de la sección apropiada, ya podemos filtrar todo el tráfico para esta IP. Ahora vamos a ver como filtrar todo el tráfico para una red entera ayudándonos de la mascara de subred:
<security>
<ipSecurity allowUnlisted="true">
<clear/>
<!-- Red y mascara de subred-->
<add ipAddress="172.16.0.0" subnetMask="255.255.0.0" />
</ipSecurity>
</security>
Con esto bloqueriamos todo el trafico para las ips de la subred 172.16.x.x. Estas sencillas líneas dentro del web.config, pueden servirnos para solventar grandes problemas en el servidor, en caso de recibir un "ataque" a nuestra web. También pueden permitirnos gestionar la seguridad de nuestra web, permitiendo solo el tráfico de una red local o de un rango de IPs, dando una seguridad extra a nuestra plataforma.