GNU/Linux >> Tutoriales Linux >  >> Linux

Una introducción a los firewalls de aplicaciones web para administradores de sistemas Linux

Los cortafuegos han existido de una forma u otra desde el comienzo de las redes. Los primeros cortafuegos ni siquiera se identificaron como cortafuegos; no eran más que barreras físicas entre redes. No fue hasta la década de 1980 que DEC desarrolló el primer dispositivo diseñado específicamente para ser (y nombrado) un cortafuegos. Desde entonces, los firewalls han evolucionado en una miríada de formas.

Pero, ¿qué es un cortafuegos? En esencia, un firewall es un dispositivo diseñado para permitir o denegar el tráfico en función de un conjunto de reglas. Esas reglas pueden ser tan simples como "permitir HTTP y bloquear todo lo demás", o pueden ser infinitamente más complejas, incluidos protocolos, puertos, direcciones e incluso huellas digitales de aplicaciones. Algunos cortafuegos modernos incluso han incorporado el aprendizaje automático en la combinación.

Presentamos el WAF

Al igual que con otras tecnologías, a medida que evolucionaron los cortafuegos, se identificaron algunos usos específicos.

Los firewalls de aplicaciones web (WAF) son uno de esos usos de nicho. Un WAF es un firewall diseñado específicamente para manejar el tráfico "web"; es decir, tráfico utilizando el protocolo HTTP . En términos generales, la función de un WAF es inspeccionar todo el tráfico HTTP destinado a un servidor web, descartar las solicitudes "malas" y pasar el tráfico "bueno". Los detalles de cómo funciona esto son, como puede sospechar, un poco más complicados.

Al igual que los firewalls "normales", se espera que un WAF bloquee ciertos tipos de tráfico. Para hacer esto, debe proporcionar al WAF una lista de qué bloquear. Como resultado, los primeros productos WAF son muy similares a otros productos, como software antivirus, productos IDS/IPS y otros. Esto es lo que se conoce como detección basada en firmas. Las firmas suelen identificar una característica específica de un paquete HTTP que desea permitir o denegar.

Ejemplos WAF

Por ejemplo, los WAF a menudo se usan para bloquear los ataques de inyección de SQL. Una firma muy simplista puede buscar elementos de identificación clave de un ataque de inyección SQL típico. Por ejemplo, puede buscar algo como ' AND 1=1 incluido como parte de la solicitud GET o POST. Si esto coincide con un paquete entrante, el WAF lo marca como incorrecto y lo descarta.

Las firmas funcionan bastante bien, pero requieren mucho mantenimiento para garantizar que los falsos positivos se mantengan al mínimo. Además, escribir firmas suele ser más una forma de arte que una tarea de programación sencilla. Y la escritura de firmas también puede ser bastante complicada. A menudo intenta hacer coincidir un patrón de ataque general sin hacer coincidir también el tráfico legítimo. Para ser franco, esto puede ser bastante estresante.

En las malas hierbas WAF

Para ilustrar esto un poco más, veamos ModSecurity. El proyecto ModSecurity es un proyecto WAF de código abierto que comenzó como un módulo para el servidor web Apache, pero desde entonces ha evolucionado hasta convertirse en un paquete modular que funciona con IIS, Nginx y otros. ModSecurity es un WAF basado en firmas y, a menudo, se envía con un conjunto predeterminado de firmas conocido como Conjunto de reglas básicas de OWASP ModSecurity.

El conjunto de reglas básicas (CRS) es un excelente punto de partida para implementar un WAF basado en firmas. Incluye firmas para todos los riesgos de seguridad de aplicaciones web de OWASP Top Ten, así como una amplia variedad de otros ataques. Los desarrolladores han hecho todo lo posible para garantizar que el CRS tenga pocas alertas falsas, pero, inevitablemente, cualquiera que implemente el CRS deberá modificar las reglas. Esto implica aprender el lenguaje de las reglas y tener un conocimiento profundo del protocolo HTTP.

Sin embargo, la tecnología evoluciona y los proveedores de WAF más nuevos utilizan otros enfoques para bloquear el tráfico inadecuado. Ha habido un cambio bastante generalizado de enfoques de configuración estática, como listas de permitidos y bloqueados, a métodos más dinámicos que involucran API y aprendizaje automático. Este movimiento ha sido a través de múltiples tecnologías, incluidos los firewalls tradicionales, el software antivirus y, lo adivinó, los WAF.

[ ¿La red se sale de control? Consulte Automatización de redes para todos, un libro gratuito de Red Hat. ]

Un WAF puede aprender

En el nuevo y valiente mundo de los conjuntos de reglas dinámicos, los WAF utilizan enfoques más inteligentes para identificar el tráfico bueno y malo. Uno de los métodos "más fáciles" empleados es poner el WAF en modo de "aprendizaje" para que pueda monitorear el tráfico que fluye hacia y desde el servidor web protegido. El objetivo aquí es "entrenar" al WAF para identificar cómo es el buen tráfico. Esto puede incluir tráfico que coincida con patrones etiquetados como malos cuando se usaron las firmas. Una vez que el WAF ha sido entrenado, se mueve al modo de aplicación.

Entrenar un WAF como este es similar a lo que sucede cuando entrena un sistema de correo electrónico para identificar spam. Los sistemas de correo electrónico suelen utilizar un algoritmo de filtrado bayesiano para identificar el spam. Estos algoritmos funcionan relativamente bien, pero pueden envenenarse para permitir el spam. Existen problemas similares con los algoritmos utilizados por los proveedores de WAF, especialmente cuando el WAF está en modo de aprendizaje.

Los proveedores de WAF más avanzados están utilizando técnicas propietarias para permitir y bloquear el tráfico. Estas técnicas incluyen algoritmos que pueden identificar si ciertos ataques funcionarán contra el sistema de destino y solo bloquearán aquellos que serían dañinos. Sin embargo, las técnicas avanzadas como esta generalmente solo se encuentran en los proveedores de WAF SaaS y no en los dispositivos WAF autónomos.

[ ¿Necesita más seguridad en la red? VLAN para administradores de sistemas:conceptos básicos ]

Resumir

Los WAF y los firewalls en general han evolucionado mucho a lo largo de los años, pasando de métodos estáticos a métodos dinámicos para identificar y bloquear el tráfico. Estas técnicas solo mejorarán en el futuro. Hay una variedad de soluciones disponibles, desde código abierto hasta proveedores comerciales. No importa cuáles sean sus necesidades, hay un WAF para usted.


Linux
  1. 10 navegadores web ligeros de código abierto para Linux

  2. 80 herramientas de monitoreo de Linux para administradores de sistemas

  3. 30 ejercicios de procesos de Linux para administradores de sistemas

  4. Linux:¿qué aplicación usar para un calendario?

  5. ForeverNote:un cliente web de Evernote para Linux

Terminal Velocity:una aplicación CLI para tomar notas para Linux

Una introducción a Cockpit, una herramienta de administración basada en navegador para Linux

Guía de inicio rápido de Ansible para administradores de sistemas Linux

30 ejercicios de permisos de Linux para administradores de sistemas

40 comandos de red Linux útiles para administradores de sistemas modernos

¿Qué es un WAF (cortafuegos de aplicaciones web)? Tipos de WAF