Wie kann ich Port 22 fälschen, wenn ich sshd dazu gebracht habe, einen anderen Port abzuhören?

9

Anstatt die möglichen Hacker vom Port-Scannen meines Servers abzuhalten, möchte ich nur vortäuschen, dass sshd Port 22 abhört, und die Versuche protokollieren. Wird es Sinn machen, das zu tun? Wenn ja, welche aktiv entwickelten Tools / Bibliotheken sind verfügbar?

Jürgen Paul
quelle
1
Sie sollten sich jedoch besser daran erinnern, dass die Installation zusätzlicher Software das Penetrationsrisiko ohnehin erhöht. Es könnte wahr sein, dass OpenSSH stärker einzubrechen wäre als alles "Falsche" wie Honeypot, z. Es bedeutet also, dass Sie die Installation in gewisser Weise härten müssen.
Poige

Antworten:

9

Sie können auch einfach alle Versuche protokollieren, mit iptables eine Verbindung zu Port 22 herzustellen, auch wenn dieser Port nicht überwacht wird:

$ 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 
Dennis Kaarsemaker
quelle
4

Um die Frage zu beantworten: "Wird es Sinn machen, das zu tun?" Ich frage: "Sind Sie ein Sicherheitsforscher?" Wenn Sie mit Ja antworten, ist es sinnvoll, einen SSH-Honeypot zu betreiben.

Wenn Sie nur einen Produktionsdienst ausführen und sich nicht um fehlgeschlagene Scans kümmern, führen Sie Ihren sshd einfach an einem anderen Port mit zusätzlichen Authentifizierungsmechanismen aus (z. B. nur mit öffentlichem Schlüssel oder mit einem Yubikey oder einem ähnlichen Gerät) und löschen Sie Port 22 Verkehr ohne es zu protokollieren.

Es gibt Brute-Force-SSH-Würmer, die aktiv das Internet scannen und Ihren SSH-Port den ganzen Tag über untersuchen. Wenn Sie die Daten aus Firewall-Protokollen oder Honeypots nicht anzeigen möchten, verschwenden Sie lediglich Speicherplatz.

Paul Gear
quelle
3
Die Frage für mich ist nicht "Kann ich das tun?", Sondern "Soll ich das tun?". Ich sehe viele Systemadministratoren oder Entwickler, die Dinge tun, weil sie denken, dass sie es sollten, oder weil ihnen jemand gesagt hat, dass sie es sollten oder weil "alle" anderen es tun. Es ist Zeit-, Geld- und Energieverschwendung, etwas zu tun, ohne klar definierte Bedürfnisse, Ziele und erwartete Ergebnisse zu haben.
Joeqwerty