O Globo Informática
Etc..
Port knocking, o ‘abre-te Sésamo’ das máquinas

Por André Machado
A melhor maneira de entender a tecnologia de port knocking
(bater à porta, em inglês) é lembrar a história
de Ali Babá e os 40 ladrões. Principalmente daquela
cena em que Ali Babá se posta em frente à caverna
do tesouro e diz “Abre-te, Sésamo” para a
porta abrir, dando acesso ao tesouro. Segundo Alexandre
Freire, especialista em segurança sênior
da Schlumberger Information Solutions e professor convidado
do curso de Pós-Graduação em Segurança
da Informação do Núcleo de Computação
Eletrônica da UFRJ, port knocking é isso: um código
que faz portas se abrirem. Mas portas de um computador —
normalmente um servidor dentro de uma rede.
Uma tecnologia cujo mote é a discrição
absoluta
Essa tecnologia de segurança, desenvolvida inicialmente
para o mundo open-source, anda gerando um burburinho entre a
turma de administração de rede e de segurança.
Ela tem um grande diferencial em relação a outras
tecnologias de acesso a dados preciosos (o tesouro da informação)
em servidores ou computadores em geral: é silenciosa,
sem alarde. E, principalmente, pode trabalhar com máquinas
em que o firewall mantém, inflexível, TODAS as
portas bem fechadas.
Mas, no fundo, ele não é tão inflexível
assim: basta receber o código certo. Freire
explica que o port knocking tem duas pontas: um programa que
roda numa estação de trabalho (chamado port knocking
client) e outro que fica no servidor (batizado de port knocking
daemon).
— Funciona assim: o programa da estação
se comunica com o programa do servidor e lhe envia uma quantidade
de números de portas, numa seqüência preestabelecida
— explica. — Digamos que mandou, em menos de cinco
segundos, a seqüência de portas portas TCP 1020,
1050, 80, 22 e 75. O que acontece? O programa no servidor percebe
“opa, esta é a seqüência para permitir
que o firewall abra a porta tal”.
E então o que faz o programa do servidor? interage com
o firewall da máquina, abre o firewall e diz a ele: “vou
manipular suas regras. Insira mais uma regra agora, habilitando
o serviço específico que esse cliente aqui, neste
IP, solicitou, ao mandar a seqüência certa de portas”.
Pronto, cria-se uma regra em tempo real para acessar qualquer
serviço no servidor — administração
remota, aplicações web, transferência de
arquivos e assim por diante.
O interessante é que só no fim do processo o
firewall permite a entrada no servidor. Durante o envio da seqüência,
ou código, ele fica fechadinho, rejeitando normalmente
os requests que chegam. Só quando o port knocking do
servidor se dá conta de que o código certo foi
mandado, em poucos segundos, é que o processo tem início
de fato.
Não por acaso, o tempo é fundamental na configuração
dos códigos — pode haver diferentes códigos
para abrir diferentes portas, é tudo uma questão
de configuração dos programas de port knocking.
— O intervalo de tempo é importante no processo.
Se o intervalo for maior que o esperado, não há
detecção da tentativa de conexão —
diz Freire. — O ideal é que o
intervalo seja o mínimo possível, para evitar
que algum aventureiro dê a sorte de acertar uma seqüência
e habilitar uma regra no firewall para outro IP, provavelmente
com intenções malignas.
Ninguém consegue detectar um port knocking na rede
O servidor que roda o port knocking daemon analisa todo esse
processo “na moita”. Ele não retorna nada
para o cliente enquanto este não manda a seqüência
de portas para lá. Fica monitorando o tráfego
nas interfaces de rede (modo ativo) ou simplesmente analisando
os logs gerados pelos firewalls (modo passivo). Identificada
uma seqüência certa, a ação é
automática para a criação da nova regra
no firewall.
— Um dos grandes benefícios do processo é
que ninguém consegue detectar que um host ou servidor
está rodando um programa de port knocking daemon. Afinal,
todas as portas estão fechadas e o processo é
silencioso, discretíssimo — diz Freire.
Desenho original foi para a seara Unix/Linux
Com o mesmo processo é possível acessar o computador
de casa (se este tiver uma conexão ADSL e um firewall
fechado), mandando códigos para interagir com determinadas
portas.
— Naturalmente, é preciso ter algum conhecimento
técnico para fazer isso. Mas é uma boa: pode-se
pegar aquela planilha ou apresentação que se esqueceu
em casa sem descuidar da segurança. — vaticina
Freire.
O desenho original do port knocking é para arquiteturas
Unix/Linux, mas há programas para Windows também.
E o envio da seqüência de portas pode ser criptografado,
se o usuário desejar. Assim se evitam farejamentos (sniffings)
do tráfego pela rede.
Códigos também podem servir ao Lado Sombrio
A hora de fechar a fresta no servidor acessado também
é importante. Ela pode ser feita automaticamente (normalmente
a porta só fica aberta por poucos minutos, por segurança)
ou através do envio de outra seqüência de
portas — é o “fecha-te, Sésamo”.
A tecnologia também tem suas desvantagens. Segundo Alexandre
Freire, há possibilidade de tentativas de ataques
em forma de knocking, tentando adivinhar a seqüência
de portas para abrir uma conexão.
— Mas esses ataques são facilmente identificáveis
pelo firewall. Além disso, o fator tempo, usado no port
knocking com extrema precisão, não costuma estar
presente nesse ataques, que logo mostram a que vieram —
diz ele.
Mais: o código das portas tem de ser absolutamente secreto,
porque é como uma senha em forma de request de portas.
— Essa seqüência deve ser guardada sempre
com o uso de criptografia, de preferência numa mídia
removível.
E o port knocking deve ser muito bem implementado, porque manipula
regras automáticas de firewall. Se o port knocking daemon
falhar ao interpretar o código de portas, pode inviabilizar
totalmente o acesso a um servidor.
Mas o principal perigo está nos cavalos-de-tróia
que já vêm sendo desenvolvidos há algum
tempo para trabalhar no modelo de port knocking.
— É possível a um cracker plantar um programa
de port knocking dentro de máquinas Unix/Linux ou Windows
e enviar posteriormente o código de portas, para habilitar
serviços diversos — diz Freire.
— Na prática, com isso se criam backdoors para
invasões futuras. E esses cavalos-de-tróia que
infestam máquinas com port knocking daemon são
mais difíceis de detectar.
Por esse motivo, quem deseja trabalhar com port knocking não
pode descartar as demais ferramentas de segurança, como
antivírus atualizados, IDSs... (AM)
Alexandre
Freire colabora periodicamente com a midia digital e
impressa em artigos em relação aos mais
diferentes tópicos de Segurança da Informação.
Por diversas oportunidades as matérias receberam
destaque como matérias de capa de diversos jornais
e sites especializados em tecnologia.
Reprodução Oficial - Fonte :
Jornal O Globo - Caderno de Informática (impresso
e digital)
http://oglobo.globo.com/jornal/suplementos/informaticaetc/169447411.asp
|
RETORNAR
PARA PÁGINA PRINCIPAL |