Configurando o PortSentry

PortSentry: Melhorando a Seguran?a da sua Box Linux

Autor: Anderson Luiz Tamborim (Spawn Locoust)

ICQ: #50390241 E-mail: [email protected]

Portsentry: Uma alternativa eficiente
Portsentry e uma aplica??o muito simples de se utilizada, escrita para sistemas GNU/Linux com o objetivo de ajudar usu?rios a manter crackers
longe de seu precioso sistema. Barrando Portscanners e outras tentativas de burlar sua seguran?a.

Portsentry foi desenvolvido pelo pessoal da Psionic.com que hoje faz parte da CISCO como voc?s podem ver aqui:

http://newsroom.cisco.com/dlls/corp_102202.html.

2 – Projeto Sentry Tools

O portsentry foi concebido como parte do projeto sentry Tools, que tem alem dele o LogCheck uma ferramenta de checagem de logs de maneira eficiente e bem simples tamb?m.

Como podemos ver o Projeto Sentry Tools veio para ajudar usu?rios e admins que n?o tenham muita experi?ncia em seguran?a de inform?tica conseguir um padr?o um po?o mais elevado de seguran?a em seus sistemas
de maneira simples e bem intuitiva.

Recomendo uma visita ao site do projeto :

http://sourceforge.net/projects/sentrytools/

Vamos ver agora como instalar e configurar o Portsentry e assim tornar nosso linux ainda mais seguro.
Instalando e Configurando
Instalando

Primeiro passo e baixar a vers?o mais recente do PortSentry.
Vamos baixar a vers?o direto do site do projeto, j? tive umas experi?ncias com RPMs no conectiva e meu amigo n?o foram muito interessantes.
Pegue o tar.gz ele compila sem muitos traumas e a instala??o e bem r?pida.

Vamos l?.

Vamos baixar o Portsentry de um dos mirrors que temos na pagina, o arquivo tem apenas 47 kb.

http://easynews.dl.sourceforge.net/sourceforge/sentrytools/portsentry-1.2.tar.gz
/* esse link e bem r?pido */

Muito bem vamos criar uma pastinha para nosso amigo

$mkdir /security
$ mv portsentry-1.2.tar.gz /security
$ cd /security
$ tar -xzvf portsentry-1.2.tar.gz
$ ./configure ; make ; make install

e voila teremos o portsentry instalado em nosso sistema 😉

Configurando

Essa e a parte mais divertida porque garanto que cada um apos observar
o arquivo de configura??o do P.S. vai ver configura??es que lhe chamaram mais a aten??o dando configura??es totalmente inusitadas.

Vou dar um exemplo de configura??o de bloqueio para atacantes que tentam
portscanning e um pequeno honey pot.

Vamos dar uma olhada na pasta usr/local/psionic/portsentry
teremos alguns arquivos dentro dela, vamos utilizar o
portsentry.conf

Vamos ver as primeiras configura??es interessantes que devemos fazer:

————————-Cut Here —————————————–
# Un-comment these if you are really anal:
#TCP_PORTS=”1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,635,1080,1524,2000,2001,[..] #UDP_PORTS=”1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,31335,27444,34555,[..] #
# Use these if you just want to be aware:
TCP_PORTS=”1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,31337,32771,32772,[..] UDP_PORTS=”1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,32774,31337,54321″
#
# Use these for just bare-bones
#TCP_PORTS=”1,11,15,110,111,143,540,635,1080,1524,2000,12345,12346,20034,32771,32772,32773,32774,49724,54320″
#UDP_PORTS=”1,7,9,69,161,162,513,640,700,32770,32771,32772,32773,32774,31337,54321″

————————- Cut Here ————————————————

Aqui estao as portas que TCP/UDP que o Portsentry vai “guardar”.
Analise as portas que tem em cada lista, as portas verdadeiras de seu sistema n?o devem conter nesta lista okei, caso contrario o p.s. vai bloquear as tentativas de conex?o nelas.

Como voc?s viram o segundo conjunto de portas esta habilitado, vamos utilizar ele como teste, depois podemos refinar essas portas e tudo mais que voc?s quiserem.

Vamos continuar nossa analise no arquivo de conf:

————————- Cut Here ————————————————-

