Si efectivamente conocemos las características del ataque (puerto donde intenta conectar, tipo de dirección IP origen inválida, tamaño del paquete utilizado), otra forma de defensa es tomar medidas en las máquinas que tengamos bajo nuestro control para que reaccionen adecuadamente ante la presencia de estos paquetes sospechosos. Es decir, los paquetes que consigan entrar en nuestra red, engañar al NIPS (si lo tenemos) y llegar a nuestros equipos, o que intentan salir procedentes de una aplicación no autorizada (por ejemplo, un troyano nos
puede convertir en generadores de correo spam), todavía tienen que superar un control más en cada equipo: el firewall o cortafuegos.
Por ejemplo, si tenemos un servidor web en nuestra LAN y no queremos que sea atacado desde la wifi pública que ofrecemos a los clientes en la sala de espera, podemos configurar en el firewall de la máquina del servidor web que no acepte conexiones de las máquinas conectadas a esa wifi (generalmente, las identificaremos porque pertenecen una subred distinta).
Qué hace
El firewall es un software especializado que se interpone entre las aplicaciones y el software de red para hacer un filtrado de paquetes:- En el tráfico entrante, la tarjeta de red recibe el paquete y lo identifica, pero antes de entregarlo a la aplicación correspondiente, pasa por el firewall para que decida si prospera o no. En el ejemplo del servidor web, la máquina recibe un paquete destinado al puerto 80, pero antes de entregarlo al proceso que tiene abierto ese puerto (un apache.exe), el firewall decide.
- En el tráfico saliente, las aplicaciones elaboran sus paquetes de datos, pero antes de entregarlo al software de red para que lo envíe, pasa por el firewall. Por ejemplo, si sospechamos que una máquina hace spam, podemos bloquear todas las conexiones salientes al puerto 25.
Las reglas del firewall son mucho más sencillas que las reglas de un IPS y generalmente se aplican solo a las cabeceras TCP/IP de las capas 3 (red) y 4 (transporte): el firewall básicamente mira direcciones IP y puertos, aunque también puede reconocer conversaciones entre dos equipos y controlarlas.
No nos podemos permitir aumentar la complejidad de las reglas o mirar el contenido de cada paquete (DPI [Deep Packet Inspection]) porque los recursos de los equipos son limitados. Pero si nuestras necesidades de seguridad son superiores, existe un tipo de firewall más sofisticado, llamado firewall de nivel de aplicación, donde sí se entra a mirar en los datos de usuario que hay más allá de las cabeceras. Se utiliza sobre todo en protocolos web (HTTP). Por tanto, es más potente (y más lento) que el firewall normal, pero menos complejo (y más rápido) que todo un IPS.
Dónde situarlo
Todas las máquinas de la empresa conectadas a la red necesitan activar un firewall (elementos 4, 5, 6, 7 y 8 de la Figura 7.36). Incluso aunque no ejecuten ningún servidor: puede que el software de red del sistema operativo tenga una vulnerabilidad. Igual que el malware hay que bloquearlo con el antivirus porque es software no solicitado, el firewall nos ayuda a bloquear paquetes de red no solicitados.Esta medida sería suficiente; pero, para evitar que se inunde la red con paquetes que no llegarán a su destino, o para ayudar a máquinas que no tienen firewall (por ejemplo, una impresora en red, como el elemento 9 de la Figura 7.36), en los puntos críticos de la red se suelen colocar máquinas independientes ejecutando tareas de firewall (firewall de red).
Por ejemplo, siempre suele estar en la conexión a Internet porque por ahí llegarán muchos ataques.
Los routers domésticos proporcionados por los ISP (Internet Service Provider) hacen funciones de firewall (elemento 1 de la Figura 7.36), porque por defecto se comportan como equipos de usuario y no permiten conexiones entrantes; pero una empresa suele necesitar más configuraciones, por lo que instalará su propio firewall de red.
En las empresas grandes hay máquinas distintas para cada servicio, todas situadas en una subred especial llamada DMZ (Demilitarized Zone, zona desmilitarizada). El firewall de esta zona (elemento 2 de la Figura 7.36) es menos exigente que el que protege nuestra LAN (elemento 3 de la Figura 7.36), porque tenemos que permitir conexiones a esos servicios; pero, como está expuesto a más ataques, se suele acompañar de un IDS/IPS.
Firewall en Linux. Iptables
Cuando llega un paquete a la tarjeta de red, el sistema operativo (más concretamente, el software de red) decide qué hacer con él. El resultado de esa decisión puede ser:- Descartarlo. Si el destinatario del paquete no es nuestra máquina o, aunque lo sea, ningún proceso actual lo espera, el paquete termina aquí. Por ejemplo, llega una petición http a una máquina que no tiene un servidor web arrancado: la máquina lo ignora.
- Aceptarlo, porque es para nosotros y hay un proceso que sabe qué hacer con ese paquete. Sería el ejemplo anterior, pero ahora sí tenemos un servidor web funcionando.
- Aceptarlo, aunque no sea para nosotros, porque somos un router y vamos a enviarlo por otra interfaz. En algunos casos llegaremos a modificar las cabeceras del paquete, como veremos más adelante.
- Aceptarlo, aunque no es para nosotros y tampoco somos un router: pero estamos escuchando todos los paquetes porque somos un sniffer de red.
- Cuando llega el paquete para un proceso nuestro pero todavía no se lo hemos entregado, en iptables hablamos de input.
- Cuando somos un router y estamos a punto de traspasar el paquete de una interfaz a otra, en iptables hablamos de forward.
- Cuando un paquete está listo para salir por una interfaz, en iptables hablamos de output.
- Prerouting. Se ejecuta antes de input. Sirve para obviar el enrutamiento porque sabemos exactamente qué tratamiento dar a esos paquetes. Veremos un ejemplo en el caso práctico de proxy de esta misma unidad.
- Postrouting (después de output y después de forward). Se utiliza para aplicar alguna modificación a los paquetes que están a punto de abandonar la máquina. Veremos un ejemplo, el NAT, en el mismo caso práctico de proxy.
Pero no todas las acciones están disponibles en todas las situaciones. Por esto las reglas se agrupan en tres tablas principales:
- filter. Es la tabla principal. Su misión es aceptar o rechazar paquetes. Es el firewall propiamente dicho.
- nat. Las reglas de esta tabla permiten cambiar la dirección de origen o destino de los paquetes.
- mangle. En esta tabla podemos alterar varios campos de la cabecera IP, como el ToS (Type of Service). Se suele usar para aplicar QoS (Quality of Service), marcando los paquetes de determinados servicios para luego priorizarlos.
NAT (Network Address Translation). Mecanismo que aplican los routers para cambiar la dirección IP de los paquetes que transitan por ellos. El router pone su propia dirección, ocultando al destinatario que realmente el paquete no
es suyo, sino que está haciendo de intermediario. Gracias al NAT, el agotamiento de direcciones IPv4 no ha bloqueado Internet.
QoS (Quality of Service). Es un tratamiento diferenciado que los equipos de la red aplican a los paquetes de datos que procesan, buscando favorecer unos servicios concretos, aunque otros servicios se vean perjudicados. Por ejemplo, VoIP (Voz IP) frente a navegación web.
Firewall en Windows 7
Los sistemas operativos Windows siempre han tenido mala fama en cuanto a seguridad ante malware; sin embargo, la versión XP introdujo un firewall muy robusto y sencillo.Las versiones posteriores (Vista, Windows 7) han mantenido la robustez, aunque han sacrificado la sencillez para elaborar reglas complejas que permitan cubrir todas las necesidades del usuario.
Comparado con iptables, el firewall de Windows 7 es más sencillo (no hay tantas tablas ni etapas) y más agradable de usar (interfaz de ventanas en lugar de comandos). A diferencia de Linux, la configuración por defecto para las conexiones entrantes esrechazarlas, no aceptarlas.
No hay comentarios:
Publicar un comentario
Gracias por tu tiempo.