Artigos, Linux, SegurançaArtigos > Bloqueio de portas para tráfego externo

Artigos > Bloqueio de portas para tráfego externo

Porque bloquear?

Manter serviços no ar respondendo em portas default e sem nenhum tipo de bloqueio ou restrição é, no mínimo, dar sopa para o azar.

É necessário restringir e ter sob controle todo acesso aos serviços de um servidor. A maior parte dos serviços já contam com algum tipo de recurso que nos permite restringir o acesso. O ideal, porém, é que os acessos indesejados nem mesmo cheguem no servidor. E como fazer isso? Via firewall, claro. E nesse caso estou falando de Iptables.

Vou mostrar como bloquear portas para o tráfego externo mantendo liberado apenas o tráfego local ou de origens pré-definidas.

Aqui, como exemplo, vou mostrar como bloquear o tráfego na porta 80. Muito simples.

Liberando o tráfego local:

Antes de bloquearmos algo, precisamos especificar os hosts que poderão acessar o serviço. Por isso, antes de mais nada, vamos liberar o tráfego local. E para isso, vamos liberar todo tráfego do loopback:

Lembrando que o tráfego local “entra” via loopback, por isso liberamos a interface e nada mais.

Liberando o tráfego de origens específicas:

Caso queira liberar endereços IP específicos, acrescente uma regra como no exemplo abaixo:

Lembre de substituir eth0 pelo nome da sua interface e 123.123.123.123 pelo IP desejado.

Bloqueando a porta 80:

Observação importante: cuitado ao bloquear portas como a 22 (SSH). Antes de fazer esse tipo de bloqueio, lembre-se de liberar seu próprio endereço IP ou será bloqueado e perderá acesso ao servidor.

Por fim, vamos bloquear o tráfego na porta 80 com:

Desta forma, o acesso à porta 80 estará bloqueado, exceto para o tráfego via localhost e para origens específicas, caso tenha alguma.

Removendo as regras criadas

Para remover as regras que mencionei, basta trocar o iptables -A por iptables -D. Exemplo:

Observações:

O Firewall em sí é se chama Netfilter. O Iptables é uma ferramenta de linha de comando que nos permite realizar bloqueios no Netfilter.

Vale lembrar também que os bloqueios via linha de comando são temporários, não são definitivos, pois são carregados apenas na memória. Caso reinicie o Iptables, perderá essas regras.

Para que isso não ocorra, insira as regras no arquivo que armazena regras do Iptables. Os arquivos são:

  • Debian: &#47etc&#47iptables&#47rules
  • Centos: &#47etc&#47sysconfig&#47iptables

O conteúdo para ambas distribuições é o mesmo:

Ou seja, os mesmos comandos, só que sem o ‘iptables’ à frente.

Eh isso. Até a próxima.

Categories: Artigos, Linux, Segurança Tags: , , , , , ,

Comments

No Comments Yet. Be the first?

Post a comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

This site uses Akismet to reduce spam. Learn how your comment data is processed.