IGNORE_FILE=”/usr/local/psionic/portsentry/portsentry.ignore”
HISTORY_FILE=”/usr/local/psionic/portsentry/portsentry.history”
BLOCKED_FILE=”/usr/local/psionic/portsentry/portsentry.blocked”

————————– Cut Here ————————————————–

Bom o primeiro arquivo s?o os hosts que o portsentry deve ignorar, ou seja
os hosts que estiverem nesta lista n?o ser?o analisados por ele.
O segundo e o history ou seja, tudo que o ps j? fez, desde analisar conex?es e bloquear estar? listado neste arquivo. Equivale a um ~/.bash_history.
O terceiro e a lista negra do portsentry, os atacantes bloqueados por ele,
e os hosts que ele colocou como perigosos.

Essa lista voc? deve ficar esperto porque as vezes algu?m pode cair ai por engano de um falso positivo, ent?o fique sempre analisando esta lista
para n?o ficar sem determinados servi?os de comunica??o

Vamos ver agora uma op??o muito maneira do Port Sentry que e a
KILL_ROUTE .

Esta fun??o como j? diz o nome killa a rota do atacante, passando a ignorar todo e qualquer pacote e requisi??o feita por ele por tempo que voc? ira determinar ( logo mostraremos como).

Como usamos linux a op??o que vamos habilitar ser? a :

KILL_ROUTE=”/usr/local/sbin/iptables -I INPUT -s $TARGET$ -j DROP”

Como voc? pode ver e uma regra simples, voc? pode melhorar a regra
do jeito que achar melhor e tudo mais, iptables meu amigo tem 10001 possibilidades.
OBS: $TARGET$ = ip do atacante que ele detectou

Alem de bloquear pelo iptables voc? tamb?m pode utilizar Tcp Wrappers para
isso:

KILL_HOSTS_DENY=”ALL: $TARGET$ # Portsentry blocked”

n?o recomendo a se??o de Droping Route porque da mais trabalho de
liberar ips bloqueados. KILL_ROUTE j? e mais que suficiente.

##############
# External Command#
##############

Essa parte permite voc? realizar um comando externo ao portsentry
para reagir ao ataque ou para escrever algum log especial.

#KILL_RUN_CMD=”/some/path/here/script $TARGET$ $PORT$”

Como podem ver a sintaxe padrao e como se fosse executar um
“contra ataque” mas isso n?o e muito interessante n?o e mesmo.

Creio que para nos seria mais interessante escrever um log com os
ips atacantes e tal. Bom fica a seu crit?rio
onde $PORT$ e a mesma porta onde voc? foi atacado.

###############
# Port Banner Section#
###############

Essa e a parte mais legal do portsentry.
Como voc? viu l? em cima ele fica analisando varias portas, se algu?m passar um scan de portas e n?o for barrado por algum motivo ele vai
tentar conectar em alguma porta chamativa como 79 5555 e ter? uma surpresa:

PORT_BANNER=”** Unauthorized Access Prohibited ** Your Connection attempt has been logged . . . GO AWAY!!”

Ele ir? ver essa mensagem em seu cliente telnet por exemplo e sua rota ser? killada.

Coloque algo ao seu gosto:

” Cai fora seu enxerido !!! aqui esta o seu ip $TARGET$”

Fica ao seu Gosto 🙂

Agora para iniciar o portsentry basta executar:

$portsentry -tcp

$portsentry -udp

E prontinho o portsentry estar? protegendo seu sistema.

Considera??es Finais

Como viram e muito simples configurar o portsentry.
Fica para uma pr?xima vez uma pequena analise do logcheck okei.

Testem ele ai em suas maquinas e tentem refinar a qualidade das
prote??es a seu gosto ver?o que pode ser feita muita coisa legal com ele
integra-lo com snort e psad fica muito bom.

Bom Cordial abra?o a todos.

Spawn Locoust

PS: Seguem alguns links

http://linux.cudeso.be/linuxdoc/portsentry.php
http://www.linuxsecurity.com.br/article.php?sid=8365
http://www.linux.ie/articles/portsentryandsnortcompared.php
http://www.securityfocus.com/infocus/1580

Ate o Pr?ximo.
Forte Abra?o a Todos.

Spawn locoust

About the author

By Jaccon

Arquivos

Andre Jaccon Logo