A partir do RedHat/Centos na versão 7 houve mudança na forma como trabalhamos com serviços no sistema operacional. Novos comandos podem deixar quem está começando um pouco perdido. Pra quem vai montar um novo servidor vou dar algumas dicas básicas do firewall para iniciar seu servidor de forma mais segura.
Configurção básica do firewall
O firewall permite um nível básico de segurança para o seu servidor. Essa aplicação é responsável por negar o tráfego para qualquer porta no seu servidor com excessões de portas/serviços que você deseja permitir. O RedHat/Centos conta com firewall chamado firewalld. A ferramenta firewall-cmd pode ser usada para configurar suas políticas de firewall. A estratégia básica é negar tudo que não seja bom manter aberto como por exemplo a porta 80 (http) e 22 (ssh).
O serviço firewalld tem a habilidade de fazer modificações sem derrubar a sua conexão atual, então você pode ativá-lo sem medo. Para ativar, execute o comando abaixo como root.
$ systemctl start firewalld
Agora que o serviço está rodando, nós podemos usar o utilitário firewall-cmd para configurar nossas políticas para o firewall. O firewalld usa o conceito de zonas para rotular a confiabilidade dos outros hosts na rede. Essa rotulagem nos dá a capacidade de atribuir regras diferentes de acordo com o quanto a gente confia na rede.
Se você não modificou a porta padrão do SSH, você pode habilitar o serviço pelo nome digitando o seguinte comando:
$ firewall-cmd --permanent --add-service=ssh
Se você mudou a porta do SSH no seu servidor, então você deverá explicitar a porta que deseja liberar. Se você já configurou o sshd e restartou o serviço para que ele responda na nova porta, então você poderá executar o –remove-service para remover a porta padrão do ssh e adicionar a nova porta. Vamos supor que a sua configuração do SSH está usando a porta 2200, então o comando ficará da seguinte forma.
$ firewall-cmd --permanent --remove-service=ssh $ firewall-cmd --permanent --add-port=2200/tcp
Esse é o mínimo necessário para obter acesso administrativo ao servidor via SSH. Se você pretende executar serviços adicionais, como por exemplo um servidor web, você precisa abrir as portas para ele também. Abaixo vamos liberar http e https.
$ firewall-cmd --permanent --add-service=http $ firewall-cmd --permanent --add-service=https
Calma, o firewall ainda não está aplicando as regras. Primeiro vamos listar como estão as regras, para isso vamos usar o –list-all
$ firewall-cmd --permanent --list-all
Confirme se a porta do SSH está correta e se seus outros serviços também estão listados. Feito isso, vamos de fato aplicar as regras.
$ firewall-cmd --reload
Pronto, agora temos apenas algumas portas aberta. O restante será bloqueado pelo firewall. Temos que configurar para que ele suba automaticamente com o sistema operacional caso você reinicie o servidor.
$ systemctl enable firewalld
Pronto, pelo menos uma proteção básica contra as tentativas de ataque está pronta. Agora basta seguir o básico como não usar senhas fáceis, usar par de chaves no ssh ao invés de senha, etc.
1 comentário
FABIO · 17 de outubro de 2020 às 09:23
Parabéns! Show de bola