Zamiast dokonać ewentualnych hakerów ze skanowania portu na moim serwerze, chciałbym po prostu sfałszować, że sshd nasłuchuje na porcie 22 i rejestruje próby. Czy to ma sens? Jeśli tak, to jakie aktywne narzędzia / biblioteki są dostępne.
Zamiast dokonać ewentualnych hakerów ze skanowania portu na moim serwerze, chciałbym po prostu sfałszować, że sshd nasłuchuje na porcie 22 i rejestruje próby. Czy to ma sens? Jeśli tak, to jakie aktywne narzędzia / biblioteki są dostępne.
Odpowiedzi:
Możesz także po prostu zalogować wszystkie próby połączenia z portem 22 za pomocą iptables, nawet jeśli nic nie nasłuchuje na tym porcie:
$ sudo iptables -A INPUT -p tcp --dport 2222 -j LOG
$ nc localhost 2222
$ tail -n1 /var/log/syslog
Oct 26 13:35:07 localhost kernel: [325488.300080] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=56580 DF PROTO=TCP SPT=35625 DPT=2222 WINDOW=43690 RES=0x00 SYN URGP=0
Aby odpowiedzieć na pytanie „Czy to ma sens?” Pytam: „Czy jesteś badaczem bezpieczeństwa?” Jeśli odpowiesz tak, uruchomienie honeypot ssh miałoby sens.
Jeśli tylko uruchamiasz usługę produkcyjną i nie przejmujesz się nieudanym skanowaniem, po prostu uruchom sshd na innym porcie z dodatkowymi mechanizmami uwierzytelniania (takimi jak tylko klucz publiczny lub wymagającym Yubikey lub podobnego urządzenia) i upuść port 22 ruch bez logowania.
Istnieją robaki ssh brute force aktywnie skanujące Internet, które będą sprawdzać twój port ssh przez cały dzień, a jeśli nie będziesz przeglądał danych z dzienników zapory ogniowej lub honeypotów, wszystko, co robisz, to marnowanie miejsca na dysku.
Chcesz plaster miodu.
Przykład: http://code.google.com/p/kippo/