Cortafuegos de Proxmox VE

El módulo PVE-Firewall de Proxmox VE

El pasado 10 de julio de 2015 pude superar [al fin] mi gran miedo al cortafuegos de Proxmox VE (el módulo PVE-Firewall).

Todo comenzó por dos motivos:

  • Se acercaba una inminente inspección de Seguridad Informática de la OSRI en días posteriores.
  • El deseo de acabar de configurar el cortafuegos de Proxmox, que era una tarea que tenía pendiente desde que salió en la versión 3.3.

Evidentemente el primer motivo genera mucha más preocupación que el segundo, cosa que nos pone a correr en un momento determinado. También está la característica que tienen muchas personas (entre las cuales me incluyo) de dejar las cosas para después.

Entonces me dí a la tarea de «meterle el pecho» al asunto y así acabar de derrumbar ese obstáculo de una vez por todas, de lo cual surgió el manual del que se nutre este post. En él verán que he omitido las partes más importantes (algunos nombres, direcciones IP, rangos, etc.) por razones obvias , lo cual no atenta contra el entendimiento del mismo.

Así que, sin más preámbulo, vayamos al asunto.

Según la parte del manual de Proxmox (la Wiki de Proxmox para ser exactos), el cortafuegos se aplica en tres niveles:

  • A nivel de Clúster
  • A nivel de Nodo o Host
  • A nivel de máquina virtual

 

Pero para «allanar» un poco el camino, se explicará lo más detallado posible el proceso de puesta en marcha de esta maravillosa característica de Proxmox VE.

PVE-Firewall: Activación del control del acceso en las interfaces de las instancias virtuales

Primeramente aclarar que esto fue desarrollado en mi entorno de trabajo donde tengo varios hipervisores Proxmox, uno de ellos se ve así:

Proxmox VE - Firewall

Entonces, cuando se crea una nueva máquina virtual o contenedor, ahora aparece una nueva opción: una casilla de verificación o check box llamada “Firewall”.

En un Contenedor se ve así:

CT - Interfaz de Red

NOTA IMPORTANTE: En los contenedores esta característica está activada solamente en las interfaces de red del tipo veth, las cuales son asociadas a los bridges que se hayan definido previamente.

En una Máquina Virtual se ve así:

VM - Interfaz de Red

Se debe marcar dicha casilla si se quiere que el cortafuegos de Proxmox controle el acceso a la nueva instancia de máquina virtual que se crea. En caso de que se haya creado previamente pasando por alto esta característica, es sencillo activarla, solamente hay que seguir la ruta en el menú del gestor de Proxmox.

En caso de un Contenedor o CT la ruta en el menú es la siguiente:

Gestor de Proxmox —> Datacenter —> (Host Específico donde se encuentra el Contenedor) —> (Contenedor específico a modificar) —> Pestaña “Network” —> [Marcar la Interfaz de Red que se desea modificar] —> Pulsar el botón “Edit”

Saldrá una ventana como esta:

Proxmox - CT - Interfaz - Activar control de cortafuegos

En caso de una Máquina Virtual o VM la ruta en el menú es la siguiente:

Gestor de Proxmox —> Datacenter —> (Host Específico donde se encuentra el Contenedor) —> (Contenedor específico a modificar) —> Pestaña “Hardware” —> Dar doble click a la Interfaz de Red que se desea modificar

Saldrá una ventana como esta:

Proxmox - VM - Interfaz - Activar control de cortafuegos

Ya teniendo esta primera parte completada, sólo queda configurar el cortafuegos de Proxmox.

PVE-Firewall: Configuración de los elementos del cortafuegos

Como se dijo anteriormente, la configuración del cortafuegos de Proxmox se realiza en tres niveles: Clúster, Host y Máquina Virtual. En muchos casos los administradores no activan o usan esta característica de Proxmox, ya sea porque no cuentan con la documentación y orientación suficiente o por ignorancia. No obstante, en los casos en que el cortafuegos está presente en el funcionamiento de los hipervisores, ya sea en modo independiente o en clústers, las configuraciones son diversas.

