Como instalar e configurar Firewalld no CentOS e Ubuntu

A segurança é uma das ações que deve estar sempre presente não só nas organizações, mas também a nível pessoal quando trabalhamos com um sistema operacional, ou seja, embora existam várias ferramentas para aumentar a segurança e privacidade ao usar um sistema, o operacional o próprio sistema inclui uma função extra, como o firewall.

A função essencial de um firewall é criar e gerenciar regras de entrada e saída para proteger todo o processo de conexão de rede. Assim, pacotes suspeitos ou não confiáveis ​​são impedidos de entrar em nosso computador e causar qualquer tipo de dano, como a inserção de malware ou o sequestro de informações.

Quando trabalhamos com sistemas Linux, um dos mais seguros, temos utilitários open source que nos ajudam a tornar esse processo de proteção muito mais completo e um desses utilitários é o Firewalld. Solvetic irá explicar o que é Firewalld e como podemos instalá-lo e usá-lo em duas das distribuições mais usadas atualmente, como CentOS e Ubuntu.

ObservaçãoO processo de configuração é idêntico para ambos os sistemas

O que é FirewalldFirewalld (daemon de firewall), é um utilitário cujo objetivo é fornecer um firewall gerenciado dinamicamente que tem suporte para zonas de rede nas quais o nível de confiança das conexões de rede ou interfaces a serem utilizadas é definido, Firewalld é compatível com os endereços IPv4, Configurações de firewall IPv6, pontes Ethernet e pools de endereços IP.

Firewalld nos oferece uma interface de serviços ou aplicativos para adicionar regras de firewall diretamente, facilitando as tarefas de controle. Uma das principais vantagens de usar Firewalld é que todas as alterações a serem feitas podem ser feitas em tempo real no ambiente de execução sem ter que reiniciar o serviço ou Daemon como acontece com muitos utilitários.

Firewalld integra uma interface D-Bus adequada para a gestão dos serviços, aplicações e administração da configuração do firewall, que pode ser integrada com as ferramentas de configuração firewall-cmd, firewall-config e firewall-applet.

Recursos do FirewalldAlguns dos recursos que encontramos ao usar o Firewalld são:

  • Suporte para IPv4, IPv6, bridging e ipset.
  • Suporte a IPv4 e IPv6 NAT.
  • Firewall ou zonas de firewall.
  • API D-Bus completa.
  • Serviço simples, porta, protocolo, porta de origem, mascaramento, encaminhamento de porta, filtro icmp, regra rica, interface e controle de endereço de origem em zonas usadas.
  • Interface direta para gerenciamento.
  • Função de bloqueio que cria uma lista branca de aplicativos que podem modificar o firewall.
  • Carregamento automático de módulos do kernel Linux.
  • Integração com o Puppet.
  • Regras de firewall cronometradas em zonas.
  • Registro simples de pacotes negados.
  • Ferramenta de configuração gráfica usando gtk3.
  • Applet usando Qt4.

DistribuiçõesAs distribuições básicas nas quais o Firewalld pode ser implementado são:

  • RHEL 7, CentOS 7
  • Fedora 18 e superior

FormuláriosOs aplicativos e bibliotecas que oferecem suporte ao firewalld como uma ferramenta de gerenciamento de firewall incluem:

  • Gerente da rede
  • libvirt
  • docker
  • fail2ban

É importante que antes de entrar em detalhes sobre como instalar e usar o Firewalld saibamos um pouco mais sobre ele, o Firewalld é composto de três camadas que são:

  • Camada principal (camada central) que é responsável por gerenciar a configuração e serviços como iptables, ip6tables, ebtables, ipset e o carregador de módulo.
  • Interface D-Bus: principal meio de alteração e criação de configurações de firewall.
  • Back-ends que permitem interagir com o netfilter (o módulo do kernel nativo usado para firewall) e alguns são contados como iptables, ip6tables, ebtables, ipset, nft, linnftables, etc.

