#28 - Firewall on Linux CentOS 8
Índice:
- Pré-requisitos
- Conceitos básicos do firewalld
- Zonas de firewall
- Serviços de firewall
- Tempo de execução do Firewall e configurações permanentes
- Ativando o FirewallD
- Zonas de firewall
- Alterando o alvo da zona
- Atribuindo uma interface a uma zona diferente
- Alterando a zona padrão
- Criando novas zonas
- Serviços de firewall
- Criando um novo serviço FirewallD
- Abrindo portas e IPs de origem
- Abrindo um IP de origem
- Abrindo uma porta de origem
- Portas de encaminhamento
- Encaminhar tráfego de uma porta para outra no endereço IP
- Encaminhar tráfego para outro endereço IP
- Encaminhar tráfego para outro servidor em uma porta diferente
- Conclusão
Um firewall é um método para monitorar e filtrar o tráfego de rede de entrada e saída. Ele funciona definindo um conjunto de regras de segurança que determinam se é permitido ou bloqueado o tráfego específico. Um firewall configurado corretamente é um dos aspectos mais importantes da segurança geral do sistema.
O CentOS 8 é enviado com um daemon de firewall chamado firewalld. É uma solução completa com uma interface D-Bus que permite gerenciar dinamicamente o firewall do sistema.
Neste tutorial, falaremos sobre como configurar e gerenciar o firewall no CentOS 8. Também explicaremos os conceitos básicos do FirewallD.
Pré-requisitos
Para configurar o serviço de firewall, você deve estar logado como root ou usuário com privilégios de sudo.
Conceitos básicos do firewalld
O firewalld usa os conceitos de zonas e serviços. Com base nas zonas e serviços que você configurará, você pode controlar qual tráfego é permitido ou bloqueado de e para o sistema.
O Firewalld pode ser configurado e gerenciado usando o utilitário de linha de comando
firewall-cmd
.
No CentOS 8, o iptables é substituído por nftables como o back-end padrão do firewall para o daemon firewalld.
Zonas de firewall
As zonas são conjuntos de regras predefinidos que especificam o nível de confiança das redes às quais o computador está conectado. Você pode atribuir interfaces e fontes de rede a uma zona.
Abaixo estão as zonas fornecidas pelo FirewallD ordenadas de acordo com o nível de confiança da zona de não confiável para confiável:
- drop: Todas as conexões de entrada são descartadas sem qualquer notificação. Somente conexões de saída são permitidas. bloco: Todas as conexões de entrada são rejeitadas com uma mensagem
icmp-host-prohibited
paraIPv4
eicmp6-adm-prohibited
allowed para IPv6n. Somente conexões de saída são permitidas. público: Para uso em áreas públicas não confiáveis. Você não confia em outros computadores na rede, mas pode permitir conexões de entrada selecionadas. externo: Para uso em redes externas com o mascaramento de NAT ativado quando o sistema atua como gateway ou roteador. Somente conexões de entrada selecionadas são permitidas. internal: Para uso em redes internas quando o sistema atua como gateway ou roteador. Outros sistemas na rede geralmente são confiáveis. Somente conexões de entrada selecionadas são permitidas. dmz: Usado para computadores localizados na sua zona desmilitarizada que têm acesso limitado ao restante da sua rede. Somente conexões de entrada selecionadas são permitidas. trabalho: Usado para máquinas de trabalho. Outros computadores na rede geralmente são confiáveis. Somente conexões de entrada selecionadas são permitidas. home: usado para máquinas domésticas. Outros computadores na rede geralmente são confiáveis. Somente conexões de entrada selecionadas são permitidas. confiável: todas as conexões de rede são aceitas. Confie em todos os computadores da rede.
Serviços de firewall
Os serviços do firewall são regras predefinidas que se aplicam a uma zona e definem as configurações necessárias para permitir o tráfego de entrada para um serviço específico. Os serviços permitem que você execute facilmente várias tarefas em uma única etapa.
Por exemplo, o serviço pode conter definições sobre como abrir portas, encaminhar tráfego e muito mais.
Tempo de execução do Firewall e configurações permanentes
O Firewalld usa dois conjuntos de configurações separados, tempo de execução e configuração permanente.
A configuração de tempo de execução é a configuração em execução real e não persiste na reinicialização. Quando o daemon firewalld é iniciado, ele carrega a configuração permanente, que se torna a configuração de tempo de execução.
Por padrão, ao fazer alterações na configuração do Firewalld usando o utilitário
firewall-cmd
, as alterações são aplicadas à configuração do tempo de execução. Para tornar as alterações permanentes, anexe a opção
--permanent
ao comando.
Para aplicar as alterações nos dois conjuntos de configurações, você pode usar um dos dois métodos a seguir:
-
Altere a configuração do tempo de execução e torne-a permanente:
sudo firewall-cmd
sudo firewall-cmd --runtime-to-permanent
Altere a configuração permanente e recarregue o daemon firewalld:
sudo firewall-cmd --permanent
sudo firewall-cmd --reload
Ativando o FirewallD
No CentOS 8, o firewalld é instalado e ativado por padrão. Se, por algum motivo, ele não estiver instalado no seu sistema, você poderá instalar e iniciar o daemon digitando:
sudo dnf install firewalld
sudo systemctl enable firewalld --now
Você pode verificar o status do serviço de firewall com:
sudo firewall-cmd --state
Se o firewall estiver ativado, o comando deverá ser impresso em
running
. Caso contrário, você verá
not running
.
Zonas de firewall
A zona padrão é aquela usada para tudo o que não está explicitamente atribuído a outra zona.
Você pode ver a zona padrão digitando:
sudo firewall-cmd --get-default-zone
public
Para obter uma lista de todas as zonas disponíveis, digite:
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
Para ver as zonas ativas e as interfaces de rede atribuídas a elas:
sudo firewall-cmd --get-active-zones
A saída abaixo mostra que as interfaces
eth0
e
eth1
estão atribuídas à zona
public
:
public interfaces: eth0 eth1
Você pode imprimir as configurações da zona com:
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
A partir da saída acima, podemos ver que a zona pública está ativa e usa o destino padrão, que é
REJECT
. A saída também mostra que a zona é usada pelas interfaces
eth0
e
eth1
e permite tráfego de cliente DHCP e SSH.
sudo firewall-cmd --list-all-zones
O comando imprime uma lista enorme com as configurações de todas as zonas disponíveis.
Alterando o alvo da zona
O destino define o comportamento padrão da zona para o tráfego recebido que não está especificado. Pode ser definido como uma das seguintes opções:
default
,
ACCEPT
,
REJECT
e
DROP
.
Para definir o destino da região, especifique a zona com a opção
--zone
e o destino com a opção
--set-target
.
Por exemplo, para alterar o destino da zona
public
para
DROP
você deve executar:
sudo firewall-cmd --zone=public --set-target=DROP
Atribuindo uma interface a uma zona diferente
Você pode criar conjuntos específicos de regras para diferentes zonas e atribuir interfaces diferentes a elas. Isso é especialmente útil quando você faz várias interfaces na sua máquina.
Para atribuir uma interface a uma zona diferente, especifique a zona com a opção
--zone
e a interface com a opção
--change-interface
.
Por exemplo, o seguinte comando atribui a interface
eth1
à zona de
work
:
sudo firewall-cmd --zone=work --change-interface=eth1
Verifique as alterações digitando:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
Alterando a zona padrão
Para alterar a zona padrão, use a opção
--set-default-zone
seguida do nome da zona que você deseja tornar padrão.
Por exemplo, para alterar a zona padrão para
home
você deve executar o seguinte comando:
sudo firewall-cmd --set-default-zone=home
Verifique as alterações com:
sudo firewall-cmd --get-default-zone
Criando novas zonas
O Firewalld também permite que você crie suas próprias zonas. Isso é útil quando você deseja criar regras por aplicativo.
No exemplo a seguir, criaremos uma nova zona denominada
memcached
,
memcached
a porta
11211
e permitiremos o acesso apenas a partir do endereço IP
192.168.100.30
:
-
Crie a zona:
sudo firewall-cmd --new-zone=memcached --permanent
Adicione as regras à zona:
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
Recarregue o daemon firewalld para ativar as alterações:
sudo firewall-cmd --reload
Serviços de firewall
Com o firewalld, você pode permitir o tráfego para portas e / ou fontes específicas com base em regras predefinidas chamadas serviços.
Para obter uma lista de todos os serviços disponíveis padrão, digite:
sudo firewall-cmd --get-services
Você pode encontrar mais informações sobre cada serviço, abrindo o arquivo.xml associado no
/usr/lib/firewalld/services
. Por exemplo, o serviço HTTP é definido assim:
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
Para permitir o tráfego HTTP de entrada (porta 80) para interfaces na zona pública, apenas para a sessão atual (configuração de tempo de execução):
sudo firewall-cmd --zone=public --add-service=http
Se você estiver modificando a zona padrão, poderá deixar de fora a opção
--zone
.
Para verificar se o serviço foi adicionado com sucesso, use a opção
--list-services
:
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
Para manter a porta 80 aberta após uma reinicialização, execute o mesmo comando mais uma vez com a opção
--permanent
ou execute:
sudo firewall-cmd --runtime-to-permanent
Use o
--list-services
junto com a opção
--permanent
para verificar suas alterações:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
A sintaxe para remover o serviço é a mesma que ao adicionar um. Basta usar
--remove-service
vez do sinalizador
--remove-service
:
sudo firewall-cmd --zone=public --remove-service=http --permanent
O comando acima remove o serviço
http
da configuração permanente da zona pública.
Criando um novo serviço FirewallD
Como já mencionamos, os serviços padrão são armazenados no
/usr/lib/firewalld/services
. A maneira mais fácil de criar um novo serviço é copiar um arquivo de serviço existente para o diretório
/etc/firewalld/services
, que é o local para serviços criados pelo usuário e modificar as configurações do arquivo.
Por exemplo, para criar uma definição de serviço para o Plex Media Server, você pode usar o arquivo de serviço SSH:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
Abra o arquivo
plexmediaserver.xml
recém-criado e altere o nome abreviado e a descrição do serviço dentro do
plexmediaserver.xml
port
, que define o número da porta e o protocolo que você deseja abrir.
No exemplo a seguir, estamos abrindo as portas
1900
UDP e
32400
TCP.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
Salve o arquivo e recarregue o serviço FirewallD:
sudo firewall-cmd --reload
Agora você pode usar o serviço
plexmediaserver
em suas zonas, assim como em qualquer outro serviço.
Abrindo portas e IPs de origem
O Firewalld também permite ativar rapidamente todo o tráfego de um endereço IP confiável ou de uma porta específica, sem criar uma definição de serviço.
Abrindo um IP de origem
Para permitir todo o tráfego de entrada de um endereço IP (ou intervalo) específico, especifique a zona com a opção
--zone
e o IP de origem com a opção
--zone
--add-source
.
Por exemplo, para permitir todo o tráfego recebido de 192.168.1.10 na zona
public
, execute:
sudo firewall-cmd --zone=public --add-source=192.168.1.10
Torne a nova regra persistente:
sudo firewall-cmd --runtime-to-permanent
Verifique as alterações usando o seguinte comando:
sudo firewall-cmd --zone=public --list-sources
192.168.1.10
A sintaxe para remover um IP de origem é a mesma que ao adicionar um. Basta usar
--remove-source
vez da opção
--remove-source
:
sudo firewall-cmd --zone=public --remove-source=192.168.1.10
Abrindo uma porta de origem
Para permitir todo o tráfego de entrada em uma determinada porta, especifique a zona com a opção
--zone
e a porta e o protocolo com a opção
--add-port
.
Por exemplo, para abrir a porta
8080
na zona pública da sessão atual, você executa a execução:
sudo firewall-cmd --zone=public --add-port=8080/tcp
O protocolo pode ser
tcp
,
udp
,
sctp
ou
dccp
.
Verifique as alterações:
sudo firewall-cmd --zone=public --list-ports
8080
Para manter a porta aberta após uma reinicialização, adicione a regra às configurações permanentes executando o mesmo comando usando o sinalizador
--permanent
ou executando:
sudo firewall-cmd --runtime-to-permanent
A sintaxe para remover uma porta é a mesma que ao adicionar uma porta. Basta usar
--remove-port
vez da opção
--remove-port
.
sudo firewall-cmd --zone=public --remove-port=8080/tcp
Portas de encaminhamento
Para encaminhar o tráfego de uma porta para outra, ative primeiro o mascaramento da zona desejada usando a opção
--add-masquerade
. Por exemplo, para ativar o mascaramento para a zona
external
, digite:
sudo firewall-cmd --zone=external --add-masquerade
Encaminhar tráfego de uma porta para outra no endereço IP
No exemplo a seguir, estamos encaminhando o tráfego da porta
80
para a porta
8080
no mesmo servidor:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
Encaminhar tráfego para outro endereço IP
No exemplo a seguir, estamos encaminhando o tráfego da porta
80
para a porta
80
em um servidor com IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
Encaminhar tráfego para outro servidor em uma porta diferente
No exemplo a seguir, estamos encaminhando o tráfego da porta
80
para a porta
8080
em um servidor com IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
Para tornar a regra de encaminhamento persistente, use:
sudo firewall-cmd --runtime-to-permanent
Conclusão
Você aprendeu como configurar e gerenciar o serviço firewalld no seu sistema CentOS 8.
Certifique-se de permitir todas as conexões de entrada necessárias para o bom funcionamento do seu sistema, enquanto limita todas as conexões desnecessárias.
firewalld firewall centos segurançaO DragonDisk para Windows ajuda a gerenciar a revisão do Storage Dragondisk b> do Cloud Storage. É um gerenciador de nuvem gratuito para gerenciar várias contas em nuvem e serviços vinculados ao DragonDisk, como Amazon, Google Cloud, Green QCloud, etc.
O aumento no uso de dados, juntamente com um requisito para acessá-lo em qualquer lugar, torna
Use o aplicativo Configurar os PCs da escola para configurar PCs com Windows em Escolas Baixe o aplicativo Configurar computadores da escola na Windows Store e use-o para configurar rapidamente seus computadores Windows 10 para melhores opções de aprendizado para os alunos
Os computadores agora se tornaram parte integrante da educação nas escolas, e quase todas as boas escolas têm os sistemas de computador definidos para seus alunos. O único problema com a educação em informática na escola ocorre quando os alunos se distraem com vários aplicativos e recursos dos PCs.
Como configurar um firewall com firewalld no centos 7
O FirewallD é uma solução completa de firewall que gerencia as regras de tabelas de ip do sistema e fornece uma interface D-Bus para operar com elas. Neste tutorial, mostramos como configurar um firewall com o FirewallD no sistema CentOS 7 e explicamos os conceitos básicos do FirewallD.