Primjeri za knockd.conf
knockd čita /etc/knockd.conf: odjeljak [options] i jedan odjeljak za svaka vrata. Svaki odjeljak sadrži sekvencu, vremensko ograničenje i naredbu koja se pokreće za adresu s koje se kuca, %IP%. Odaberite vlastite portove — nikad nemojte ponovno upotrebljavati one iz primjera.
Otvorite SSH na nekoliko sekundi
Najčešća postavka: jedno kucanje otvara SSH, a knockd ga ponovno zatvara nakon cmd_timeout. Već otvorene sesije nastavljaju raditi ako vatrozid prihvaća uspostavljene veze.
[options]
UseSyslog
[openSSH]
sequence = 7311:tcp,8822:tcp,9133:udp
seq_timeout = 10
tcpflags = syn
start_command = /usr/sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
cmd_timeout = 10
stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT Zasebne sekvence za otvaranje i zatvaranje
Bez mjerača vremena port ostaje otvoren dok ne pokucate sekvencu za zatvaranje. Praktično je, ali lako je zaboraviti — radije koristite verziju s vremenskim ograničenjem.
[options]
UseSyslog
[openSSH]
sequence = 7311:tcp,8822:tcp,9133:udp
seq_timeout = 10
tcpflags = syn
command = /usr/sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
[closeSSH]
sequence = 9133:udp,8822:tcp,7311:tcp
seq_timeout = 10
tcpflags = syn
command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT Jednokratne sekvence
Umjesto jedne fiksne sekvence, knockd može čitati datoteku sekvenci i prihvatiti svaku samo jednom, tako da se snimljeno kucanje ne može ponovno upotrijebiti. Secret Knock zadržava isti popis i prelazi na sljedeću sekvencu nakon kucanja koje je otvorilo vrata.
[openSSH]
one_time_sequences = /etc/knockd/ssh_sequences
seq_timeout = 10
tcpflags = syn
start_command = /usr/sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
cmd_timeout = 10
stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
# /etc/knockd/ssh_sequences — one sequence per line, each used once
2222:udp,3333:tcp,4444:udp
5555:tcp,6666:udp,7777:tcp
8888:udp,9999:tcp,1111:tcp S nftables
Na sustavima s nftables, dopustite alatu knockd da doda adresu u skup s vremenskim ograničenjem; vodič za skrivanje SSH-a prikazuje odgovarajuću nftables tablicu.
[openSSH]
sequence = 7311:tcp,8822:tcp,9133:udp
seq_timeout = 10
tcpflags = syn
start_command = /usr/sbin/nft add element inet filter knocked4 { %IP% timeout 30s } Nakon uređivanja
- 1Na Debianu i Ubuntuu postavite sučelje na kojem knockd osluškuje u /etc/default/knockd (KNOCKD_OPTS="-i eth0") i ponovno pokrenite knockd.
- 2Pratite rad pomoću journalctl -u knockd -f dok kucate.
- 3U Secret Knocku, + › Uvezi iz datoteke pretvara svaki odjeljak sa sekvencom u vrata; popise jednokratnih sekvenci unesite ručno.
Svi primjeri na GitHubu → Svaka konfiguracija na ovoj stranici, spremna za kopiranje: github.com/mobilcomm/secretknock-examples (javno vlasništvo).
Pitanja
Trebam li koristiti TCP ili UDP korake?
Oboje funkcionira. Kombiniranjem obaju protokola sekvencu je teže pogoditi skeniranjem portova. UDP koraci mogu sadržavati korisne podatke u aplikaciji Secret Knock ako ih vaša postavka provjerava.
Vodiči za vaše postavljanje
- Objašnjenje port knockinga →
- knockd na iPhoneu, iPadu i Macu →
- fwknop SPA na iPhoneu, Macu i Apple Watchu →
- MikroTik kucanje portovima →
- DrayTek Vigor kucanje portova →
- Sakrijte SSH iza kucanja na portove →
- Port knocking na Apple Watchu →
- Zašto kucanje na priključak ne otvara →
- postavljanje poslužitelja fwknop →
- Port knocking, VPN ili fail2ban? →