Aprenda Linux

Gerencie a segurança da rede com Firewalld usando linhas de comando

Gerencie a segurança da rede com Firewalld usando linhas de comando

Manter a segurança da rede é fundamental para administradores de sistema e configurar o firewall através da linha de comando é uma habilidade essencial para aprender. O artigo destacará como gerenciar o firewall com firewall-cmd na linha de comando do Linux.

Um firewall é essencialmente um software que você pode configurar para controlar o tráfego de rede de entrada e saída. Os firewalls podem impedir que outros usuários usem serviços de rede em um sistema que você está executando. A maioria dos sistemas Linux vem com um firewall padrão. Versões anteriores de sistemas Linux usavam iptables como o daemon para filtragem de pacotes. As versões mais recentes do Fedora, RHEL / CentOS e openSUSE vêm com Firewalld como o daemon de firewall padrão. Você também pode instalar o Firewalld em distros Debian e Ubuntu.


Eu recomendo que você use Firewalld em vez de iptables. Não acredite apenas na minha palavra. Saiba mais em nosso guia abrangente sobre os firewalls de código aberto disponíveis para o seu sistema Linux.

Firewalld é um daemon dinâmico para gerenciar firewalls com suporte para zonas de rede ou firewall. Zonas de firewall definem níveis de confiança de segurança de rede de interfaces de rede, serviços ou conexões. Os administradores do sistema de segurança de rede descobriram que o Firewalld funciona muito bem com IPv4, IPv6, conjuntos de IP e pontes Ethernet. Para gerenciar Firewalld, você pode usar o comando de terminal firewall-cmd ou a ferramenta de configuração GUI firewall-config.

Este guia irá utilizar o firewall-cmd comando para gerenciar a segurança da rede, e nosso ambiente de teste será o Fedora Workstation 33.

Antes de entrarmos em detalhes técnicos, vamos aprender algumas noções básicas de rede.

Noções básicas de rede

Um computador conectado a uma rede recebe um endereço IP que é usado para rotear dados. Os computadores também têm portas no intervalo de 0-65535, que atuam como pontos de conexão no endereço IP. Os aplicativos podem reservar portas específicas. Os servidores da Web normalmente reservam a porta 80 para comunicações HTTP seguras. Basicamente, os intervalos de porta 0 - 1024 são reservados para fins bem conhecidos e o sistema.

Os dois principais protocolos de transferência de dados da Internet (TCP e UDP) usam essas portas durante a comunicação de rede. Um computador host estabelece uma conexão entre um endereço IP de origem e porta (porta 80 para HTTP não seguro) e o endereço de destino e porta.

Para gerenciar a segurança da rede, o software de firewall pode permitir ou bloquear a transferência de dados ou comunicação com base em regras como portas ou endereços IP.

Instalando Firewalld

Fedora, RHEL / CentOS 7/8, openSUSE

Firewalld é instalado por padrão no Fedora, RHEL / CentOS 7/8 e openSUSE. Caso contrário, você pode instalá-lo usando o seguinte comando:

# yum install firewalld -y
OU
#dnf install firewalld -y

Debian / Ubuntu

Os sistemas Ubuntu vêm com o Firewall Descomplicado por padrão. Para usar o firewalld, você deve habilitar o repositório universe e desativar o Firewall Descomplicado.

sudo add-apt-repository universe
sudo apt install firewalld

Desative o firewall não complicado:

sudo systemctl disable ufw

Habilite firewalld no momento da inicialização:

sudo systemctl enable -now firewalld

Verifique se o Firewalld está em execução:

sudo firewall-cmd -state
corrida

Zonas de firewall

Firewalld torna a configuração do seu firewall simples, estabelecendo zonas padrão. As zonas são um conjunto de regras que atendem às necessidades diárias da maioria dos administradores Linux. Uma zona de firewall pode definir níveis confiáveis ​​ou negados para serviços e portas.

Exemplo de zonas padrão definidas pela estação de trabalho Fedora 33

cat / usr / lib / firewalld / zones / FedoraWorkstation.xml