En el caso que nos ocupa se mostrará la configuración de uno de los hipervisores Proxmox que tengo acá funcionando.

Para ir entrando en materia primeramente mostraré varias imágenes de la configuración.

A nivel de Clúster:

  • Pestaña “Reglas”

 

Proxmox - Datacenter - Firewall - Rules

  • Pestaña “Grupos de Seguridad”

 

Proxmox - Datacenter - Firewall - IP Sets

  •  Pestaña “Alias”

 

Proxmox - Datacenter - Firewall - Security Groups

  • Pestaña “Conjuntos de IPs”

 

Proxmox - Datacenter - Firewall - IP Sets

  • Pestaña “Opciones”

 

Proxmox - Datacenter - Firewall - Options

A nivel de Nodo o Host Hipervisor:

  • Pestaña “Reglas”

 

Proxmox - Host - Firewall - Rules

  • Pestaña “Opciones”

 

 Proxmox - Host - Firewall - Options

  • Pestaña “Log”

 

 Proxmox - Host - Firewall - Logs

A nivel de Contenedor o Máquina Virtual:

  • Pestaña “Reglas”

 

Proxmox - CT_VM - Rules

  • Pestaña “Alias”

 

 Proxmox - CT_VM - Aliases

  • Pestaña “Conjuntos de IPs”

 

 Proxmox - CT_VM - IP Sets

  • Pestaña “Opciones”

 

 Proxmox - CT_VM - Options

  • Pestaña “Log”

 

 Proxmox - CT_VM - Logs

Imágenes muy elocuentes, ¿verdad? Pues, ahora vamos a explicar cómo es el proceso de configuración.

Nivel de Clúster

En este nivel se establecen reglas y datos que se aplican en los niveles inferiores, y según el manual de PVE-Firewall que se encuentra en la wiki de Proxmox, se deben configurar los elementos del cortafuegos siguiendo el orden siguiente:

  • Aliases
  • Conjuntos de direcciones IP
  • Grupos de seguridad (de ser necesarios)
  • Reglas
  • Activar el cortafuegos

 

Más detalladamente:

  • Aliases

 

Aquí se definen los aliases tanto de direcciones IP específicas como de rangos completos de direcciones IP. Dichos aliases permiten asociar direcciones IP o rangos de redes con un nombre, el cual más adelante se referirán tanto en los conjuntos de direcciones IP que se definan como en las propiedades “source” y/o “dest” de las reglas de cortafuegos.

Para cada una de ellas la ruta crítica para añadir o editar es la siguiente:

Pestaña “Alias” à Botón “Add”/”Edit”

Y saldrá una ventana como esta:

(Añadir)

Proxmox - Datacenter - Firewall - Aliases - Add

(Editar)

Proxmox - Datacenter - Firewall - Aliases - Edit

NOTA: Claro está que, una vez modificados los campos (y que cumplan con las restricciones de los datos a proveer), se activará el botón “OK”. Sólo queda pulsarlo para confirmar la añadidura o el cambio de valores. Esto se cumple para cualquier elemento a configurar en el cortafuegos de Proxmox.

Entonces, una vez añadidos todos los aliases necesarios, la vista cambia y se ve de la siguiente manera:

Proxmox - Datacenter - Firewall - Aliases

  •  Conjuntos de direcciones IP (IP Sets)

Aquí se definen los conjuntos de direcciones IP tanto de direcciones IP específicas como de rangos completos de direcciones IP. Estos conjuntos pueden ser usados para crear grupos de direcciones IP como rangos de redes, los cuales se pueden utilizar en los campos “source” y/o “dest” de las reglas de cortafuegos y se referencian como +nombre_del_conjunto_de_direcciones_ip.

Para cada elemento la ruta crítica para añadir o editar es la siguiente:

Pestaña “IPSet” à Botón “Create”/”Edit”

Y saldrá una ventana como esta:

(Añadir)

 Proxmox - Datacenter - Firewall - IP Sets - Add

