---
tags: Linux, Firewalld
---
# Proteção contra portscan com firewalld

Com o aumento das ameaças cibernéticas nos últimos anos, o uso de firewalls em VPS ou servidores expostos é essencial para proteger esses sistemas contra tentativas de invasão, ou mesmo ampliar a segurança de servidores em sua rede. Como os servidores expostos estão conectados diretamente à internet, eles são particularmente vulneráveis a ataques cibernéticos. Os invasores podem tentar explorar vulnerabilidades no sistema, executar ataques de força bruta ou realizar varreduras de portas para encontrar serviços vulneráveis. Com o uso adequado de um firewall, é possível bloquear tráfego mal-intencionado e reduzir significativamente a probabilidade de um ataque bem-sucedido.
## Introdução ao firewalld
O uso de firewalls se tornou essencial para garantir a segurança de servidores. O firewall é uma barreira que impede o acesso não autorizado a uma rede ou servidor, filtrando o tráfego de entrada e saída. Neste contexto o Firewalld é uma das ferramentas de firewall mais populares no mundo Linux, e neste artigo, vamos explorar mais sobre essa ferramenta e como ela pode ajudar na segurança de seus servidores.
O Firewalld é um firewall dinâmico para sistemas operacionais Linux que foi introduzido no Red Hat Enterprise Linux 7. Ele é uma camada de gerenciamento para estruturas iptables (*agora nftables*), que é "quase um padrão" de firewall utilizado no Linux. Assim, o Firewalld oferece uma abordagem mais fácil, simples e eficiente para gerenciamento de firewalls **tables*. Entre outros recursos exclusivos, ele permite que você gerencie as regras através de zonas, que são *grupos* de conexões de rede com características semelhantes.
O Firewalld é configurado através de uma linha de comando ou através de uma interface gráfica chamada firewall-config. Através da interface gráfica, você pode facilmente criar e gerenciar regras de firewall para suas zonas, permitindo ou negando o acesso de determinados endereços IP ou portas e também suporta serviços pré-definidos, o que significa que você pode permitir ou bloquear o acesso a um serviço específico, como o SSH ou o HTTP. Isso simplifica o gerenciamento do firewall, pois você não precisa se preocupar com a configuração das portas e protocolos associados a cada serviço.
Outra característica importante do Firewalld é a capacidade de criar zonas personalizadas para atender às necessidades específicas de sua rede. Por exemplo, você pode criar uma zona para uma rede interna ou para um ambiente de teste e aplicar regras de firewall específicas para essa zona.
O Firewalld também tem a capacidade de monitorar e bloquear tentativas de conexão mal-intencionadas com a sua rede. Ele faz isso através da detecção de portscan, que é uma técnica utilizada pelos invasores para identificar portas abertas em uma rede ou servidor. O Firewalld pode detectar esses scans e bloquear automaticamente o IP do invasor, alias, veremos adiante como configurar este recurso.
Por fim, é importante mencionar que o Firewalld é altamente personalizável e pode ser integrado com outras ferramentas de segurança, como o SELinux (Security-Enhanced Linux). Isso permite que você tenha um nível ainda maior de segurança em seu ambiente.
Em resumo, o Firewalld é uma ferramenta poderosa e fácil de usar que pode ajudar a proteger sua rede contra ameaças cibernéticas. Ele fornece uma abordagem flexível para gerenciar regras de firewall e zonas de rede, e também pode detectar e bloquear tentativas de conexão mal-intencionadas. Se você ainda não está usando o Firewalld em seu servidor, é hora de considerar sua implementação para aumentar a segurança e proteger seus dados.
## Proteção contra portscan
Configurar a proteção contra portscan no Firewalld é uma forma eficaz de impedir ataques de varredura de portas em seu servidor. Para habilitar essa proteção automática, siga os passos abaixo:
### Passo 1: Verificar se o Firewalld está instalado e em execução.
Certifique-se de que o Firewalld esteja instalado e em execução em seu sistema Linux. Você pode verificar isso executando o seguinte comando no terminal:
```
sudo systemctl status firewalld
```
Se o Firewalld estiver em execução, você verá uma mensagem indicando que o serviço está ativo. Caso contrário, inicie o Firewalld com o seguinte comando:
```
sudo systemctl start firewalld
```
Aproveite e habilite o firewalld para inicialização automática:
```
sudo systemctl enable firewalld
```
### Passo 2: Habilitar a proteção contra portscan.
Para habilitar a proteção contra portscan, você precisa criar uma nova zona de firewall que tenha essa funcionalidade. Você pode fazer isso executando o seguinte comando:
```
sudo firewall-cmd --permanent --new-zone=scan
```
Este comando criará uma nova zona de firewall chamada "scan".
### Passo 3: Definir as configurações da zona "scan".
Depois de criar a zona "scan", é preciso definir as configurações específicas para habilitar a proteção contra portscan. Para fazer isso, execute:
```
sudo firewall-cmd --zone=scan --add-port=1-65535/tcp --permanent
sudo firewall-cmd --zone=scan --add-port=1-65535/udp --permanent
sudo firewall-cmd --zone=scan --add-rich-rule='rule protocol value="tcp" drop destination_port value="0-1023" log prefix="portscan drop" level="info"' --permanent
sudo firewall-cmd --zone=scan --add-rich-rule='rule protocol value="tcp" drop destination_port value="1024-65535" recent:check_seconds="60" recent:hit_count="4" recent:quiet_time="30" log prefix="portscan drop" level="info"' --permanent
```
O primeiro e segundo comando incluirá todas as portas TCP e UDP na a zona "scan". O terceiro comandos adiciona regras ricas que permitem que o Firewalld detecte e registre tentativas de varredura de portas *baixas* em seu servidor.
A última regra bloqueia tentativas de conexão para as portas TCP de 1024 a 65535, neste exemplo, se houverem mais de 4 tentativas em 60 segundos, com um intervalo de 30 segundos entre as tentativas. Claro, você pode ajustar isso como quiser. Todas as tentativas de conexão bloqueadas serão registradas no log do sistema.
### Passo 4: Recarregar as configurações do firewall.
Depois de configurar as novas regras para a zona "scan", é preciso recarregar as configurações do firewall para que as alterações entrem em vigor:
```
sudo firewall-cmd --reload
```
Conclusão:
Configurar a proteção contra portscan no Firewalld é uma maneira eficaz de impedir que invasores tentem varrer portas em seu servidor. Com as regras corretas configuradas, o Firewalld pode detectar e bloquear tentativas de conexão mal-intencionadas. Não se esqueça de atualizar e testar suas configurações regularmente.
Até a próxima.