Combatiendo contra Crawlers & Bots

Introducción

¿Te diste cuenta la cantidad de tráfico que generan los Bots 🤖 & Crawlers 🕷️? ¿Lo medis? Segund Imperva el 49,6% del tráfico es automatizado.

Imperva on LinkedIn: Move over humans! Bots are taking over the internet,  accounting for 49.6%…

Me genera preguntas ¿Cuanto de mas estamos pagando 💵 por nuestra infraestructura? Hace un tiempo escribí sobre Nginx como WAF, agregando ModSecurity, hoy me encuentro con un proyecto que me llamo la atencion como SafeLine. ¿Por que? Es un Web Application Firewall fácil de usar y muy eficaz, ya ha cosechado la cifra de 11,6 mil estrellas en GitHub. Diseñado para proteger los servicios web de los ataques de hackers, filtrando y monitorizando el tráfico HTTP entre las aplicaciones web e Internet. Estas métricas me dejaron pensando.

Un WAF ayuda a proteger las aplicaciones web filtrando y supervisando el tráfico HTTP entre una aplicación web e Internet. Normalmente protege las aplicaciones web de ataques como la inyección SQL, XSS, inyección de código, inyección de comandos, inyección CRLF, inyección ldap, inyección xpath, RCE, XXE, SSRF, path traversal, backdoor, bruteforce, http-flood, bot abused, entre otros.

Instalación de SafeLine

En mi caso voy a crear un maquina virtual para proteger mi aplicación, sobre un ambiente Kubernetes. Si quisieran desplegar directamente SafeLine, con Nginx Ingress, sobre un Cluster les recomiendo leer este artículo.

El waf tiene la 192.168.0.23 y entregara todo el trafico, analizado, a nuestro nodo Kubernetes en 192.168.0.22 que contiene app.esprueba.com. Vamos agregar en el waf la entrada DNS local.

Comenzamos con la instalación.

sudo bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/setup.sh)"

Una vez instalado la consola nos entrega el usuario y password para empezar la configuración. Vamos apuntar nuestro Firewall a WAF, que hará de proxy reverso y luego el upstream al Kubernetes.

Asi estaba antes.

De esta manera quedara.

Creación de Certificado

En la pestana Web Services > Certificate > Add Cert

Agregamos un Web Service.

Ya tenemos nuestra aplicación protegida. Encendemos el Anti Bot y el Rate Limit. Tenemos gran cantidad de opciones a configurar.

Apenas publicado ya empieza a darnos datos.

Acá las reglas que ya estamos analizando por defecto.

Ataques

Aca vemos la pantalla, que ve el atacante.

Mientras en nuestra consola.

La verdad que este proyecto es muy interesante. Me gustaria verlo en un ambiente productivo, el nivel de detalle. ¿El costo? 100US/M o 600US/Y. Poco.

Espero que les haya gustado y lo prueben.

Referencias

https://medium.com/@lulu.liu12345/boost-kubernetes-security-deploying-safeline-waf-with-ingress-nginx-09f7a19d985d

https://medium.com/@lulu.liu12345/safeline-the-open-source-waf-thats-gaining-traction-on-github-85e2243be39e

0
Subscribe to my newsletter

Read articles from Santiago Fernandez directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Santiago Fernandez
Santiago Fernandez

I have a bachelor's degree in Technology from the University of Palermo, a Master in Information Security from the University of Murcia and different certifications such as CISSP | CISM | CDPSE | CCSK | CSX | MCSA | SMAC™️ | DSOE | DEPC | CSFPC | CSFPC | 5x AWS Certified. He is currently CISO at Klar, a Mexican Fintech. He was fortunate to be awarded as CISO of the Year in Argentina in 2021 and was among the Top 100 CISO's in the World in 2022. A lover of new technologies, he has developed a career in DevSecOps and Cloud Security at Eko Party, the largest security conference in Latin America.