Inspecionar o Tráfego e os Caminhos de Serviço do Firewall

LinuxBeginner
Pratique Agora

Introdução

Quando um serviço de rede está inacessível, verifique o caminho em camadas: estado do serviço, socket de escuta, solicitação local, regra de firewall e, por fim, o acesso final. Isso evita que você abra portas de firewall para um serviço que nem sequer está em execução.

Neste laboratório, um pequeno serviço HTTP está escutando na porta TCP 8088, mas o firewalld não permite essa porta. Você inspecionará o caminho do serviço e adicionará a regra de firewall permanente que está faltando.

Verificar o Estado do Serviço

Nesta etapa, você confirmará se o serviço da aplicação está em execução antes de analisar as regras do firewall.

Entre no diretório do projeto e crie um espaço de trabalho.

cd /home/labex/project
mkdir -p firewall-path

Verifique o estado do serviço.

systemctl is-active rhce-http-demo.service | tee firewall-path/service-state.txt

Leia o comando do serviço.

systemctl show rhce-http-demo.service -p ExecStart | tee firewall-path/exec-start.txt

O serviço está ativo, então a próxima pergunta é se ele está escutando na porta esperada.

Inspecionar o Socket de Escuta

Nesta etapa, você confirmará se o host está escutando na porta TCP 8088.

Exiba os sockets TCP em escuta para a porta 8088.

sudo ss -ltnp 'sport = :8088' | tee firewall-path/socket.txt

Teste o serviço via loopback.

curl -s http://127.0.0.1:8088/ | tee firewall-path/loopback-response.txt

O serviço responde localmente, portanto, a aplicação em si está funcionando.

Encontrar a Regra de Firewall Ausente

Nesta etapa, você verificará o firewalld em busca da porta do serviço. Um socket local não significa automaticamente que o firewall permite a porta.

Liste as portas abertas na zona padrão.

sudo firewall-cmd --list-ports | tee firewall-path/ports-before.txt

Consulte a porta 8088/tcp.

sudo firewall-cmd --query-port=8088/tcp | tee firewall-path/query-before.txt || true

A consulta deve retornar no, o que significa que a regra está faltando no firewalld.

Abrir a Porta do Serviço

Nesta etapa, você adicionará uma regra permanente ao firewalld e recarregará o firewall.

Adicione a regra de porta permanente.

sudo firewall-cmd --add-port=8088/tcp --permanent

Recarregue o firewalld.

sudo firewall-cmd --reload

Consulte a porta novamente.

sudo firewall-cmd --query-port=8088/tcp | tee firewall-path/query-after.txt

O firewall agora permite a porta do serviço.

Verificar o Caminho Completo do Serviço

Nesta etapa, você verificará o serviço, o socket, a regra de firewall e a resposta em conjunto.

Verifique o estado do serviço.

systemctl is-active rhce-http-demo.service

Exiba a lista de portas do firewall.

sudo firewall-cmd --list-ports | tee firewall-path/ports-after.txt

Solicite o serviço novamente.

curl -s http://127.0.0.1:8088/ | tee firewall-path/final-response.txt

O caminho da aplicação está completo: serviço ativo, socket em escuta, regra de firewall presente e resposta HTTP funcionando.

Resumo

Você verificou um caminho de serviço em camadas: estado do serviço, socket de escuta, resposta HTTP local, porta ausente no firewalld, reparo permanente do firewall e validação da resposta final.