Configurando Firewall do ProxmoxVE

De Wiki BPF
Ir para navegação Ir para pesquisar

Diversas empresas tem o hábito de utilizar o Proxmox (ou outros virtualizadores) com IP Público e não possuem políticas de segurança para restrição de acesso, muitas por falta de conhecimento e outras pela desorganização da gestão. Independente do motivo, esse tutorial tem o único intuito de incentivar e ensinar os primeiros passos de muitos para que as empresas possam tornar os seus ambientes mais seguros.

Firewall do Proxmox

O Firewall do Proxmox trabalha em três níveis, Datacenter > PVE > Host. Para que as regras funcionem nos Hosts ou no PVE é obrigatório que ele esteja configurado a nível de Datacenter.

Em nosso cenário o intuito é a configuração para proteger o PVE, então trabalharemos nos níveis de Datacenter e PVE. Posteriormente você pode explorar as opções de configuração em grupos de políticas ou regras específicas que atendam as necessidades das Máquinas Virtuais e Containers.

Observação: Apesar do tutorial mostrar apenas IPv4 nas configurações, o Firewall do PVE é TOTALMENTE compatível com o IPv6 e você DEVE implementar ele em sua infraestrutura.

Iniciando a Configuração

1 - Acesse o Menu Firewall > Options.

Altere as três policies Input, Output e Forward para ACCEPT, pois iremos filtrar e dropar tudo mais a frente.

Firewall-input.png

2 - Acesse o submenu Security Group. Ao acessar o Security Group procure pelo menu Group crie um novo perfil chamado gerencia, adicione também uma descrição para facilitar a identificação futura.

3 - Crie as novas Regras definindo o Input.

Agora com o novo Group criado, selecione ele e vá até o menu Rules ao lado para poder criar todas as regras.

Inicialmente criaremos duas regras e será necessário definir quais IPs/Prefixos, Portas, Protocolo etc serão permitidos, em nosso cenário iremos usar da maneira demonstrada abaixo.

Lembrando que a ordem de criação das regras é importante para que seja lida da maneira correta pelo firewall. Sempre que você adicionar uma nova regras no Firewall do Proxmox, ela irá saltar automaticamente para o topo.

Regra 02 (Permitindo acesso de Gerencia e monitoramento ao PVE)

Direction: in
Action: ACCEPT
Enable: marcado
Protocol: tcp
Source: 192.0.2.10,203.0.113.0/24 (IPs ou Prefixos IPv4/IPv6 permitidos da sua rede)
DEs. port.: 8006,22,5900:5999,10050,10051 (porta de acesso webm, SSH, VNC e Zabbix)
Comment: Insira um comentário explicando o que essa regra faz
Log level: nolog (você pode alterar para monitorar)

Regra 01 (Permitindo o ICMP ao servidor para monitoramento e troubleshooting)

Direction: in
Action: ACCEPT
Enable: marcado
Protocol: icmp
Source: 192.0.2.10,203.0.113.0/24 (IPs ou Prefixos IPv4/IPv6 permitidos da sua rede)
ICMP type: echo-reply
Comment: Insira um comentário explicando o que essa regra faz
Log level: nolog (você pode alterar para monitorar)

4 - Acesse o menu do PVE e navegue até o menu Firewall.

Aqui será preciso ter MUITA atenção para criar a regra de DROP e adicionar o grupo que criamos no passo 2. É aqui que a mágica acontece!

Clique em ADD e adicione uma nova regra dropando tudo, mas ainda NÃO marque ela como Enable.

Regra DROP 01

Direction: in
Action: DROP
Enable: desmarcado
Protocol: icmp
Comment: Insira um comentário explicando o que essa regra faz
Log level: nolog (você pode alterar para monitorar)

Regra Security Group 2

Clique em Insert: Security Group, na nova janela que irá abrir configure igual o exemplo abaixo.

Security Group: gerencia
Enable: marcado
Comment: Adicione um comentário explicando o que essa regra faz
  • 0 é o type group com Action gerencia
  • 1 Type in com Action DROP

Se tudo estiver ok, habilite as novas regras criadas clicando no box On.

5 - Ainda no menu Firewall do PVE vá até o submenu Options.

5.1 - No submenu Options você deve habilitar o Firewall clicando duas vezes em cima e marcando o box. Por enquanto, as regras ainda não terão efeito pelo motivo explicado anteriormente da ordem de Firewall do Proxmox.

5.2 - Agora volte ao menu Firewall do Datacenter e também habilite o Firewall marcando o box, depois realizar a ação o Firewall estará habilitado e funcionando em todos os níveis de Datacenter e PVE.

Validando as configurações

Logo depois da implementação é importante verificar se o Firewall está atuando corretamente na proteção do Servidor Proxmox, para isso iremos realizar alguns testes utilizando o terminal do Linux e Windows. Preste bem atenção na sintaxe dos comandos para executar corretamente.

Linux

Você pode utilizar o nc (netcat) ou nmap para verificar se as portas estão fechadas.

Netcat IPv4

nc -vz <IP-aqui> <Porta-aqui>

Netcat IPv6

nc -6 -vz <IP-aqui> <Porta-aqui>

Nmap IPv4

nmap -p <Porta-aqui> <IP-aqui>

Nmap IPv6

nmap -6 -p <Porta-aqui> <IP-aqui>

Resultado típico do Nmap:

  • open: porta aberta
  • closed: porta fechada
  • filtered: bloqueada por firewall

Windows

Já no ambiente Windows nós temos a alternativa do PowerShell.

PowerShell IPv4

Test-NetConnection <IP-aqui> -Port <Porta-aqui>

PowerShell IPv6

Test-NetConnection <IP-aqui> -Port <Porta-aqui>

Resultado típico:

  • TcpTestSucceeded : True: porta aberta
  • False: porta fechada ou filtrada
Teste do PowerShell com status True
Teste do PowerShell com status False

Referências:

Documentação ProxmoxVE: https://pve.proxmox.com/pve-docs-7/chapter-pve-firewall.html

Autor: Erick Andrade