Eu tenho um servidor Debian 8
com um ip público e bloqueio e acesso aberto quando quero usar knockd
:
apt-get install -y knockd
No arquivo de configuração /etc/knockd.conf
:
[options]
UseSyslog
[openSSH]
sequence = 2009,8019,9099
seq_timeout = 20
command = /sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 2000,1449,6712
seq_timeout = 20
command = /sbin/iptables -D INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
tcpflags = syn
Agora, você precisa reiniciar o serviço com /etc/init.d/knockd restart
Para abrir e fechar a porta ssh, eu tenho um script no meu pc:
Abrir
#!/bin/bash
PATH=$PATH:/usr/local/bin
for i in 2009 8019 9099
do
nmap -Pn -p ${i} --max-retries 0 myremoteserverip
done
Fechar
#!/bin/bash
PATH=$PATH:/usr/local/bin
for i in 2000 1449 6712
do
nmap -Pn -p ${i} --max-retries 0 myremoteserverip
done
Agora, a última etapa é bloquear todo o tráfego de entrada com iptables -P INPUT DROP
Neste ponto, você pode tentar abrir a porta ssh, usando o script, faça isso, se você tiver o console para entrar no seu servidor, se você bloquear.