Como listar portas abertas no Firewalld
Firewalld é o programa de firewall padrão no CentOS 7, Red Hat Enterprise Linux 7 (RHEL 7), Fedora 18+ e algumas outras distribuições Linux populares. É muito poderoso para gerenciar redes IPv4 e IPv6. Possui interface de linha de comando (CLI) fácil de usar e uma ótima alternativa para iptables.
Neste artigo, mostrarei como listar portas abertas no Firewalld. Vou usar o CentOS 7.4 para a demonstração, mas os mesmos comandos devem funcionar em qualquer distribuição Linux com o Firewalld instalado. Vamos começar.
O que é um Porto Aberto?
Primeiro, vamos discutir o que é uma porta aberta. É claramente um termo de rede.
Você pode instalar muitos pacotes de software de servidor em um único computador, como servidor HTTP, servidor DNS, servidor de banco de dados e assim por diante. Mas pode ter um número limitado de interfaces de rede nele. Digamos que ele tenha uma interface de rede física disponível e esteja configurada para ter um endereço IP 10.0.1.11 e você tenha um servidor de banco de dados HTTP e MySQL instalado nele. Portanto, quando você se conecta ao 10.0.1.11 de outro computador, como o computador servidor sabe qual serviço você deseja usar? O serviço HTTP ou o serviço de banco de dados MySQL.
Bem, para diferenciar entre o serviço HTTP e o serviço de banco de dados MySQL, o endereço IP também possui outra propriedade chamada porta. A porta é um número inteiro de 16 bits, o que significa que pode ser um número de 0 a 65536. Portanto, seu computador servidor executa diferentes serviços ou softwares de servidor em diferentes portas. Por exemplo, o servidor HTTP é executado na porta 80, o servidor de banco de dados MySQL é executado na porta 3306 e assim por diante.
Para falar com um serviço específico em seu computador servidor, digamos o servidor HTTP, o computador cliente deve passar a porta 80 junto com o endereço IP 10.0.1.11. Portanto, a porta 80 é uma porta aberta porque um computador cliente pode se comunicar com ela.
Quando você tem um programa de firewall configurado, por padrão, ele bloqueia todas as portas. Portanto, mesmo quando o serviço estiver sendo executado em uma porta específica no computador servidor, um computador cliente não poderá se conectar a ele.
Então, como sei quais portas estão abertas e posso me conectar no meu computador servidor? Bem, esse é o tema deste artigo.
Encontrando portas abertas com o Firewalld:
Primeiro verifique se o serviço firewalld está sendo executado com o seguinte comando:
Como você pode ver na seção marcada da captura de tela abaixo, o serviço firewalld está em execução. Então estamos prontos para ir.
Se o seu serviço firewalld não estiver em execução, você pode iniciar o serviço firewalld com o seguinte comando:
Agora você pode usar o comando firewall-cmd para configurar e obter informações sobre o Firewalld.
Você pode imprimir toda a configuração do Firewalld com o seguinte comando:
As portas e serviços abertos estão listados nas linhas services: e ports: conforme marcado na captura de tela abaixo.
Na linha services:, os serviços ssh e dhcpv6-client são habilitados. Isso significa que as portas correspondentes a esses serviços também estão abertas.
Você pode descobrir quais portas esses serviços abrem com o seguinte comando:
NOTA: Aqui, SERVICE_NAME é o serviço do qual você deseja ver as portas.
Por exemplo, para ver as portas que o serviço ssh abriu, execute o seguinte comando:
Como você pode ver na seção marcada da captura de tela abaixo, o serviço ssh abre a porta TCP 22 e UDP porta 22.
O comando sudo firewall-cmd –list-all mostra toda a configuração do Firewalld.
Se você quiser apenas ver quais serviços podem ter portas abertas, execute o seguinte comando:
Os serviços autorizados a ter portas abertas estão listados como você pode ver na captura de tela abaixo.
Se você quiser ver apenas as portas que estão abertas, execute o seguinte comando:
As portas abertas são listadas como você pode ver na captura de tela abaixo.
Se você deseja abrir outras portas ou serviços usando Firewalld, confira meu outro artigo Como abrir a porta 80 no CentOS7(https://linux-console.net/open- port-80-centos7/)