Un firewall virtual ( VF ) es un servicio o dispositivo de firewall de red que se ejecuta completamente dentro de un entorno virtualizado y que proporciona el filtrado y la supervisión de paquetes habituales que se proporcionan a través de un firewall de red físico. El VF se puede implementar como un firewall de software tradicional en una máquina virtual invitada que ya se está ejecutando, un dispositivo de seguridad virtual diseñado específicamente para la seguridad de la red virtual , un conmutador virtual con capacidades de seguridad adicionales o un proceso de kernel administrado que se ejecuta dentro del hipervisor del host .
Mientras una red informática funcione completamente sobre hardware y cableado físicos, se trata de una red física. Como tal, puede protegerse mediante cortafuegos físicos y muros cortafuegos por igual ; la primera y más importante protección para una red informática física siempre fue y sigue siendo una puerta física, cerrada y resistente al fuego. [1] [2] Desde el inicio de Internet, este fue el caso, y los muros cortafuegos estructurales y los cortafuegos de red fueron necesarios y suficientes durante mucho tiempo.
Desde aproximadamente 1998, se ha producido un aumento explosivo en el uso de máquinas virtuales (VM) además de —a veces en lugar de— máquinas físicas para ofrecer muchos tipos de servicios informáticos y de comunicaciones en redes de área local y en Internet en general. Las ventajas de las máquinas virtuales se han explorado en profundidad en otros lugares. [3] [4]
Las máquinas virtuales pueden funcionar de forma aislada (por ejemplo, como un sistema operativo invitado en una computadora personal) o en un entorno virtualizado unificado supervisado por un monitor de máquina virtual o un proceso de " hipervisor ". En el caso en que muchas máquinas virtuales funcionen en el mismo entorno virtualizado, podrían estar conectadas entre sí a través de una red virtual que consiste en conmutadores de red virtualizados entre máquinas e interfaces de red virtualizadas dentro de las máquinas. La red virtual resultante podría implementar protocolos de red tradicionales (por ejemplo, TCP ) o aprovisionamiento de red virtual como VLAN o VPN , aunque estos últimos, si bien son útiles por sus propias razones, no son necesarios de ninguna manera.
Existe una percepción continua de que las máquinas virtuales son inherentemente seguras porque se las considera como " en un espacio aislado " dentro del sistema operativo host. [5] [6] [7] A menudo se cree que el host, de la misma manera, está protegido contra la explotación de la propia máquina virtual [8] y que el host no es una amenaza para la máquina virtual porque es un activo físico protegido por la seguridad física y de red tradicional. [6] Incluso cuando esto no se asume explícitamente, las primeras pruebas de infraestructuras virtuales a menudo se realizan en entornos de laboratorio aislados donde la seguridad, por regla general, no es una preocupación inmediata, o la seguridad solo puede cobrar protagonismo cuando la misma solución se traslada a producción o a una nube informática , donde de repente máquinas virtuales de diferentes niveles de confianza pueden acabar en la misma red virtual que se ejecuta en cualquier número de hosts físicos.
Debido a que son redes reales, las redes virtuales pueden terminar sufriendo los mismos tipos de vulnerabilidades asociadas durante mucho tiempo con una red física, algunas de las cuales son:
Los problemas creados por la casi invisibilidad del tráfico entre máquinas virtuales (VM a VM) en una red virtual son exactamente iguales a los que se encuentran en las redes físicas, complicados por el hecho de que los paquetes pueden moverse completamente dentro del hardware de un único host físico:
Existen problemas de seguridad que sólo se conocen en entornos virtualizados y que causan estragos en las medidas y prácticas de seguridad física, y algunos de ellos se promocionan como ventajas reales de la tecnología de máquinas virtuales sobre las máquinas físicas: [9]
Además de los problemas de visibilidad del tráfico de la red y la proliferación descoordinada de VM, una VM no autorizada que use solo la red virtual, los conmutadores y las interfaces (todos los cuales se ejecutan en un proceso en el hardware físico del host) puede potencialmente dañar la red como lo haría cualquier máquina física en una red física, y de las formas habituales, aunque ahora al consumir ciclos de CPU del host, también puede hacer caer todo el entorno virtualizado y todas las demás VM con él simplemente al sobrecargar los recursos físicos del host de los que depende el resto del entorno virtualizado.
Era probable que esto se convirtiera en un problema, pero dentro de la industria se lo percibía como un problema bien comprendido y potencialmente abierto a medidas y respuestas tradicionales. [10] [11] [12] [13]
Un método para proteger, registrar y supervisar el tráfico de VM a VM implicaba enrutar el tráfico de la red virtualizada fuera de la red virtual y hacia la red física a través de VLAN y, por lo tanto, hacia un firewall físico ya presente para brindar servicios de seguridad y cumplimiento para la red física. El tráfico de VLAN podría ser monitoreado y filtrado por el firewall físico y luego pasar de nuevo a la red virtual (si se considera legítimo para ese propósito) y a la máquina virtual de destino.
No es sorprendente que los administradores de LAN, los expertos en seguridad y los proveedores de seguridad de red comenzaran a preguntarse si no sería más eficiente mantener el tráfico completamente dentro del entorno virtualizado y protegerlo desde allí. [14] [15] [16] [17]
Un firewall virtual es un servicio o dispositivo de firewall que se ejecuta completamente dentro de un entorno virtualizado (incluso como otra máquina virtual, pero con la misma facilidad dentro del propio hipervisor) y proporciona el filtrado y la supervisión de paquetes habituales que proporciona un firewall físico. El VF se puede instalar como un firewall de software tradicional en una máquina virtual invitada que ya se ejecuta dentro del entorno virtualizado; o puede ser un dispositivo de seguridad virtual diseñado específicamente para la seguridad de la red virtual; o puede ser un conmutador virtual con capacidades de seguridad adicionales; o puede ser un proceso de kernel administrado que se ejecuta dentro del hipervisor host y que se encuentra por encima de toda la actividad de la máquina virtual.
La dirección actual en la tecnología de firewall virtual es una combinación de conmutadores virtuales con capacidad de seguridad [18] y dispositivos de seguridad virtuales. Algunos firewalls virtuales integran funciones de red adicionales, como VPN de sitio a sitio y de acceso remoto, QoS, filtrado de URL y más. [19] [20] [21]
Los firewalls virtuales pueden funcionar en diferentes modos para brindar servicios de seguridad, según el punto de implementación. Por lo general, son en modo puente o en modo hipervisor [ dudoso – discutir ] (basados en hipervisor, residentes en hipervisor). Ambos pueden venir empaquetados como un dispositivo de seguridad virtual y pueden instalar una máquina virtual para fines de administración.
Un cortafuegos virtual que funciona en modo puente actúa como su análogo del mundo físico: se ubica en una parte estratégica de la infraestructura de red (normalmente en un conmutador o puente virtual entre redes) e intercepta el tráfico de red destinado a otros segmentos de red y que necesita pasar por el puente. Al examinar el origen de la fuente, el destino, el tipo de paquete que es e incluso la carga útil, el VF puede decidir si se debe permitir el paso del paquete, descartarlo, rechazarlo o reenviarlo o reflejarlo en otro dispositivo. Los primeros participantes en el campo de los cortafuegos virtuales eran en gran medida de modo puente, y muchas ofertas conservan esta característica.
Por el contrario, un cortafuegos virtual que funciona en modo hipervisor no forma parte de la red virtual en absoluto y, como tal, no tiene un dispositivo análogo en el mundo físico. Un cortafuegos virtual en modo hipervisor reside en el monitor de la máquina virtual o hipervisor , donde está bien posicionado para capturar la actividad de la máquina virtual, incluidas las inyecciones de paquetes. Se puede examinar toda la máquina virtual monitoreada y todo su hardware, software, servicios, memoria y almacenamiento virtuales, al igual que los cambios en estos [ cita requerida ] . Además, dado que un cortafuegos virtual basado en hipervisor no forma parte de la red propiamente dicha y no es una máquina virtual, su funcionalidad no se puede monitorear a su vez ni alterar por los usuarios y el software se limita a ejecutarse bajo una máquina virtual o tener acceso solo a la red virtualizada.
Los firewalls virtuales en modo puente se pueden instalar como cualquier otra máquina virtual en la infraestructura virtualizada. Dado que se trata de una máquina virtual en sí misma, la relación del firewall virtual con todas las demás máquinas virtuales puede complicarse con el tiempo debido a que las máquinas virtuales desaparecen y aparecen de forma aleatoria, migran entre diferentes hosts físicos u otros cambios no coordinados permitidos por la infraestructura virtualizada.
Los firewalls virtuales en modo hipervisor requieren una modificación del núcleo del hipervisor del host físico para instalar módulos o ganchos de proceso que permitan al sistema de firewall virtual acceder a la información de la máquina virtual y acceder directamente a los conmutadores de red virtuales y a las interfaces de red virtualizadas que mueven el tráfico de paquetes entre las máquinas virtuales o entre las máquinas virtuales y la puerta de enlace de red. El firewall virtual residente en el hipervisor puede utilizar los mismos ganchos para realizar todas las funciones habituales del firewall, como la inspección, el descarte y el reenvío de paquetes, pero sin tocar realmente la red virtual en ningún momento. Los firewalls virtuales en modo hipervisor pueden ser mucho más rápidos que la misma tecnología que se ejecuta en modo puente porque no realizan la inspección de paquetes en una máquina virtual, sino desde dentro del núcleo a velocidades de hardware nativas.