Como configurar o firewalld em distribuições baseadas em Rhel

Como configurar o firewalld em distribuições baseadas em Rhel

Filtro de rede Como todos sabemos, é um firewall no Linux. Firewalld é um daemon dinâmico para gerenciar firewalls com suporte para zonas de rede. Na versão anterior, RHEL & CENTOS Temos usado iptables como daemon para estrutura de filtragem de pacotes.

Em versões mais recentes de distribuições baseadas em RHEL, como Fedora, Rocky Linux, CentOS Stream, Almalinux, e OpenSuse - o iptables A interface está sendo substituída por Firewalld.

[Você também pode gostar: 10 firewalls de segurança de código aberto úteis para sistemas Linux]

É recomendado começar a usar Firewalld em vez de iptables Como isso pode interromper no futuro. No entanto, iptables ainda são suportados e podem ser instalados com o comando yum. Não podemos manter Firewalld e iptables ambos no mesmo sistema que podem levar a conflitos.

Em iptables, costumávamos configurar como ENTRADA, SAÍDA & Correntes para a frente mas aqui em Firewalld, o conceito usa Zonas. Por padrão, existem diferentes zonas disponíveis em Firewalld, que será discutido neste artigo.

O zona básica que são como zona pública e zona privada. Para fazer as coisas em dia Firewalld.

Por padrão, existem muitos serviços disponíveis, um dos melhores recursos de Firewalld IS, ele vem com serviços predefinidos e podemos tomar esses serviços como exemplo para adicionar nossos serviços simplesmente copiando-os.

Firewalld Funciona muito bem com IPv4, IPv6, e Pontes Ethernet também. Podemos ter um tempo de execução separado e uma configuração permanente no firewalld.

Vamos começar como trabalhar com zonas e criar nossos próprios serviços e um uso muito mais emocionante de Firewalld em Linux.

Nosso ambiente de teste

Sistema operacional : Red Hat Enterprise Linux Release 9.0 (arado) Endereço de IP : 192.168.0.159 Nome de anfitrião : Tecmint-Rhel9 
RHEL 9 Sistema de teste

Etapa 1: Instalando o Firewalld em sistemas baseados em Rhel

1. Firewalld o pacote é instalado por padrão em RHEL, Fedora, Rocky Linux, CentOS Stream, Almalinux, e OpenSuse. Caso contrário, você pode instalá -lo usando o seguinte comando yum.

# yum install firewalld -y 
Instale o firewalld no Linux

2. Depois de Firewalld o pacote foi instalado, é hora de verificar se o iptables O serviço está em execução ou não, se estiver em execução, você precisa parar e mascarar (não usar mais) o iptables serviço com os comandos abaixo.

# status SystemCtl iptables # SystemCtl Stop Iptables # SystemCtl Mask iptables 
Desative iptables no Linux

Etapa 2: Compreendendo os componentes do firewalld (zonas e regras)

3. Antes de seguir para Firewalld Configuração, eu gostaria de discutir cada zonas. Por padrão, existem algumas zonas disponíveis. Precisamos atribuir a interface à zona. Uma zona define a zona que era confiável ou negada no nível da interface para obter uma conexão. Uma zona pode conter serviços e portas.

Aqui, vamos descrever cada zonas disponíveis em Firewalld.

  • Ponto de largada: Quaisquer pacotes de entrada são descartados se usarmos uma zona de gota. É o mesmo que usamos para adicionar iptables -j cair. Se usarmos a regra de drop, significa que não há resposta, apenas as conexões de rede de saída estarão disponíveis.
  • Zona de bloco: Block Zone negará que as conexões de rede recebidas são rejeitadas com um ICMP-Host Proibido. Somente conexões estabelecidas no servidor serão permitidas.
  • Zona pública: Para aceitar as conexões selecionadas, podemos definir regras na zona pública. Isso permitirá apenas que a porta específica seja aberta em nosso servidor, outras conexões serão descartadas.
  • Zona externa: Esta zona atuará como opções de roteador com disfarces que outras conexões serão retiradas e não aceitarão, e apenas conexões especificadas serão permitidas.
  • Zona DMZ: Se precisarmos permitir o acesso a alguns dos serviços ao público, você poderá defini -lo na zona DMZ. Isso também tem a característica de apenas conexões de entrada selecionadas sendo aceitas.
  • Zona de trabalho: nesta zona, podemos definir apenas redes internas i.e. O tráfego de redes privadas é permitido.
  • Zona doméstica: Esta zona é usada especialmente em áreas domésticas, podemos usar essa zona para confiar nos outros computadores nas redes para não prejudicar seu computador, pois em todas as zonas. Isso também permite apenas as conexões de entrada selecionadas.
  • Zona interna: Este é semelhante à zona de trabalho com conexões permitidas selecionadas.
  • Zona confiável: Se definirmos a zona confiável, todo o tráfego será aceito.

