Klient knockd na iPhone’a, iPada i Maca
knockd otwiera port, gdy jeden adres trafi w tajną sekwencję portów w odpowiednim czasie. Secret Knock wysyła tę sekwencję z iPhone’a, iPada, Maca lub Apple Watch, sprawdza, czy port odpowiada, i otwiera aplikację SSH.
Co wysyła Secret Knock
Każdy krok drzwi to puknięcie TCP lub UDP do jednego portu, z opcjonalnym opóźnieniem przed nim oraz — w przypadku UDP — opcjonalnymi danymi payload jako tekst lub kod szesnastkowy. Puknięcie TCP to jedna próba połączenia: aplikacja wysyła pojedynczy SYN i natychmiast zamyka próbę, dzięki czemu system operacyjny go nie retransmituje — knockd 0.8 resetuje sekwencję po powtórzonym SYN.
Sekwencje jednorazowe (one_time_sequences w knockd) również działają: wybierz Typ pukania › Sekwencje jednorazowe (knockd) i wprowadź listę; po pukaniu, które uchyliło drzwi, Secret Knock przechodzi do następnej sekwencji. Importowanie pliku knockd.conf nie odczytuje pliku sekwencji — import wyświetla taką informację — dlatego wprowadź tę listę ręcznie.
Skonfiguruj serwer
Minimalna sekcja knockd, która otwiera SSH dla pukającego adresu na 10 sekund. Wybierz własne porty — nigdy nie używaj ponownie opublikowanych przykładów.
[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 Dodaj drzwi w aplikacji
- 1Szablon Nowe drzwi › Zacznij od szablonu › knockd (przykład: 7000, 8000, 9000) wypełnia trzyportową sekwencję TCP oraz ustawia SSH jako port do sprawdzenia; zastąp porty własnymi.
- 2Możesz też wybrać + › Importuj z pliku i wskazać plik knockd.conf: każda sekcja z sekwencją staje się drzwiami.
- 3Ustaw IPv4 lub IPv6 na stałe dla drzwi, jeśli knockd na serwerze nasłuchuje tylko jednej rodziny adresów.
- 4Naciśnij i przytrzymaj mosiężną kołatkę. Gdy port 22 odpowie, drzwi pokażą stan Uchylone drzwi, a Otwórz SSH przekaże Cię do aplikacji SSH.
Wszystkie przykłady na GitHubie → Każda konfiguracja z tej strony, gotowa do skopiowania: github.com/mobilcomm/secretknock-examples (domena publiczna).
Pytania
Czy działa z tcpflags = syn w knockd?
Tak. Każde puknięcie TCP to pojedynczy SYN, czyli dokładnie to, co zlicza tcpflags = syn.
Czy mogę zobaczyć to samo puknięcie jako polecenie?
Tak. Edytor drzwi pokazuje puknięcie jako polecenie knock dla terminala, gotowe do wklejenia.
Przewodniki dotyczące Twojej konfiguracji
- Port knocking wyjaśniony →
- fwknop SPA na iPhonie, Macu i Apple Watch →
- Pukanie portami MikroTik →
- Pukanie do portów DrayTek Vigor →
- Ukryj SSH za port knockingiem →
- Port knocking na Apple Watch →
- Dlaczego zapukanie nie otwiera portu →
- Przykłady knockd.conf →
- konfiguracja serwera fwknop →
- Port knocking, VPN czy fail2ban? →