Estação de Trabalho Fedora
Pacotes de rede de entrada não solicitados são rejeitados da porta 1 a 1024, exceto para serviços de rede selecionados. [firewall] Pacotes de entrada relacionados a conexões de rede de saída são aceitos. Conexões de rede de saída são permitidas.





Obtenha sua zona atual:
Você pode usar o - - get-active-zones sinalize para verificar as zonas atualmente ativas em seu sistema.

sudo firewall-cmd --get-active-zones
[sudo] senha para tuts:
FedoraWorkstation
interfaces: wlp3s0
libvirt
interfaces: virbr0

A zona padrão no Fedora Workstation 33 na zona FedoraWorkstation

Obtenha a zona padrão e todas as zonas definidas:

sudo firewall-cmd --get-default-zone
[sudo] senha para tuts:
FedoraWorkstation
[tuts @ fosslinux ~] $ sudo firewall-cmd --get-zones
FedoraServer Fedora Workstation block dmz drop externo home interno libvirt nm-shared público confiável trabalho

Serviços de lista:

Você pode obter os serviços que o firewall permite que outros sistemas acessem usando o  - -list-services bandeira.

[tuts @ fosslinux ~] $ sudo firewall-cmd --list-services
dhcpv6-client mdns samba-client ssh

No Fedora Linux 33, o firewall permite acesso a quatro serviços (dhcpv6-client mdns samba-client ssh) com números de porta bem conhecidos.

Liste as configurações da porta do firewall:
Você pode usar o - -list-ports sinalize para ver outras configurações de porta em qualquer zona.

tuts @ fosslinux ~] $ sudo firewall-cmd --list-ports --zone = FedoraWorkstation
[sudo] senha para tuts:
1025-65535 / udp 1025-65535 / tcp

Especificamos a zona a ser verificada usando a opção - -zone = FedoraWorkstaion.

Gerenciando zonas, portas e serviços

As configurações de firewall podem ser definidas como runtime ou permanentes. Todas as ações do firewall-cmd persistem apenas até o computador ou firewall reiniciar. Você deve criar configurações permanentes com o sinalizador -permanent.

Crie uma zona

Para criar uma zona, você deve usar o - -zona nova bandeira.
Exemplo:
Crie uma nova zona permanente chamada fosscorp:

[tuts @ fosslinux ~] $ sudo firewall-cmd --new-zone fosscorp --permanent
[sudo] senha para tuts:
sucesso

Recarregue as regras de firewall para ativar a nova zona:

[tuts @ fosslinux ~] $ sudo firewall-cmd --reload

Adicione o serviço ssh à zona fosscorp para que você possa acessá-lo remotamente:

[tuts @ fosslinux ~] $ sudo firewall-cmd --zone fosscorp --add-service ssh --permanent
[sudo] senha para tuts:
sucesso

Confirme se sua nova zona 'fosscorp' está ativa:

[tuts @ fosslinux ~] $ sudo firewall-cmd --get-zones
FedoraServer FedoraWorkstation block dmz drop external fosscorp home interna libvirt nm-shared public Trusted work

Sua nova zona fosscorp agora está ativa e rejeita todas as conexões de entrada, exceto o tráfego SSH.

Use o - -interface de mudança sinalize para tornar a zona fosscorp a zona ativa e padrão para uma interface de rede (wlp3s0) que você deseja proteger:

[tuts @ fosslinux ~] $ sudo firewall-cmd --change-interface wlp3s0 \
> --zone fosscorp --permanent
A interface está sob o controle [firewall] do NetworkManager, definindo a zona como 'fosscorp'.
sucesso

Se você deseja definir fosscorp como a zona padrão e primária, execute o seguinte comando:

[tuts @ fosslinux ~] $ sudo firewall-cmd --set-default fosscorp
sucesso

Visualize as zonas atualmente atribuídas a cada interface usando o - -get-active-zones bandeira:

[tuts @ fosslinux ~] $ sudo firewall-cmd --get-active-zones
fosscorp
interfaces: wlp3s0

