O seu portal de estudos

Protegendo seu servidor com PortSentry

Posted by Vagner Fonseca em 8 de setembro de 2011

Ter um servidor ligado à internet e sempre complicado, além de lidar com as configurações de serviços para garantir a estabilidade e segurança, temos que pensar também nos mal intencionados da rede. Evitar que ataques de portscan sejam efetivos costuma ser trabalhoso, mas com o Portsentry sua vida fica um pouco mais fácil.

O Portsentry simula que portas estejam abertas em seu Servidor e quando essas portas recebem algum tipo de acesso ou escaneamento ele pode tomar alguma atitude. Geralmente bloquear o IP de origem, assim seu sistema mantém aquele host bloqueado.

Vamos à instalação:

root# apt-get install portsentry

Se o sistema for baseado em CentOS, procure pelo portsentry no site rpmfind.net, escolha a versão compatível com seu sistema e instale com:

root# rpm -ivh portsentry-versao_do_porsentry.rpm

Agora entre no diretório /etc/portsentry para começar as configurações:

root# cd /etc/portsentry

Renomeie o arquivo portsentry.conf :

root# mv portsentry.conf portsentry.conf.original

Crie seu arquivo com o seguinte conteúdo:

root# vi portsentry.conf

# Portas que serão simuladas pelo portsentry(NUNCA USE PORTAS DE SERVIÇOS QUE ESTEJAM NESTE SERVIDOR)
TCP_PORTS=”1,11,15,23,79,111,119,143,445,540,635,1080,1524,2000,3128,5742,6667,12345,12346,20034,27665,31337,32771,32772,32773,32774,40421,49724,54320″
UDP_PORTS=”1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,32774,31337,54321″
# Portas altas
ADVANCED_PORTS_TCP=”1024″
ADVANCED_PORTS_UDP=”1024″
# Portas excluídas do bloqueio
ADVANCED_EXCLUDE_TCP=”113,139″
ADVANCED_EXCLUDE_UDP=”520,138,137,67″
# Hosts que não serão bloqueados estão neste arquivo(um por linha)
IGNORE_FILE=”/etc/portsentry/portsentry.ignore”
# Histórico dos bloqueios
HISTORY_FILE=”/var/lib/portsentry/portsentry.history”
# Hosts bloqueados
BLOCKED_FILE=”/var/lib/portsentry/portsentry.blocked”
# Não resolver nome dos hosts
RESOLVE_HOST = “0”
# Bloquear TCP e UDP
BLOCK_UDP=”1″
BLOCK_TCP=”1″
# Regras do IPTABLES que irá bloquear o host que acessar as portas:
KILL_ROUTE=”/sbin/iptables -I INPUT -s $TARGET$ -j DROP”
# Regra a ser adicionada no hosts.allow
KILL_HOSTS_DENY=”ALL: $TARGET$ : DENY”
# Quantos acessos um host pode fazer em uma porta antes de ser bloqueado
SCAN_TRIGGER=”1″

Basta agora reiniciar o serviço:

root# /etc/init.d/portsentry restart

Veja como funciona, primeiro temos as portas normais de serviço abertas:

Veja agora as portas depois do portsentry instalado:

Veja as regras de firewall totalmente limpas:

Vamos fazer 2 acessos à porta 111 , que é uma das portas abertas pelo Portsentry:

Podemos ver que no segundo acesso a conexão não se completou, pois no segundo acesso uma regras de firewall foi criada para aquele host:

Então quando um host fizer um escaneamento em seu servidor ou tentativas de acesso, as portas que estão abertas pelo portsentry são monitoradas e o host será bloqueado por regra de firewall. Assim o host só será liberado quando o administrador remover a regra, e o bloqueio é para qualquer acesso daquele host e não apenas na porta anteriormente acessada.

Então gradualmente faremos nossos servidores mais seguros e junto com outros posts que temos aqui no CooperaTI expandimos nosso conhecimento em segurança.

Espero que gostem do artigo e não se esqueçam de votar no TopBlog.

Anúncios

4 Respostas to “Protegendo seu servidor com PortSentry”

  1. jonas said

    Vagner blz.
    Esta semana em um dos nossos servidores recebemos um ataque atraves de inumeros ips de nossos clientes, solicitando resposta para o site do icann.org
    Gostaria de saber se possivel qual se esta ferramenta poderia realizar.
    No caso do dns. por diversas vezes um mesmo ip podera solicitar uma requisicao para o dns.
    Seria possivel programar esta ferramenta para que se a ocorrencia de vezes versus um determinado tempo ocorrer entao seja bloqueado.

  2. jonas said

    Wagner tudo bem. Voc~e poderia me dar alguma sugestao obrigado

  3. […] Dica do Pessoal do COOPERATI […]

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: