Skip to content

Firewalld é uma ferramenta de gerenciamento de firewall para sistemas operacionais Linux. Ele fornece recursos de firewall agindo como um front-end para a estrutura netfilter do kernel do Linux. O backend padrão atual do firewalld é nftables. Antes da v0.6.0, iptables era o back-end padrão.

Notifications You must be signed in to change notification settings

josenilto/dev.firewall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 

Repository files navigation

🛠 Dev Firewall | Configurar um firewall usando firewalld

Firewalld é um software de gerenciamento de firewall disponível para muitas distribuições Linux, que atua como um frontend para os sistemas de filtragem de pacotes nftables ou iptables do Linux.

Neste guia, mostraremos como configurar um firewall firewalld para o seu servidor RHEL / CentOS 8 e abordaremos os fundamentos do gerenciamento do firewall com a firewall-cmdferramenta administrativa.

Como configurar um firewall usando firewalld no RHEL / CentOS 8

Conceitos básicos em firewalld

Antes de começarmos a falar sobre como realmente usar o firewall-cmdutilitário para gerenciar a configuração do firewall, devemos nos familiarizar com alguns conceitos que a ferramenta apresenta.

✅ Zonas

O firewalld daemon gerencia grupos de regras usando entidades chamadas zonas.

As zonas são conjuntos de regras que determinam qual tráfego deve ser permitido, dependendo do nível de confiança que você tem na rede.

As interfaces de rede são atribuídas a uma zona para ditar o comportamento que o firewall deve permitir.

Para computadores que podem se mover entre redes com frequência (como laptops), esse tipo de flexibilidade fornece um bom método de alterar suas regras, dependendo de seu ambiente.

Você pode ter regras rígidas que proíbem a maior parte do tráfego ao operar em uma rede WiFi pública, enquanto permite restrições mais relaxadas quando conectado à sua rede doméstica.

Para um servidor, essas zonas geralmente não são tão importantes porque o ambiente de rede raramente, ou nunca, muda.

Independentemente de quão dinâmico seu ambiente de rede possa ser, ainda é útil estar familiarizado com a ideia geral por trás de cada uma das zonas predefinidas para firewalld.

✅ As zonas predefinidas firewalldsão, em ordem de menos confiável para mais confiável :

  • Drop : O nível mais baixo de confiança.
    Todas as conexões de entrada são interrompidas sem resposta e apenas as conexões de saída são possíveis.
<?xml version="1.0" encoding="utf-8"?>
<zone target="DROP">
  <short>Drop</short>
  <description>
  Unsolicited incoming network packets are dropped. 
  Incoming packets that are related to outgoing network connections are accepted. 
  Outgoing network connections are allowed.
  </description>
</zone>
  • Block : Semelhante ao anterior, mas em vez de simplesmente eliminar as conexões, as solicitações de entrada são rejeitadas com uma mensagem icmp-host-prohibitedou icmp6-adm-prohibited.
<?xml version="1.0" encoding="utf-8"?>
<zone target="%%REJECT%%">
  <short>Block</short>
  <description>
  Unsolicited incoming network packets are rejected. 
  Incoming packets that are related to outgoing network connections are accepted. 
  Outgoing network connections are allowed.
  </description>
</zone>
  • Public : Representa redes públicas não confiáveis. sudo vim /usr/lib/firewalld/services/ssh.xml
    Você não confia em outros computadores, mas pode permitir conexões de entrada selecionadas caso a caso.
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>
  For use in public areas. You do not trust the other computers on networks to not harm your computer. 
  Only selected incoming connections are accepted.
  </description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
</zone>
  • External : Redes externas caso você esteja usando o firewall como gateway.
    Ele é configurado para mascaramento de NAT para que sua rede interna permaneça privada, mas acessível.
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>External</short>
  <description>
  For use on external networks. You do not trust the other computers on networks to not harm your computer. 
  Only selected incoming connections are accepted.
  </description>
  <service name="ssh"/>
  <masquerade/>
</zone>
  • Internal : O outro lado da zona externa, usado para a parte interna de um gateway.
    Os computadores são bastante confiáveis e alguns serviços adicionais estão disponíveis.

  • Dmz : Usado para computadores localizados em uma DMZ (computadores isolados que não terão acesso ao resto da rede).
    Apenas certas conexões de entrada são permitidas.

  • Work : Usado para máquinas de trabalho. Confie na maioria dos computadores da rede.
    Mais alguns serviços podem ser permitidos.

  • Home : Um ambiente doméstico. Geralmente implica que você confia na maioria dos outros computadores e que mais alguns serviços serão aceitos.

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Home</short>
  <description>
  For use in home areas. 
  You mostly trust the other computers on networks to not harm your computer. 
  Only selected incoming connections are accepted.
  </description>
  <service name="ssh"/>
  <service name="mdns"/>
  <service name="samba-client"/>
  <service name="dhcpv6-client"/>
</zone>
  • Trusted : Confia em todas as máquinas da rede. A mais aberta das opções disponíveis e deve ser usada com moderação.
<?xml version="1.0" encoding="utf-8"?>
<zone target="ACCEPT">
  <short>Trusted</short>
  <description>
  All network connections are accepted.
  </description>
</zone>

Para usar o firewall, podemos criar regras e alterar as propriedades de nossas zonas e, em seguida, atribuir nossas interfaces de rede às zonas mais apropriadas.

✅ Permanência de regra

No firewalld, as regras podem ser aplicadas ao conjunto de regras de tempo de execução atual ou tornar-se permanentes.
Quando uma regra é adicionada ou modificada, por padrão, apenas o firewall em execução no momento é modificado.
Após a próxima reinicialização - ou recarga do firewalldserviço - apenas as regras permanentes permanecerão.

A maioria das firewall-cmd operações pode receber um --permanent sinalizador para indicar que as alterações devem ser aplicadas à configuração permanente.

Além disso, o firewall em execução no momento pode ser salvo na configuração permanente com o firewall-cmd --runtime-to-permanent comando.

Essa separação entre o tempo de execução e a configuração permanente significa que você pode testar as regras com segurança em seu firewall ativo e, em seguida, recarregar para reiniciar se houver problemas.

✅ Instalando e habilitando firewalld

sudo yum install firewalld
sudo systemctl enable firewalld
sudo reboot
sudo firewall-cmd --state


🚧 Tutorial de instalação 🚀 Em construção... 🚧

About

Firewalld é uma ferramenta de gerenciamento de firewall para sistemas operacionais Linux. Ele fornece recursos de firewall agindo como um front-end para a estrutura netfilter do kernel do Linux. O backend padrão atual do firewalld é nftables. Antes da v0.6.0, iptables era o back-end padrão.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published