Agora você tem uma idéia melhor sobre zonas, agora vamos descobrir zonas disponíveis e zonas padrão e listar todas as zonas usando os seguintes comandos.

Listar zonas de firewalld

# firewall-cmd-get-zones 
Lista zonas de firewalld disponíveis

Listar a zona padrão do firewalld

# Firewall-CMD-Get-Default-Zone 
Listar a zona padrão do firewalld

Liste todas as zonas de firewalld

# firewall-cmd-list-all-zonas 
Listar zonas de firewalld

Observação:. Se as zonas tiverem regras ricas, serviços ou portas ativados também serão listados com as respectivas informações da zona.

Etapa 3: Configurando a zona de firewalld padrão

4. Se você deseja definir a zona padrão como interna, externa, soltar, trabalhar ou qualquer outra zona, você pode usar o comando abaixo para definir a zona padrão. Aqui usamos o “internoZona como padrão.

# firewall-cmd--def-default-zone = interno 

5. Depois de definir a zona, verifique a zona padrão usando o comando abaixo.

# Firewall-CMD-Get-Default-Zone 
Definir zona de firewalld padrão

6. Aqui, nossa interface é ENP0S3, Se precisarmos verificar a zona em que a interface é delimitada, podemos usar o comando abaixo.

# firewall-cmd --get-zone-of-interface = ENP0S3 
Verifique a zona do firewalld da interface de rede

7. Outra característica interessante do firewalld é 'ICMptype'é um dos tipos ICMP suportados pela Firewalld. Para obter a lista de tipos de ICMP suportados, podemos usar o comando abaixo.

# firewall-cmd-get-icmptypes 
Listar os tipos de Firewalld ICMP

Etapa 4: Criando serviços próprios no firewalld

8. Os serviços são um conjunto de regras com portas e opções que são usadas por Firewalld. Serviços que estão ativados serão carregados automaticamente quando o Firewalld O serviço está em funcionamento.

Por padrão, muitos serviços estão disponíveis, para obter a lista de todos os serviços disponíveis, use o seguinte comando.

# Firewall-CMD-Get-Services 
Listar serviços de firewalld

9. Para obter a lista de todos os serviços disponíveis padrão, vá para o seguinte diretório, aqui você receberá a lista de serviços.

# CD/usr/lib/firewalld/Services/ 
Listar serviços de firewalld padrão

10. Para criar seu próprio serviço, você precisa defini -lo no local seguinte. Por exemplo, aqui quero adicionar um serviço para Rtmp porta 1935, primeiro faça uma cópia de qualquer um dos serviços.

# CD/etc/firewalld/Service/ # cp/usr/lib/firewalld/Services/ssh.xml/etc/firewalld/serviços/ 

E então, navegue até o local em que nosso arquivo de serviço foi copiado, renomeie o arquivo 'ssh.xml' para 'rtmp.xml'Como mostrado na imagem abaixo.

# CD/etc/firewalld/Services/ # MV SSH.XML RTMP.xml # ls -l rtmp.xml 
Crie serviços no firewalld

11. Em seguida, abra e edite o arquivo como Cabeçalho, Descrição, Protocolo, e Porta número, que precisamos usar para o Rtmp serviço como mostrado na imagem abaixo.

Configure o serviço Firewalld

12. Para fazer essas alterações ativar, reinicie o serviço Firewalld ou recarregue as configurações.

# Firewall-CMD--Reload 

13. Para confirmar, se um serviço é adicionado ou não, execute o comando abaixo para obter uma lista de serviços disponíveis.

# Firewall-CMD-Get-Services 
Confirme o serviço adicionado no firewall

Etapa 5: atribuindo serviços a zonas de firewalld

14. Aqui vamos ver como gerenciar o firewall usando o comando firewall-cmd. Para conhecer o estado atual do firewall e todas as zonas ativas, digite o seguinte comando.