A interface firewalld D-Bus é a maneira mais vital de criar e editar configurações de firewall. Essa interface é usada por todas as ferramentas online integradas ao firewalld, como firewall-cmd, firewall-config e firewall-applet, a linha firewall-offline-cmd não se comunica diretamente com o firewalld, mas edita e cria os arquivos de configuração do firewalld diretamente através do kernel firewalld com os drivers IO.

O arquivo de configuração global para firewalld está localizado em /etc/firewalld/firewalld.conf e as funções de firewall são configuradas no formato XML.

Firewalld faz uso de zonas que são aquelas que definem o nível de confiança que a conexão de rede a ser usada, a interface ou link de endereço de origem terá, e a mesma zona pode ser usada para muitas conexões de rede, interfaces e fontes.

As zonas disponíveis no Firewalld são:

DerrubarEsta é a zona com o nível de confiança mais baixo porque todos os pacotes de entrada são rejeitados automaticamente e só permitem que os pacotes de saída sejam habilitados.
QuadraAo usar esta zona, o nível de confiança é semelhante a Drop, mas difere apenas no sentido de que os pacotes de entrada são rejeitados usando icmp-host-forbidden para IPv4 e icmp6-adm-forbidden para mensagens IPv6.
PúblicoCom esta zona, o nível de confiança se refere a redes públicas não confiáveis, portanto, só aceita conexões confiáveis.
ExternoÉ o nível definido quando utilizamos o Firewall como gateway e seu mascaramento é habilitado pelos roteadores.
DMZÉ uma zona onde o nível de confiança se aplica a equipamentos localizados em zona DMZ (Desmilitarizada), ou seja, há acesso público restrito à rede interna. Ele só aceita conexões aceitas.
TrabalharComo o próprio nome indica, este nível é usado em áreas de trabalho permitindo que os computadores da rede tenham acesso a ele.
casaAo usar este nível, estamos falando de um ambiente doméstico e a maioria dos computadores da rede são aceitos
internoEste tipo de nível se aplica a redes internas para que todos os computadores da rede local sejam aceitos.
ConfiávelSignifica confiança, o que implica que é o nível mais alto e confia em todas as conexões de entrada.

Para configurar ou adicionar zonas, podemos usar uma das seguintes interfaces de configuração firewalld disponíveis:

  • Firewall-config da ferramenta de configuração gráfica.
  • Ferramenta de linha de comando Firewall-cmd.
  • Interface programática D-BUS.
  • Crie, copie ou edite um arquivo de zona em qualquer um dos diretórios de configuração, como: / etc / firewalld / zonas para arquivos de configuração personalizados e criados pelo usuário ou / usr / lib / firewalld / zonas para configurações padrão e de fallback.

1. Como instalar e gerenciar Firewalld no Linux

Passo 1
No caso de usar CentOS 7, o pacote firewalld é pré-instalado e pode ser verificado com o seguinte comando:

 rpm -qa firewalld
No caso do Ubuntu, devemos instalá-lo com o seguinte comando:
 sudo apt install firewalld

PROLONGAR

Entramos com a letra S para confirmar o download e instalação do Firewalld.

Passo 2
Firewalld é um serviço regular do systemd que pode ser gerenciado por meio do comando systemctl da seguinte maneira:

 sudo systemctl start firewalld (permite que você inicie o serviço) sudo systemctl enable firewalld (habilita o serviço durante a inicialização do sistema) sudo systemctl status firewalld (permite que você veja o status do serviço)

PROLONGAR

etapa 3
Após iniciar o serviço firewalld, podemos verificar se o daemon está rodando ou não no Linux, para isso devemos utilizar a ferramenta firewall-cmd, executamos o seguinte:

 sudo firewall-cmd -state

PROLONGAR

2. Como gerenciar zonas no Firewalld CentOS e Ubuntu

Passo 1
Para obter uma lista de todos os serviços e zonas de firewall disponíveis, devemos executar os seguintes comandos:
Para ver as zonas:

 sudo firewall-cmd --get-zones

PROLONGAR

Passo 2
Para ver os serviços que iremos executar:

 sudo firewall-cmd --get-services

PROLONGAR

