quarta-feira, 29 de março de 2017

Knock SSH :: Adicionando uma camada de segurança divertida para nossos serviços


Hoje vamos abordar um esquema bem divertido que conheci esses dias, o Knock.
O Knock funciona como uma camada extra de proteção para portas SSH e demais outros serviçes, pois é bem customizado. Nele iremos definir uma sequência fixa de portas, onde um cliente irá mandar pacotes, e caso a sequência for correta, o servidor irá executar uma, ou mais ações, como liberar ou fechar portas de serviços como o próprio SSH.

Configurando o Servidor

Instalando o Knock
$ sudo apt-get install knockd

Editando o arquivo de configuração do Knockd
$ vim /etc/knockd.conf 



Aqui vamos testar o openSSH e closeSSH. Aqui iremos definir uma sequencia de portas que iremos "bater" para abrir e outra sequencia que iremos fechar a nossa porta do SSH no IPTables.

Edite o arquivo knockd para definir qual placa de rede irá ficar responsável por responder as "batidas"

$ sudo vim /etc/default/knockd
# 1 = start
# anything else = don't start
# PLEASE EDIT /etc/knockd.conf BEFORE ENABLING
START_KNOCKD=1

# command line options
KNOCKD_OPTS="-i wlan0"

Agora nosso server já está configurado, e já está pronto para fazer nosso IPtables responder a nossa "senha secreta do clube do bolinha". Mas como informamos essa sequência, e por onde? Pra isso precisamos configurar nosso cliente.

Configurando o Cliente

Da mesma forma que instalamos no server, podemos tambem instalar no client.

Instalando o Knod
$ sudo apt-get install knockd

Abrir porta SSH

Agora vamos abrir a porta do SSH enviando uma série de pacotes para nossa sequência de portas que definimos. Nesse caso utilizamos as Default como ilustração, então é altamente recomendável que você as troque. 

$ knock 192.168.0.123 7000:tcp 8000:tcp 9000:tcp

Agora é só prosseguir com a conexão SSH normal.
$ ssh matheus@192.168.0.123


Terminei, agora preciso fechar a porta SSH

Vamos realizar o envio de pacotes para a segunda sequência que definimos. Isso irá fazer o Knock executar o comando de bloqueio da porta SSH
$ knock 192.168.0.123 9000:tcp 8000:tcp 7000:tcp


Espero ter ajudado! :)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Analista DevOps e Desenvolvedor Web Backend. Apaixonado por Linux, Arquitetura, API's, Containers, Integração, Código, Testes, Escalabilidade e Cloud. :)

Postar um comentário

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com