(Editar)

Proxmox - Datacenter - Firewall - IP Sets - Edit

Creado el conjunto que direcciones IP/CIDR hay que llenarlo con valores, para esto se va a la parte derecha de la vista donde está la sección “IP/CIDR:” y presionar los botones “Add” o “Edit” según corresponda. Entonces saldría una nueva ventana con el aspecto siguiente:

(Añadir)

[De manera manual]

Proxmox - Datacenter - Firewall - IP Sets - IP_CIDR - Add (Manually)

[Utilizando un alias previamente creado]

Proxmox - Datacenter - Firewall - IP Sets - IP_CIDR - Add (Alias)

NOTA: Si se quiere definir que no incluya los valore seleccionados, basta con activar la casilla de verificación “nomatch:”.

(Editar)

Proxmox - Datacenter - Firewall - IP Sets - IP_CIDR - Edit

Como se ve, una vez establecido el valor del campo “IP/CIDR”, no se puede editar posteriormente. Para ello será necesario eliminar el valor y añadir uno nuevo.

  •  Reglas

 

Aquí se define la parte más importante de la configuración del módulo. Cualquier regla de cortafuegos consiste en la aplicación de una acción (ACCEPT, DENY o REJECT) para un sentido específico del tráfico de red (IN u OUT), más otras opciones especiales que pueden ser o no utilizadas también.

Para crear una regla, la ruta crítica es la siguiente:

Pestaña “Rules” à Botón “Add”/”Edit”

Y saldrá una ventana como esta:

(Añadir)

Proxmox - Datacenter - Firewall - Rules - Add

(Editar)

Proxmox - Datacenter - Firewall - Rules - Add - Modified SSH Service

En ambos casos hay que proveer una serie de campos de datos para conformarla. Dichos campos son:

Direction: Dirección del sentido del tráfico de red

Proxmox - Datacenter - Firewall - Rules - Add - Direction

Action: Acción a realizar

Proxmox - Datacenter - Firewall - Rules - Add - Action

Interface: Interfaz a la que se controlará el tráfico de red

Aquí hay que detenerse por obligación. La manera de referenciarse las interfaces de red tanto en contenedores (veth) como en máquinas virtuales (vinculación con un bridge específico) no es la misma.

En los contenedores la definición de una interfaz de red es más o menos así:

Proxmox - CT - Interfaz

Ahí vemos que el nombre asignado a la interfaz es “eth0”, por lo tanto, es el nombre que se pondrá en el campo “Interface”. Si se establece uno incorrecto, dará el error que se muestra a continuación:

Proxmox - CT - Interfaz - Error en el nombre

En las máquinas virtuales la definición de una interfaz de red es diferente totalmente:

Proxmox - VM - Interfaz

En este caso, vemos que el nombre asignado a la interfaz es “net0”, por lo tanto, es el nombre que se pondrá en el campo “Interface”. Si se establece uno incorrecto, dará un error como este:

Proxmox - VM - Interfaz - Error en el nombre

Source: Dirección IP o Rango de Red de donde se origina el tráfico de red

Aquí el valor de este campo se puede establecer o manualmente, o seleccionado un alias o conjunto de direcciones IP/CIDR previamente creado:

Proxmox - Datacenter - Firewall - Rules - Add - Souce_Destination

Destination: Dirección IP o Rango de Red de destino hacia donde va el tráfico de red

También aquí el valor de este campo se puede establecer o manualmente, o seleccionado un alias o conjunto de direcciones IP/CIDR previamente creado:

Proxmox - Datacenter - Firewall - Rules - Add - Souce_Destination

Comment: Una cadena descriptiva de la regla (este campo es opcional)

Enable: Activar o desactivar la regla

Macro: Configuración predefinidas de valores de protocolos y puertos de diferentes servicios

Aquí Proxmox nos da unos cuantos valores predefinidos:

Proxmox - Datacenter - Firewall - Rules - Add - Macro