etapa 3
A zona padrão é a zona implementada para cada recurso firewalld que não está vinculado a outra zona. É possível obter a zona padrão definida para conexões de rede e interfaces executando o seguinte:

 sudo firewall-cmd --get-default-zone

PROLONGAR

Passo 4
Se quisermos estabelecer outra zona padrão devemos fazer uso do seguinte comando, deve-se notar que se adicionarmos a opção --permanent, a configuração é estabelecida permanentemente, podemos executar qualquer uma das seguintes opções:

 sudo firewall-cmd --set-default-zone = external
ou
 sudo firewall-cmd --set-default-zone = external -permanent
Passo 4
Em seguida, aplicamos as alterações executando:
 sudo firewall-cmd -reload

PROLONGAR

Etapa 5
Se o objetivo é adicionar uma interface a uma zona, por exemplo, podemos executar o seguinte:

 sudo firewall-cmd --zone = home --add-interface = enp0s3
Neste caso, adicionamos a interface enp0s3 (LAN) à zona inicial.

PROLONGAR

Etapa 6
Deve-se notar que uma interface só pode ser adicionada a uma única zona, em vez disso, pode ser movida para outra zona, para isso usaremos a opção --change-interface ou removeremos da zona anterior com a opção -remove-interface e, em seguida, adicione-o à nova zona, por exemplo:

 sudo firewall-cmd --zone = public --add-interface = enp0s3 sudo firewall-cmd --zone = public --change-interface = enp0s3
Com Firewalld é possível usar várias zonas ao mesmo tempo, se queremos obter uma lista de todas as zonas ativas com as funções habilitadas, como interfaces, serviços, portas, protocolos, executamos o seguinte:
 sudo firewall-cmd --get-active-zones

PROLONGAR

Etapa 7
Para obter mais informações sobre as zonas, como o que foi habilitado ou eliminado, podemos usar um destes comandos:

 sudo firewall-cmd --zone = home --list-all
OU
 sudo firewall-cmd --info-zone public

PROLONGAR

Etapa 8
Outra opção útil para usar com Firewalld é --get-target, isso mostra o alvo de uma zona permanente, os alvos podem ser padrão, ACCEPT, DROP, REJECT, para verificar o alvo de várias zonas podemos usar um dos seguintes comandos :

 sudo firewall-cmd --permanent --zone = public --get-target sudo firewall-cmd --permanent --zone = bloco --get-target sudo firewall-cmd --permanent --zone = dmz --get- target sudo firewall-cmd --permanent --zone = externo --get-target sudo firewall-cmd --permanent --zone = drop --get-target

3. Como bloquear ou abrir portas no Firewalld Linux CentOS e Ubuntu


Para abrir uma porta através do firewalld, basta adicioná-la na zona com a opção --add-port, se a zona não for explicitamente especificada, ela será habilitada na zona padrão.

Passo 1
Por exemplo, para adicionar as portas 80 e 443 que permitem o tráfego de entrada da web por meio dos protocolos HTTP e HTTPS, vamos executar o seguinte:

 sudo firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp

PROLONGAR

Passo 2
Agora vamos recarregar o firewalld e verificar as funções habilitadas na zona pública:

 sudo firewall-cmd --reload sudo firewall-cmd --info-zone public

PROLONGAR

etapa 3
Se quisermos bloquear uma porta no firewalld, devemos usar a opção --remove-port, neste exemplo:

 sudo firewall-cmd --zone = public --permanent --remove-port = 80 / tcp --remove-port = 443 / tcp

4. Como bloquear ou abrir serviços no Firewalld CentOS e Ubuntu


Para o processo de habilitação de um serviço no Firewalld devemos habilitá-lo utilizando a opção --add-service, lembrando que, se omitirmos a zona, será utilizada a zona default.

Passo 1
Por exemplo, para habilitar o serviço http em uma zona pública, executamos:

 sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd -reload

PROLONGAR

Passo 2
Com o parâmetro -remove-service, podemos remover o serviço da zona atribuída:

 sudo firewall-cmd --zone = public --permanent --remove-service = http sudo firewall-cmd -reload

