Como garantir conexões SSH com porto batendo no Linux Centos
- 4562
- 1348
- Randal Kuhlman
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
- « Como fazer backup crontabs de todos os usuários no CentOS, Rhel, Ubuntu e Dabian
- Como configurar S3CMD no Windows e gerenciar baldes S3 »