Ukryj SSH za port knockingiem
Otwarty port SSH przyciąga próby logowania z całego internetu. Port knocking utrzymuje port zamknięty, dopóki nie potwierdzisz znajomości sekretu — następnie otwiera go tylko dla Twojego adresu i tylko na kilka sekund.
Z użyciem knockd i nftables
Domyślnie odrzucaj SSH i akceptuj je wyłącznie z adresów znajdujących się w zbiorze z limitem czasu. knockd dodaje pukający adres do tego zbioru; nftables usuwa go po upływie limitu, a ustanowiona sesja SSH nadal działa.
table inet filter {
set knocked4 {
type ipv4_addr
flags timeout
}
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif "lo" accept
tcp dport 22 ip saddr @knocked4 accept
}
} Sekcja knockd, która wypełnia zbiór:
[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 } Oddziel stały dostęp
Jeśli chcesz również stale zezwalać na dostęp z niektórych adresów, przechowuj je w osobnym zbiorze bez limitu czasu. Dodanie adresu, który już znajduje się w zbiorze z limitem czasu, nie resetuje tego limitu, więc łączenie obu rodzajów wpisów w jednym zbiorze może odciąć Ci dostęp po upływie czasu.
Możesz też użyć fwknop
fwknop SPA jest bezpieczniejsze niż sekwencja: to jeden zaszyfrowany, uwierzytelniony pakiet, którego nie można odtworzyć. Zobacz przewodnik fwknop.
Z iPhone’a do SSH
- 1Przytrzymaj mosiężną kołatkę. Secret Knock sprawdza, czy port 22 odpowiada, i pokazuje, jak długo pozostaje otwarty.
- 2Otwórz SSH otwiera Twoją aplikację SSH za pomocą łącza ssh:// do serwera.
- 3Opcja „Utrzymuj uchylone drzwi, gdy wyświetlany jest ich ekran” ponawia pukanie na krótko przed końcem okna, gdy drzwi są widoczne na ekranie.
Wszystkie przykłady na GitHubie → Każda konfiguracja z tej strony, gotowa do skopiowania: github.com/mobilcomm/secretknock-examples (domena publiczna).
Pytania
Czy to zastępuje klucze SSH?
Nie. Port knocking ukrywa usługę; nadal używaj silnych kluczy SSH i wyłącz logowanie za pomocą hasła.
Przewodniki dotyczące Twojej konfiguracji
- Port knocking wyjaśniony →
- knockd na iPhone’a, iPada i Maca →
- fwknop SPA na iPhonie, Macu i Apple Watch →
- Pukanie portami MikroTik →
- Pukanie do portów DrayTek Vigor →
- Port knocking na Apple Watch →
- Dlaczego zapukanie nie otwiera portu →
- Przykłady knockd.conf →
- konfiguracja serwera fwknop →
- Port knocking, VPN czy fail2ban? →