Port knocking - Instalação e configuração

Publicado por Rick em 08/08/2012

[ Hits: 11.061 ]

Blog: http://www.guiadoti.com

 


Port knocking - Instalação e configuração



Esta dica mostra como melhorar a segurança de um servidor utilizando o Port knocking. É extremamente simples, porém funcional.

Espero que gostem. :)

Instalando e configurando

Pessoal, hoje nós iremos abordar a instalação e configuração do knockd, ele é um port knocking que atua ouvindo conexões em determinadas portas previamente determinadas e executa comandos quando as sequências de conexões são enviadas corretamente.

Assim, podemos deixar nossas portas fechadas e abrir quando é conveniente e depois fechá-las novamente. Isso ajuda bastante a segurança em nosso servidor, pois se um possível atacante scanear nosso servidor, ele verá que está tudo fechado (nesta dica, iremos abordar somente a configuração do SSH, mas para os demais serviços, a lógica é a mesma).

Isto dificultará bastante o trabalho dele, para utilizar o knockd, precisamos instalá-lo em nosso servidor e no cliente.

Execute o seguinte comando, para instalar o knockd no servidor e no cliente:

# aptitude install knockd

Obs.: No ambiente de teste, o IP do meu servidor é 192.168.0.55.

Bem, depois de instalar o pacote no servidor, precisamos configurar o knockd, para isso, entre no arquivo /etc/knockd.conf:

# pico /etc/knockd.conf

O arquivo de configuração do knockd é bem simples de entender, mas para aqueles que não tem muita intimidade, segue as linhas comentadas:

[options]
# Define que o Syslog será o responsável pelo log.
UseSyslog

# Aqui temos duas sequencias uma “Open SSH” e outra “Close SSH”.

[openSSH]
# Define a sequencia das portas para executar o comando da linha abaixo.
sequence = 7000,8000,9000
# Define o tempo em segundos que os pacotes não poderão ultrapassar para a sequencia ser validada.
seq_timeout = 5
# Comando a ser executado se a sequencia for validada.
command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
# Tipo da flag para conexão
tcpflags = syn

# A lógica das opções abaixo é exatamente das opções acima

[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 5
command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn


Obs.1: Lembrando que, aqui estamos usando a porta padrão do SSH, caso você esteja utilizando outra porta para seu SSH mude de acordo com a sua configuração.

Obs.2: Aqui estamos utilizando as portas que já vem por padrão no knockd, é de suma importância que elas sejam alteradas, e de preferência as portas tem de ser aleatórias e não sequenciais.

Feita as configurações necessárias, precisamos alterar o arquivo default do knockd:

# pico /etc/default/knockd

- Altere a opção "START_KNOCKD=0" para "=1" e,
- Altere a opção KNOCKD_OPTS="-I eth0"

Obs.: Altere a interface de acordo com a sua configuração.

Depois disso, podemos iniciar nosso port knocking:

# /etc/init.dknockd start

Com nosso servidor já configurado. é hora de testar. Em nosso cliente, iremos executar os seguintes comandos:

# knock 192.168.0.55 7000:tcp 8000:tcp 9000:tcp

Feito isso execute iptables -nL no servidor, e veja se a regra foi criada. Agora é só conectar-se normalmente ao SSH:

# ssh user@192.168.0.55

Quando encerramos nossa conexão com o SSH, não podemos esquecer de fechar a porta do SSH no servidor, para isso execute o comando abaixo:

# knock 192.168.0.55 9000:tcp 8000:tcp 7000:tcp

Feito isso, nosso servidor já esta com a porta 22 fechada.

Bem pessoal, é isso. Esta é uma ótima ferramenta, e vale a pena ser usada. Até a próxima. :)

Dica previamente publicada em:

Outras dicas deste autor

Auditando com Lastcomm

ProFTPD - Enjaulando usuários no diretório HOME

Configurando o Redmine para enviar e-mails via Gmail

Proxy com WPAD pelo DHCP

Ambiente seguro com chroot

Leitura recomendada

PHP4 + HTTPD2

Como conectar à Internet via GPRS (operadora Oi, modem ts9989i) usando o Ubuntu

Formatando datas no Java e convertendo para o Firebird

Gentoo 99% puro em menos de 5 minutos

Solução "definitiva" - Placas SIS Mirage 3 Graphics (771/671) e Wireless RTL8187B

  

Comentários
[1] Comentário enviado por removido em 08/08/2012 - 12:08h

vou ler com calma para ver se é de fácil uso.

[2] Comentário enviado por luisfeliperm em 25/11/2019 - 02:59h

Vou usar sempre



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts