Como configurar o firewalld em distribuições baseadas em Rhel
- 3207
- 959
- Randal Kuhlman
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-Rhel9RHEL 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 -yInstale 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 iptablesDesative 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-zonesLista zonas de firewalld disponíveis
Listar a zona padrão do firewalld
# Firewall-CMD-Get-Default-ZoneListar a zona padrão do firewalld
Liste todas as zonas de firewalld
# firewall-cmd-list-all-zonasListar 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-ZoneDefinir 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 = ENP0S3Verifique 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-icmptypesListar 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-ServicesListar 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.xmlCrie 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 Firewalld12. 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-ServicesConfirme 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-zonasVerifique 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-ServiceListar 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-allAdicionar 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-allListe 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.
- « 10 exemplos de comando TR no Linux
- Como usar o comando 'dir' com diferentes opções e argumentos no Linux »