Esto nos da cierta comodidad al establecer para qué servicio está orientada la regla en sí, dado que ya predetermina los demás campos que faltan (deshabilita los campos “Protocol”, “Source port” y “Destination port”). He aquí un ejemplo con la selección del servicio SSH (puerto 22/tcp)

Proxmox - Datacenter - Firewall - Rules - Add - Macro - Selected SSH Macro

Pero existe el caso en que tengamos servicios configurados para escuchar en otro puerto, ya no coincide con el preestablecido por Proxmox. He aquí el ejemplo en que se pone a escuchar al servicio SSH por el puerto 40497/tcp:

Proxmox - Datacenter - Firewall - Rules - Add - Macro - Modify SSH Macro

Se establece manualmente el tipo de protocolo (TCP), los puertos de origen de la conexión (entre 1024 y 65535) y el puerto destino al que se quiere conectar (40497).

Protocol: Protocolo del tráfico de red

Y no solamente el TCP y UDP que utilizamos cotidianamente, hay muchos más:

Proxmox - Datacenter - Firewall - Rules - Add - Protocol

Y en esta imagen no se ven todos, pero la lista es bastante considerable.

Source post: Puerto(s) de origen de la conexión

Aquí se establece el(los) puerto(s) de origen de conexiones:

Proxmox - Datacenter - Firewall - Rules - Add - Source port

En este caso las conexiones se originan desde una estación de trabajo o servidor desde un puerto de solicitud de conexiones, los cuales están ubicados en en rango entre 1024 y 65535.

Dest. post: Puerto(s) de origen de la conexión

Aquí se establece el(los) puerto(s) hacia donde van dirigidas las conexiones:

Proxmox - Datacenter - Firewall - Rules - Add - Destination port

En este caso las conexiones van dirigidas al servicio SSH (Administración Remota) de un servidor específico. Dicho servicio escucha a través de un puerto diferente al establecido en las RFC (que es el 22/tcp), o sea, el puerto 40497/tcp.

NOTA IMPORTANTE: Es válido aclarar que el proceso de añadir/editar las reglas de cortafuegos es igual en cualquier nivel que se trabaje. No obstante, estas modificaciones se realizan normalmente a nivel de nodo/host/hipervisor y/o a nivel de CT/VM, lo cual no quiere decir que no haya necesidad de aplicar reglas a nivel de clúster.

  • Grupos de seguridad (Security Groups)

 

Aquí se definen los grupos de seguridad que se utilizarán. Un grupo de seguridad no es más que un grupo de reglas, definidas solamente a nivel de clúster, las cuales pueden ser usadas en cualquiera de los tres niveles, basta con insertarlas mediante el botón “Insert: Security Group”. Más adelante se verá un ejemplo de esto.

La creación de los grupos de seguridad sigue un orden similar al de la creación de reglas de cortafuegos, con la diferencia de que hay que crear previamente el grupo que las contendrá. Para ello la ruta crítica es la siguiente:

Pestaña “Security Group” à Botón “Create”/”Edit”

Y saldrá una ventana como esta:

(Crear nuevo)

Proxmox - Datacenter - Firewall - Security Groups - Create

(Editar)

Proxmox - Datacenter - Firewall - Security Groups - Gestion_Proxmox

Y para la creación de las reglas de cortafuegos, se sigue el mismo orden descrito anteriormente.

Ya, por último ir a la pestaña “Opciones”

Proxmox - Datacenter - Firewall - Options

y activar el cortaguegos:

Proxmox - Elementos - Opcion de Activar Cortaguegos

NOTA: La política por defecto del tráfico entrante es siempre DROP, y la del tráfico saliente es ACCEPT.

Nivel de Nodo/Host/Hipervisor y CT/VM

En estos niveles la configuración del cortafuegos es similar, pero con ligeras diferencias:

  • La pestaña “Opciones” en cada nivel es diferente

Nivel Nodo/Host/Hipervisor:

Proxmox - Host - Firewall - Options

