Como garantir conexões SSH com porto batendo no Linux Centos

Como garantir conexões SSH com porto batendo no Linux Centos

Porto batendo é uma técnica usada para proteger conexões ou acesso à porta de usuários indesejados. Usando esta técnica, mantemos uma ou mais portas configuradas anteriormente fechadas e elas só serão abertas usando uma sequência de solicitações para várias portas que prejudicam .

Para dar um exemplo, se configurarmos o acesso à porta ao acessar à porta 50, esta porta estará aberta apenas quando fizer solicitações às portas 1000.2500.3000 nessa ordem, fazendo isso, uma vez que concluímos a sequência corretamente, o firewall abrirá a porta que foi fechada anteriormente.Com isso, adicionamos outro nível de segurança a certos tipos de conexões ao nosso servidor.

O cliente pode executar a porta batendo usando NMAP, Telnet ou uma ferramenta para esses fins.

Vamos proteger conexões SSH usando este método em um servidor executando o Linux CentOS . Siga as etapas abaixo como raiz.

Instale pré -requisitos

Instale os pacotes da biblioteca libpcap como exigência de knock-server

# yum install libpcap* 

Instale o pacote de servidor de knock

Baixe e instale o pacote RPM de servidor knock

# wget http: // li.Nux.ro/download/nux/misc/el6/i386/knock-server-0.5-7.EL6.Nux.I686.rpm # rpm -ivh knock-server-0.5-7.EL6.Nux.I686.RPM 

Antes de configurar o daemon knockd, devemos criar uma regra iptable as quedas de todas as conexões com a porta SSH, neste caso, usaremos o padrão (22).

# iptables -a input -p tcp - -dport 22 -j gota # serviço iptables salvar 

[Nota: não use abaixo o comando, você está conectado ao SSH ao servidor, ele soltará sua conexão atual]

OK, agora podemos configurar nosso daemon knockd para que a porta SSH seja aberta após uma sequência correta de batendo na porta. Editar arquivo de configuração Knockd Adicionar valores seguintes

# vi /etc /knockd.conf 
[Opções] LogFile =/var/log/knockd.LOG [OpenSSH] Sequência = 5040.6010.6500 seq_timeout = 30 tcpflags = syn start_command = /sbin /iptables -i input -s % ip % -p tcp - -dport 22 -j aceitar [fechamento] sequência = 4040,505050, 8080 seq_timeout = 30 comando = /sbin /iptables -d entrada -s % ip % -p tcp - -dport 22 -j aceita tcpflags = syn 

Salve o arquivo e saia (: WQ!)

Finalmente comece o serviço Knockd

# serviço knockd start 

Como usar o porto knowcking

Aqui para abrir a porta SSH, vamos bater portas 5040.6010.6500 E quando a sequência for concluída corretamente, ele executará um comando que adicionará uma regra no firewall para permitir a conexão ao nosso servidor Linux via porta 22 . Temos outra diretiva para fechar a porta, batendo portas 4040.5050.8080 Ele executará um comando que removerá a regra do firewall que nos permitiu fazer a conexão via SSH.

Para bater nas portas, você pode usar a ferramenta NMAP ou telnet da seguinte forma. Para este exemplo, usamos o NMAP.

Para abrir a conexão SSH

# nmap -p 5040 servidor -ip # nmap -p 6010 servidor -ip # nmap -p 6500 servidor -ip 

Para fechar a conexão

# nmap -p 4040 servidor -ip # nmap -p 5050 servidor -ip # nmap -p 8080 servidor -ip 

Se virmos o log de Knockd, teremos algo assim

# cauda/var/log/knockd.Log [2014-04-10 05:20] 192.168.1.184: OpenSsh: estágio 1 [2014-04-10 05:21] 192.168.1.184: OpenSsh: estágio 2 [2014-04-10 05:21] 192.168.1.184: OpenSsh: estágio 3 [2014-04-10 05:21] 192.168.1.184: OpenSsh: Open Sesame [2014-04-10 05:21] OpenSsh: Running Command: /Sbin /iptables -i Input -s 192.168.1.184 -P TCP - -Dport 22 -j Aceitar 

Vou mostrar um pouco mais gráfico .

Esta é uma breve representação do processo, incluindo autenticação com as chaves RSA.

Aqui temos nossas conexões remotas com um bom nível de segurança e combinamos com a autenticação RSA, endurecemos ainda mais a conexão. Podemos usar este método para proteger qualquer tipo de conexão com nosso servidor Linux. Para ler mais sobre visite http: // www.zeroflux.org/projetos/bata