Um firewall é um utilitário de rede executado em seu servidor e impede que estranhos usem certas portas. Isso o torna uma ferramenta de segurança útil para impedir que invasores acessem processos que não deveriam. O seu servidor precisa de um?
Abra apenas as portas de que você precisa e faça o resto como firewall
Os serviços que você executa em seu servidor se conectam ao mundo externo por meio de portos. Cada porta possui um número e o serviço escutará as conexões nesse número de porta. Isso nem sempre é um risco de segurança, pois muitas vezes você precisará ter portas abertas para que os usuários acessem seu serviço.
As portas 80 e 443 são as portas padrão para HTTP e HTTPS. Se você estiver executando um servidor web, eles precisam estar abertos. A porta 22 provavelmente será aberta em qualquer nova instalação do Linux, pois é a porta SSH padrão. Você pode fechar essa porta, mas precisará mover o SSH para uma porta diferente (o que é uma boa ideia de qualquer maneira).
Sem um firewall instalado, qualquer serviço que inicie uma conexão terá acesso permitido a qualquer porta por padrão. É melhor ter suas regras definidas para evitar que isso aconteça e para garantir que nada inesperado esteja sendo executado em seu sistema. Isso é exatamente o que um firewall faz – definir as regras de como os processos em seu servidor podem se comunicar com o mundo externo.
Para verificar quais portas estão abertas em seu sistema, você pode executar:
sudo netstat -plnt
Ou, se você quiser uma saída mais concisa:
sudo netstat -plnt | grep "LISTEN" | awk '{print $4 "t" $7}'
Esses comandos listarão cada porta aberta, ao lado de qual processo está usando essa porta. O Netstat mostra apenas o PID e o nome do arquivo do processo, então se você precisar do caminho completo terá que passar o PID para o ps
comando. Se precisar escanear portas sem acessar o servidor, você pode usar o utilitário do lado do cliente nmap.
Qualquer outra coisa que não esteja sendo usada especificamente para hospedar um serviço deve ser fechada com um firewall.
Se tudo em execução em seu sistema deveria estar aberto, talvez você não precise de um firewall. Mas, sem ela, qualquer porta não utilizada pode ser facilmente aberta por um novo processo instalado. Você precisará certificar-se de que nenhum serviço novo precisa ser bloqueado.
Não execute seus serviços em IPs públicos em primeiro lugar
Um firewall é uma ótima ferramenta de segurança, mas certos serviços não devem ser acessíveis a todo o mundo. Se uma porta precisa ser aberta, esse serviço é vulnerável a ataques de força bruta e outros problemas desagradáveis. Mas você pode evitar que isso aconteça bloqueando as conexões com sua nuvem privada virtual.
Os bancos de dados são o principal exemplo disso. Um banco de dados como o MySQL precisa ter uma porta aberta para conexões administrativas. Mas se a única coisa que se comunica com o banco de dados é o seu servidor web (e você, ao fazer a manutenção), você deve manter o MySQL privado e permitir que ele se comunique apenas com o servidor web. Se precisar acessá-lo, você pode acessar o servidor da web por SSH e acessar o restante da rede a partir dele.
Como configurar um firewall
Se você estiver usando um serviço de hospedagem gerenciada como Amazon Web Services ou Digital Ocean, seu provedor pode ter um firewall que você pode gerenciar a partir de uma interface da web. Se esta for uma opção, você deve configurar seu firewall desta forma.
AWS, em particular, força você a usar seu firewall, que é gerenciado com grupos de segurança. As portas estão todas fechadas por padrão (exceto para a porta 22), portanto, você precisará abri-las manualmente em sua interface. Você pode editar os grupos de segurança para qualquer instância em execução no console de gerenciamento EC2 e modificar as regras de entrada.
O AWS permite que você especifique a fonte da regra, para que você possa, por exemplo, bloquear o SSH apenas para seu endereço IP pessoal ou tornar privada a conexão entre o servidor de banco de dados e o servidor da web.
RELACIONADO: O Guia do Iniciante em iptables, o Firewall Linux
Se estiver usando outros provedores como Linode ou hospedagem regular, você precisará configurar o firewall sozinho. Para isso, o método mais simples é usar o iptables
Utilitário.
Se você estiver executando um servidor Windows, será necessário configurar o Firewall do Windows apropriadamente denominado, o que pode ser feito no Console de Gerenciamento do Windows ou usando netsh
.
0 Comments