Como se muestra en la imagen anterior, existen varios parámetros a establecer. En el caso que nos ocupa, los valores que aparecen en dicha imagen son los establecidos (esto basándonos tanto en la información ofrecida en la wiki de Proxmox como en su foro de discusión).

Nivel CT/VM:

Proxmox - CT_VM - Options

Aquí también los valores que aparecen en dicha imagen son los establecidos (esto basándonos tanto en la información ofrecida en la wiki de Proxmox como en su foro de discusión).

  • Definición de aliases y conjuntos de IP/CIDR particulares a nivel de CT/VM

En la interfaz gráfica se puede ver que, a nivel de CT/VM también se pueden definir tanto aliases como conjuntos de IP/CIDR particulares para cada instancia CT/VM específica:

(Aliases)

Proxmox - CT_VM - Aliases

(Conjuntos de IP/CIDR)

Proxmox - CT_VM - IP Sets

A modo de ilustración se muestran reglas establecidas en el cortafuegos de Proxmox.

Reglas a nivel de nodo/host/hipervisor:

Proxmox - Host - Firewall - Rules Established

Reglas a nivel de CT/VM:

Proxmox - CT_VM - Firewall - Rules Established

Se pueden crear reglas por tantos servicios se alojen en una CT/VM específica, solamente hay que añadir más reglas.

PVE-Firewall: Muy bien todo esto, pero… ¿cómo se ve todo esto por debajo de la GUI?

Bien, ya hemos visto cómo se configura el cortafuegos de Proxmox a través de la interfaz de gestión, pero… una vez finalizadas todas estas operaciones, ¿qué queda reflejado en la configuración de Proxmox a nivel de Shell o CLI? Pues, Proxmox tiene un directorio donde se guardan las configuraciones, en /etc/pve, cuya estructura se ve así:

Proxmox - CLI - Config Directory

Donde en el subdirectorio /etc/pve/firewall se guarda la configuración del cortafuegos de dos niveles: clúster e instancias específicas de CT/VM:

Proxmox - CLI - Config Directory - Firewall

En la imagen anterior se ve que están definidas la configuración general del clúster y la del contenedor con ID 107.

La configuración de cortafuegos referente al nodo/host/hipervisor se encuentra en el subdirectorio /etc/pve/nodes/<Nombre de host>:

Proxmox - CLI - Config Directory - Nodes - Host - Firewall

Grupos de seguridad (revisitado)

Anteriormente vimos qué eran los grupos de seguridad, ahora veamos un ejemplo funcional.

Como punto de partida, retomemos la imagen siguiente:

Proxmox - Host - Firewall - Rules Established

Se ve que están establecidas dos reglas de cortafuegos:

  • Regla 0

Con las especificaciones siguientes:

Activación:

Tipo de tráfico: Entrante

Acción: Aceptar

Interfaz donde se aplica: vmbr2 (Dirección IP de gestión del Nodo)

Dirección IP/CIDR de origen: Alias que apunta a la dirección IP del equipo del Administrador de la Red

Dirección IP/CIDR destino: Subred donde están ubicados los hipervidores o nodos Proxmox

Protocolo: TCP

Puerto de origen: Rango de puertos que va desde 1024 hasta 65535 (solicitudes de conexiones)

Puerto destino: 40497 (SSH modificado)

  • Regla 1

Con las especificaciones siguientes:

Activación:

Tipo de tráfico: Entrante

Acción: Aceptar

Interfaz donde se aplica: vmbr2 (Dirección IP de gestión del Nodo)

Dirección IP/CIDR de origen: Alias que apunta a la dirección IP del equipo del Administrador de la Red

Dirección IP/CIDR destino: Subred donde están ubicados los hipervidores o nodos Proxmox

Protocolo: TCP

Puerto de origen: Rango de puertos que va desde 1024 hasta 65535 (solicitudes de conexiones)

Puerto destino: 8006 (Interfaz Web de Proxmox VE)

Dichas reglas indican que solamente desde el equipo de trabajo del Administrador de la Red se puede administrar el nodo.

