Prevenindo PortScan em seu servidor com PortSentry

 

Dica do Pessoal do COOPERATI

 

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: (CLIQUE EM LEIA MAIS)

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.

Anúncios

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