# firewall-cmd-state # firewall-cmd --get-attive-zonas 
Verifique o status do firewalld

15. Para obter a zona pública para interface ENP0S3, Esta é a interface padrão, que é definida em /etc/firewalld/firewalld.conf Arquivo AS DefaultZone = público.

Para listar todos os serviços disponíveis nesta zona de interface padrão.

# Firewall-CMD-Get-Service 
Listar serviços de firewalld

Etapa 6: Adicionando serviços às zonas de firewalld

16. Nos exemplos acima, vimos como criar nossos próprios serviços, criando o rtmp serviço, aqui veremos como adicionar o rtmp serviço para a zona também.

# firewall-cmd --add-service = rtmp 

17. Para remover a zona adicionada, digite.

# firewall-cmd-zone = public--remove-service = rtmp 

A etapa acima foi apenas um período temporário. Para torná -lo permanente, precisamos executar o comando abaixo com a opção -permanente.

# firewall-cmd --add-service = rtmp --permanent # firewall-cmd--reload 

18. Defina regras para o alcance da fonte de rede e abra qualquer uma das portas. Por exemplo, se você deseja abrir um intervalo de rede, digamos '192.168.0.0/24'e porto'1935'Use os seguintes comandos.

# firewall-cmd --permanent --Add-source = 192.168.0.0/24 # firewall-cmd --permanent --add-port = 1935/tcp 

Certifique -se de recarregar o serviço Firewalld após adicionar ou remover quaisquer serviços ou portas.

# firewall-cmd--reload # firewall-cmd-list-all 
Adicionar serviços ao firewalld

Etapa 7: Adicionando regras ricas em firewalld para o alcance da rede

19. Se eu quiser permitir que os serviços como HTTP, HTTPS, VNC-Server e PostgreSQL, eu uso as seguintes regras. Primeiro, adicione a regra e torne -a permanente e recarregue as regras e verifique o status.

# firewall-cmd --dd-rico-rico 'regra família = "ipv4" endereço de origem = "192.168.0.0/24 "Nome do serviço =" http "aceita ' # firewall-cmd --add-rico-rico' regra família =" ipv4 "endereço de origem =" 192.168.0.0/24 "Nome do serviço =" http "Aceitar '--permanent # firewall-cmd --dd-rico-regra' regra família =" ipv4 "endereço de origem =" 192.168.0.0/24 "Nome do serviço =" https "aceita ' # firewall-cmd --dd-rico-rico' regra família =" ipv4 "endereço de origem =" 192.168.0.0/24 "Nome do serviço =" https "aceita '--permanent # firewall-cmd --dd-rico-regra' regra família =" ipv4 "endereço de origem =" 192.168.0.0/24 "Nome do serviço =" vnc-server "aceita ' # firewall-cmd --dd-rico-rico' regra família =" ipv4 "endereço de origem =" 192.168.0.0/24 "Nome do serviço =" vnc-sever "aceitou '--permanent # firewall-cmd --add-rico-rular' regra família =" ipv4 "endereço de origem =" 192.168.0.0/24 "Nome do serviço =" PostGresql "Aceitar ' # firewall-cmd --dd-rico-rico' regra família =" ipv4 "endereço de origem =" 192.168.0.0/24 "Nome do serviço =" PostGresql "Acept '--Permanent 

Agora, o alcance da rede 192.168.0.0/24 pode usar o serviço acima do meu servidor. A opção -permanente pode ser usado em todas as regras, mas temos que definir a regra e verificar com o acesso do cliente depois disso, precisamos torná -la permanente.

20. Depois de adicionar as regras acima, não se esqueça de recarregar as regras do firewall e listar as regras usando:

# firewall-cmd--reload # firewall-cmd-list-all 
Liste todas as regras ativas do firewalld

Para saber mais sobre o firewalld.

# Man Firewalld 

É isso, vimos como configurar um filtro de rede usando Firewalld em distribuições baseadas em Rhel, como Fedora, Rocky Linux, CentOS Stream, Almalinux, e OpenSuse.

Conclusão

Filtro de rede é a estrutura para um firewall para cada distribuição Linux. De volta a cada RHEL e CENTOS edição, usamos iptables Mas em versões mais recentes, eles introduziram Firewalld. É mais fácil de entender e usar o firewalld. Espero que você tenha gostado do artigo.