Ahora bien, tenemos las dos preguntas siguientes:

  • ¿Y por qué no hacemos un grupo de seguridad que englobe estas dos reglas?
  • Bien, creado, pero… ¿qué diferencia tendría eso?

 

Las respuestas son sencillas:

  • Primera: Nos quitamos de encima el tener que replicar estas dos reglas para cada nodo que se agrege al clúster.
  • Segunda: solamente habría que insertar el grupo de seguridad, dado que ya las contiene.

 

En otras palabras, un grupo de seguridad se crea basado en el(los) tipo(s) de servicio(s) que se provea (que es lo común en estos casos para no complicarse tanto la existencia). Por ejemplo, agrupados por:

  • Servidores Web: Puertos 80/tcp y 443/tcp
  • Servidores Jabber: Puertos 5222/tcp, 5223/tcp y 5269/tcp
  • Servidores LDAP: Puertos 389/tcp y 636/tcp
  • Controladores Primarios de Dominio: Puertos 389/{tcp|udp}, 636/{tcp|udp}, 3268/tcp, 3269/tcp, 88/{tcp|udp}, 464/{tcp|udp}, 135/tcp, 5722/tcp, y el rango 1024-65535/{tcp|udp}

 

Y muchos otros. No obstante, también se pueden basar en otros criterios de selección, pero ya eso es a gusto del administrador o de cómo tenga creada su infraestructura (o de como lo obligue porque muchas veces las infraestructuras las heredan).

Entonces, para el ejemplo que vamos a hacer, se sigue el criterio a continuación:

  • Administración de Hipervisores Proxmox: Puertos 40497 (SSH modificado) y 8006 (Interfaz Web)

 

Si ya tenemos el criterio escogido, pues, manos a la obra. Ir a:

Gestor de Proxmox —> Datacenter —> Firewall —> Pestaña “Security Group” —> Botón “Create”

Y crear un nuevo Grupo de Seguridad llamado “gestion_proxmox” (el nombre no debe exceder de 20 caracteres):

  • Nombre: gestion_proxmox
  • Comment: Administración remota de Hipervisores Proxmox

 

El cual quedaría así:

Proxmox - Datacenter - Firewall - Security Groups - Gestion_Proxmox

Una vez creado

Proxmox - Datacenter - Firewall - Security Groups - Gestion_Proxmox_Creado

Se procede a crear las reglas de cortafuegos:

  • Regla 0

 

Datos a proveer:

Direction: in

Action: ACCEPT

Source: ip_equipo_administrador_red

Destination: +vlan_hipervisores

Comment: Gestion Remota de Proxmox a traves de CLI (SSH modificado)

Enable: Activado

Macro: <Vacío>

Protocol: TCP

Source port: 1024:65535

Dest. port: 40497

Gráficamente se ve así:

Proxmox - Datacenter - Firewall - Rules - Add - Modified SSH Service

  • Regla 1

Datos a proveer:

Direction: in

Action: ACCEPT

Source: ip_equipo_administrador_red

Destination: +vlan_hipervisores

Comment: Gestion Remota de Proxmox a traves de la Interfaz Web

Enable: Activado

Macro: <Vacío>

Protocol: TCP

Source port: 1024:65535

Dest. port: 8006

Gráficamente se ve así:

Proxmox - Datacenter - Firewall - Rules - Add - GUI

Terminadas todas estas operaciones, ya tenemos creado nuestro grupo de seguridad y, de paso, la respuesta gráfica de la primera pregunta:

Proxmox - Datacenter - Firewall - Security Groups - Gestion_Proxmox_Completado

Ah, pero sólo hemos recorrido la mitad del trayecto, falta vincular este grupo de seguridad anteriormente creado al cortafuegos del nodo o de los nodos Proxmox. Para ello la ruta que se sigue en el menú es mediante:

Gestor de Proxmox —> Datacenter —> <Nodo específico> —> Firewall —> Pestaña “Rules” —> Botón “Insert: Security Group”