PROLONGAR

5. Como habilitar e desabilitar o mascaramento de IP através do Firewalld Linux


IP masquerading, ou IPMASQ / MASQ) é um mecanismo NAT que permite que hosts em uma rede com endereços IP privados se comuniquem com a Internet através do endereço IP público atribuído ao servidor Linux usando o gateway IPMASQ.

Com essa máscara, o tráfego dos hosts invisíveis aparecerá em outros computadores na Internet como se viesse diretamente do servidor Linux.

Para verificar se o mascaramento está ativo ou não, executamos:

 sudo firewall-cmd --zone = public --query-masquerade
Então podemos adicionar uma zona como esta:
 sudo firewall-cmd --zone = public --add-masquerade
Para remover uma zona deste tipo de função, devemos executar o seguinte:
 sudo firewall-cmd --zone = public --remove-masquerade

6. Como habilitar e desabilitar a mensagem IMCP no Firewalld Linux


El protocolo ICMP (Internet Control Message Protocol - Protocolo de mensajes de control de Internet) es un protocolo que ha sido desarrollado con el fin de generar solicitudes de información o respuestas a esas solicitudes de información o en condiciones de error en todo el proceso de comunicación na rede.

Passo 1
No Firewalld é possível habilitar ou desabilitar mensagens ICMP, mas é recomendável validar todos os tipos ICMP compatíveis, para isso executamos:

 sudo firewall-cmd --get-icmptypes

PROLONGAR

Passo 2
Podemos adicionar ou bloquear um ICMP da seguinte maneira:

 sudo firewall-cmd --zone = home --add-icmp-block = echo-reply sudo firewall-cmd --zone = home --remove-icmp-block = echo-reply

PROLONGAR

etapa 3
Podemos ver todos os tipos de ICMP adicionados em uma zona usando a opção --list-icmp-blocks:

 sudo firewall-cmd --zone = home --list-icmp-blocks

7. Como habilitar ou não o modo de pânico no Firewalld Linux CentOS e Ubuntu


O modo de pânico é um modo especial integrado no Firewalld no qual todos os pacotes de entrada e saída são eliminados, e as conexões ativas irão expirar assim que for ativado, podemos habilitar este modo em situações de emergência onde há uma ameaça ao sistema e assim evitaremos qualquer conexão.

Passo 1
Para verificar o modo de pânico, usaremos a opção --query-panic e podemos ativá-lo com a opção sudo firewall-cmd --panic-on:

PROLONGAR

Passo 2
Para entender como funciona este modo, quando está desativado podemos fazer ping em um site e receberemos todas as solicitações enviadas, mas quando estiver ativado, veremos uma mensagem indicando uma falha temporária de conexão:

PROLONGAR

etapa 3
Para desativar este modo, executamos:

 sudo firewall-cmd --panic-off

8. Como bloquear Firewalld no Linux CentOS e Ubuntu

Passo 1
No Firewalld, os aplicativos ou serviços locais são capazes de alterar a configuração do firewall, se forem executados com privilégios de root, podemos controlar quais aplicativos podem solicitar alterações no firewall, adicionando-o à lista de permissões de bloqueio. Esta função é desabilitada por padrão e podemos habilitá-la ou desabilitá-la com o switch --lockdown-on ou -lockdown-off:

 sudo firewall-cmd --lockdown-on
OU
 sudo firewall-cmd --lockdown-off
Passo 2
Um método mais seguro é habilitar ou desabilitar esta função diretamente na edição do arquivo de configuração principal, já que às vezes firewall-cmd não existe na whitelist de bloqueio, para isso acessamos o arquivo de configuração:
 sudo nano /etc/firewalld/firewalld.conf

PROLONGAR

Lá localizamos a linha Lockdown = no e configuramos seu status para Lockdown = yes, salvamos as alterações usando as teclas Ctrl + O e saímos do editor usando Ctrl + X.

Firewalld é uma solução completa para adicionar várias regras e zonas às nossas distribuições Linux e, assim, adicionar melhores opções gerais de segurança ao sistema.

wave wave wave wave wave