Início
» Como fazer
»
Permita apenas o tráfego da Web necessário para o seu servidor SLES 15
Permita apenas o tráfego da Web necessário para o seu servidor SLES 15
Cenário de exemplo: Imagine um administrador preparando um servidor fictício SLES 15 chamado web01 para hospedar um pequeno site público. O objetivo é permitir tráfego HTTP de entrada na porta TCP 80, mantendo o caminho de administração SSH existente disponível. Este é um exemplo ilustrativo, não um relatório de teste ou uma afirmação de que todas as instalações do SLES 15 possuem os mesmos nomes de interface ou serviços.
No SLES 15, o firewalld firewalldé a estrutura de firewall padrão e firewall-cmdo controla. Primeiro, identifique a zona ativa e verifique o acesso remoto; em seguida, adicione o menor serviço necessário a essa zona na configuração permanente e reinicie. O Guia de Segurança e Reforço do SLES 15 SP7 da SUSE documenta esse modelo baseado em zonas e a distinção entre regras de tempo de execução e regras permanentes. Essas etapas pressupõem que o firewalld esteja instalado e em execução; sistemas atualizados mais antigos podem precisar de uma verificação de migração separada.
1. Verifique o serviço e a zona ativa antes de alterar as regras.
Conecte-se através do console do servidor ou de uma sessão de gerenciamento que possa ser recuperada caso o acesso à rede seja interrompido. Se estiver conectado via SSH, mantenha essa sessão aberta enquanto realiza as alterações no firewall. Confirme se o firewalld está em execução e verifique qual zona é proprietária da interface.
O primeiro comando deve exibir a lista runningde zonas ativas. O comando `active-zones` lista as zonas que possuem interfaces ou endereços de origem atribuídos; ele pode exibir mais de uma. No exemplo fictício `web01`, suponha que ele exiba a lista de zonas ativas publice a interface `<interface>` ens192. Use a zona associada à interface de rede de entrada nos comandos subsequentes. Não assuma que a interface se chama `<interface>` eth0e não assuma publicque `<interface>` está ativa apenas por ser um padrão comum.
Visão ilustrativa do terminal para a verificação inicial: o firewalld reporta estar em execução e o ens192 aparece na zona pública.
Se o serviço não estiver em execução, verifique seu estado antes de iniciá-lo: sudo systemctl status firewalld. Em instalações padrão do SLES 15, o firewalld é instalado e ativado por padrão, mas perfis de imagem, atualizações ou políticas locais podem ser diferentes. Se estiver instalado, mas parado, inicie e ative-o somente após confirmar que sua política atual preservará o acesso necessário: sudo systemctl enable --now firewalld. Em um host gerenciado remotamente, confirme o acesso ao console e sua permissão de SSH antes de ativar um firewall cujas regras atuais são desconhecidas.
2. Confirme a definição do serviço e preserve o SSH.
Um serviço firewalld é um conjunto nomeado de portas e protocolos. Verifique a definição local antes de abri-lo:
No SLES, o httpserviço predefinido corresponde à porta TCP 80. A listagem de zonas permite inspecionar os serviços e portas atualmente permitidos. Substitua `<zone>` publicpela zona ativa encontrada. Se você administra o servidor via SSH, certifique-se de sshque o acesso seja permitido nessa zona antes de prosseguir. O comportamento de instalação do SLES e as políticas existentes podem variar, portanto, verifique em vez de presumir. Se o daemon SSH instalado estiver escutando em uma porta não padrão, uma sshentrada de serviço genérica pode não corresponder; confirme primeiro a porta de escuta real do daemon e a política de firewall existente.
Inspeção ilustrativa do serviço: a definição do serviço HTTP lista a porta TCP 80.
3. Adicione o HTTP permanentemente e, em seguida, carregue as regras salvas.
O Firewalld mantém configurações separadas para tempo de execução e configurações permanentes. Um comando normal altera apenas as regras ativas em tempo de execução; --permanentele grava a configuração salva, mas não ativa a alteração imediatamente. Para o servidor web01, adicione o serviço HTTP à zona que possui sua interface pública:
Use --zoneexplicitamente para que a regra não seja aplicada em uma zona padrão não intencional. Uma recarga aplica as regras permanentes em tempo de execução. Alterações não salvas que só podem ser aplicadas em tempo de execução são descartadas durante a recarga; portanto, inspecione e preserve quaisquer regras temporárias que você precise intencionalmente antes de executar o processo. Para testar um serviço antes de torná-lo persistente, você pode executá-lo primeiro sudo firewall-cmd --zone=public --add-service=httpsem --permanenta regra permanente; se funcionar, adicione a regra permanente e recarregue. Um teste que só pode ser aplicado em tempo de execução é perdido após uma recarga ou reinicialização do firewall.
Sequência de comandos ilustrativa: salve a permissão HTTP em público e, em seguida, recarregue o firewalld para aplicá-la.
Se você precisar de uma única porta em vez de um serviço predefinido, especifique tanto a porta quanto o protocolo, por exemplo --add-port=8080/tcp. Faça isso somente quando o aplicativo estiver realmente escutando nessa porta. Uma permissão de firewall não inicia um servidor web, não cria uma regra de grupo de segurança na nuvem nem configura um roteador upstream; todas as camadas da rede devem permitir o tráfego.
4. Verifique o acesso e remova as regras que você não precisa mais.
A saída deve incluir httpambas as listas de serviços, e a verificação de configuração deve ser concluída sem erros. Verifique também se o aplicativo está escutando localmente, por exemplo, com `sudo apt-get install -r` sudo ss -lntp, e teste o site a partir de um cliente na rede pretendida. A listagem do firewall confirma uma regra, não a conectividade de ponta a ponta: DNS, um firewall na nuvem, roteamento e o próprio servidor web ainda podem bloquear ou rejeitar a solicitação.
Exemplo de resultado da verificação: o HTTP aparece entre os serviços da zona pública, enquanto o SSH permanece listado.
Se o HTTP não for mais necessário, remova a regra salva e recarregue: sudo firewall-cmd --permanent --zone=public --remove-service=http, seguido de sudo firewall-cmd --reload. Verifique novamente as listas de tempo de execução e permanentes em seguida. Evite limpar todas as regras ou mudar para uma zona confiável para resolver um único problema de acesso; essas alterações mais amplas podem expor serviços não relacionados.