Donde sale una ueva ventana donde se proveen los datos siguientes:

  • Security Group: gestión_proxmox
  • Enable: Activado
  • Interface: vmbr2 (Interfaz de gestión del nodo)
  • Comment: Gestion Remota de Hipervisores Proxmox

 

Como se ve en la imagen:

Proxmox - Host - Firewall - Add Rule (Insert Security Group)

Con esto finalmente se tiene vinculado el grupo de seguridad a las reglas de cortafuegos del nodo:

Proxmox - Host - Firewall - Gestion de Proxmox Security Group Established

No obstante, para cerciorarse de que funciona el cortafuegos, basta con probar desde una estación de trabajo o servidor cualquiera el acceso a los dos puertos (8006 y 40497) del nodo con la dirección IP correspondiente. En la siguiente imagen se muestra dos intentos de acceso a la interfaz CLI (SSH modificado) del nodo PRX-C0-2 desde dos orígenes: un servidor y la estación de trabajo del Administrador de la Red:

Acceso a Proxmox

Y en esta otra el intento de acceso a la interfaz Web del nodo PRX-C0-2 desde los mismos orígenes:

Acceso GUI a Proxmox

Estas operaciones se pueden realizar también con otros tipos de servicios, solamente hay que pensar y planificar bien todas las reglas que sean necesarias y aplicarlas con cuidado y en el orden adecuado para lograr el efecto deseado.

NOTA: Normalmente las máquinas virtuales KVM, por sus características intrínsecas de aislamiento total del entorno virtual (virtualización completa), permiten la configuración del cortafuegos que provee el sistema operativo hospedero, lo cual da una seguridad adicional. No obstante, los contenedores no tienen esta facilidad (virtualización a nivel de sistema operativo) y ahí en donde entra el cortafuegos de Proxmox, para garantizar un buen nivel de protección a este tipo de entorno virtual.

A modo de conclusión, la configuración del cortafuegos de Proxmox puede parecer un poco compleja para el que se inicia en ella, pero una vez que se van adquiriendo los conceptos y habilidades, se hace mucho más fácil el proceso. La cuestión está en no cogerle miedo.

🙂

Acerca de Hector Suarez Planas

Es Licenciado en Ciencia de la Computación (3 de julio de 2002). Ha sido Administrador de Red en varias organizaciones, Programador y Analista de Sistemas. Actualmente se desempeña como Administrador de Red del Telecentro Tele Turquino de Santiago de Cuba. Tiene experiencia con sistemas Windows y GNU/Linux, Infraestructura de Redes (Cisco, AlliedTelesis, Netgear y HP ProCurve, Vyatta/VyOS), Servidores tanto físicos como virtuales (plataformas VMWare, Proxmox VE y Xen), Sistemas de Seguridad Informática (Snort/Suricata IDS, appliances AlienVault OSSIM), programador (Delphi, C++ Builder, Perl [poco], Python [algo]), entre otras cosas. Actualmente estoy incursionando en todo lo que tiene relación con Cloud Computing (OpenStack) y Centros de Datos. :-)
Esta entrada fue publicada en Cortafuegos, Firewall, Proxmox VE, PVE-Firewall. Guarda el enlace permanente.