Adicionar e remover serviços:

Uma maneira rápida de permitir o tráfego através de seu firewall é adicionar um serviço predefinido.

Lista de serviços predefinidos disponíveis:

tuts @ fosslinux ~] $ sudo firewall-cmd --get-services
[sudo] senha para tuts:
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd auditoria bacula bacula-client bb bgp bitcoin bitcoin-rpc
bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit coletor de condor ctdb dhcp dhcpv6 dhcpv6-client
[…]

Desbloquear um serviço predefinido

Você pode permitir o tráfego HTTPS (ou qualquer outro serviço predefinido) por meio de seu firewall usando o - -adicionar serviço bandeira.

[tuts @ fosslinux ~] $ sudo firewall-cmd --add-service https --permanent
sucesso
[tuts @ fosslinux ~] $ sudo firewall-cmd --reload

Você também pode remover o serviço com o - -remove-service bandeira:

[tuts @ fosslinux ~] $ sudo firewall-cmd --remove-service https --permanent
sucesso
[tuts @ fosslinux ~] $ sudo firewall-cmd --reload

Adicionar e remover portas

Você também pode adicionar um número de porta e protótipo diretamente com o sinalizador -add-port. Adicionar um número de porta diretamente pode ser útil quando um serviço predefinido não existe.

Exemplo:
Você pode adicionar o não padrão porta 1717 para SSH para sua zona personalizada usando o seguinte comando:

[tuts @ fosslinux ~] $ sudo firewall-cmd --add-port 1717 / tcp --permanent
[sudo] senha para tuts:
sucesso
[tuts @ fosslinux ~] $ sudo firewall-cmd -reload

Remova a porta usando a opção de sinalização -remove-port:

[tuts @ fosslinux ~] $ sudo firewall-cmd --remove-port 1717 / tcp --permanent
sucesso
[tuts @ fosslinux ~] $ sudo firewall-cmd -reload

Você também pode especificar uma zona para adicionar ou remover uma porta adicionando a sinalização -zone no comando:
Adicione a porta 1718 para conexão TCP à zona FedoraWorstation:

[tuts @ fosslinux ~] $ sudo firewall-cmd --zone = FedoraWorkstation --permanent --add-port = 1718 / tcp
sucesso
[tuts @ fosslinux ~] $ sudo firewall-cmd --reload
sucesso

Confirme se as alterações entraram em vigor:

[tuts @ fosslinux ~] $ sudo firewall-cmd --list-all
FedoraWorkstation (ativo)
alvo: padrão
ICMP-block-inversion: não
interfaces: wlp3s0
origens:
serviços: dhcpv6-client mdns samba-client ssh
portas: 1025-65535 / udp 1025-65535 / tcp 1718 / tcp
protocolos:
mascarada: não
forward-ports:
portas-fonte:
blocos icmp:
regras ricas:

Nota: Em portas, adicionamos número da porta 1718 para permitir o tráfego TCP.

Você pode remover porta 1718 / tcp executando o seguinte comando:

[tuts @ fosslinux ~] $ sudo firewall-cmd --zone = FedoraWorkstation --permanent --remove-port = 1718 / tcp
sucesso
[tuts @ fosslinux ~] $ sudo firewall-cmd --reload
sucesso

Nota: Se você deseja tornar suas alterações permanentes, você deve adicionar o - -permanente sinalizar para seus comandos.

Recapitular

Firewalld é um ótimo utilitário para gerenciar a segurança da sua rede. A melhor maneira de aumentar suas habilidades de administrador de sistema é obter experiência prática. Eu recomendo fortemente instalar o Fedora em sua máquina virtual (VM) favorita ou no Boxes para experimentar todas as funções de firewall-cmd disponíveis. Você pode aprender mais funções de firewall-cmd na página inicial oficial do Firewalld.

Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...
WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...
O botão esquerdo do mouse não funciona no Windows 10
Se você estiver usando um mouse dedicado com seu laptop ou computador desktop, mas o o botão esquerdo do mouse não funciona no Windows 10/8/7 por algu...