10 respuestas a Cortafuegos de Proxmox VE

  1. Scriptmaster dijo:

    Hermano dejame hacerte una pregunta:

    Implementé el firewall (Muy interesante este post) pero no me da drop a las in del server por defecto….
    Solo si le doy drop como regla me rechaza la conexion. Qué pudiera pasar aquí????

    Saludos

    • Hector Suarez Planas dijo:

      Saludos, Scriptmaster.

      Primero que todo, gracias por su comentario.

      Sería bueno ver exactamente lo que quiere hacer porque está muy escueta esa descripción del problema.

      🙂

  2. Scriptmaster dijo:

    nada hermano gracias por tu respuesta rápida atendiendo mi pregunta. Lo que me pasaba es que aunque habilitaba el firewall del Proxmox e inicialmente como bien explicas me seteaba la entrada en DROP tenia acceso a los puertos 8006 y 22 desde cualquier PC en el mismo rango IP de los servers. Pero la respuesta la encontré aquí mismo en el post «Viaje al centro del Cortafuegos de Proxmox»…. GRACIAS DE TODAS FORMAS HERMANO!!!!

  3. Hola colega hace poco empece a trabajar con el cortafuegos del proxmox y me surge un problema, como yo configuro en el proxmox para que me guarde los log del firewall de los CT en ficheros diferentes y no todos mezclados en /var/log/pve-firewall.log. Saludos.

    • Hector Suarez Planas dijo:

      Saludos, Roberto.

      Primero que todo, gracias por su comentario.

      Desgraciadamente no hay opción para ello (al menos hasta esta versión 4.3 que sepa yo). Normalmente Iptables guarda todo el log del cortafuegos en un único archivo. Así pasa con varios de los sistemas que he visto, a excepción del pfsense que no sé cómo lo guarda.

      En su caso, quizás, hayan dos variantes de solución:

      1.- Modificar directamente el código fuente del módulo PVE-Firewall para añadirle esa característica.
      2.- Utilizar un script externo que procese el archivo de log original y de como resultado lo que se desea.

      No sé, es lo que se me ocurre en este momento.

      Espero le sirva. Suerte con ello. 🙂

  4. Efraín Landera dijo:

    Te lo curraste, ya lo tengo funcionado hace unos años, pero ni modo a lograr tal manual, sirve de apoyo a dudas y para otros colegas, saludos.

    • Hector Suarez Planas dijo:

      Saludos, Efraín.

      Primero que todo, gracias por su comentario.

      Felicidades en su caso. Sé que se podía hacer usando Shorewall o similar. No obstante, el esquema de filtrado en que basaron el módulo PVE-Firewall está muy bien pensado. A partir de la versión 3.3 se añadió esta característica de cortafuegos.

      De todas formas estoy en medio del proceso de modificación de todas las reglas que uso, dado que las basaré en grupos de seguridad. No me gusta tener reglas sueltas. Cuando lo tenga completado, montaré un lab para adaptarlo, para luego confeccionar el manual correspondiente.

      Espero le sirva. 🙂

  5. Buenas noches desde el 2017 hermano mio, muy buen aporte, un excelente manual, diria que inmejorable.

    Te escribo porque tengo el siguiente problema, tras activar el firewall todas las reglas funcionan cojonuda mente, pero a la hora de acceder a Internet desde las maquinas, los DNS no me resuelve, pero si tengo acceso por RPD o SSH sin problemas.

    Cual creéis que puede ser el problema, dado que si desactivo el Firewall del cluster, si que funciona DNS en todas las maquinas.

    Muchas gracias de antemano y un gran saludo.

    • Hector Suarez Planas dijo:

      Saludos, Mario.

      Primero que todo, agradecido por sus comentario y elogios.

      Con el cortafuegos, o módulo PVE-Firewall, de Proxmox VE hay que tener cuidado. Normalmente la política por defecto que usa es ACCEPT para el tráfico saliente, y DROP para el entrante.

      Ahora bien, hace poco (finales del año 2016) hice una nueva variante de configuración de las reglas del cortafuegos, la misma basada en IPSets. Eso porque durante una inspección a una de las empresas que atendía vi algo parecido. Ahí fue donde me di cuenta que el colega administrador había interpretado mejor el contenido de la Wiki de como lo había hecho yo. Entonces le pedí un ejemplo de sus reglas para hacer las mías por dicha variante.

      Antes de volcar las reglas en el código, tuve que emborrotonar cerca de 10 hojas por cada cara. Una vez terminada la planificación, monté todo y fue depurar poco a poco.

      Entonces, de lo que me comenta, no entiendo por qué se cae el DNS. Le digo porque a mi no me pasó eso.

      Sugiero revise muy bien ese tema nuevamente.

      Espero le sirva. 😀

Responder a Scriptmaster Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *