Abhängig davon, wofür SSH benötigt wird, können Sie dieses Ziel (für nicht triviale) Dateien möglicherweise erreichen, indem Sie IPTables zum Beenden von Sitzungen verwenden, wenn die Paketgröße größer als 1400 Byte ist. Dies bedeutet, dass interaktives ssh meistens funktioniert. Sobald jedoch versucht wird, ein 1500-Byte-Paket zu senden, wie es scp für eine Datei mit mehr als 1499 Bytes bei einer Standard-MTU von 1500 tun sollte, wird die Verbindung beendet.
Dadurch wird auch der von Ihnen erwähnte "Catting" -Angriff verhindert.
Leider bedeutet dies, dass Sie möglicherweise Probleme haben, einige Dateien mit einem Texteditor zu bearbeiten, wenn der Bildschirm mehr als 1400 Zeichen zeichnen muss oder wenn Sie eine lange Datei kategorisieren oder eine lange Verzeichnisliste erstellen müssen.
Im einfachsten Fall könnte ein entsprechender Befehl ungefähr so aussehen
iptables -I OUTPUT -p tcp --dport 22 -m length --length 1400:0xffff -j DROP
Wir können dies verbessern, indem wir die Paketlängenprüfungen mit ipt_recent kombinieren, sodass Sie innerhalb eines festgelegten Zeitrahmens (z. B. 8 Pakete pro 5 Sekunden) eine begrenzte Anzahl von Paketen zulassen, die größer als 1400 Bytes sind. Dadurch könnten Pakete mit einer Länge von bis zu 12 KB verrutschen Möglicherweise erhalten Sie jedoch die Interaktivität, die Sie zum Bearbeiten von Dateien usw. benötigen. Sie können natürlich die Anzahl der Pakete anpassen.
Das könnte ungefähr so aussehen
iptables -I OUTPUT -p tcp --dport 22 -m length --length 1400:0xffff \
-m recent --name noscp --rdest --set
iptables -I OUTPUT -p tcp --dport 22 -m length --length 1400:0xffff \
-m recent --name noscp --rdest --update --seconds 5 --hitcount 8 \
-j REJECT --reject-with tcp-reset
Die obigen Regelbeispiele schützen nur vor scp-Uploads wie scp myfile.data remote.host:~
. Um zusätzlich gegen scp Downloads zu schützen wie scp remote.host:~/myfile.data /local/path
, wiederholen Sie die oben genannten Regeln aber ersetzen --dport
mit --sport
.
Ein aufmerksamer Hacker kann diese Einschränkungen umgehen, indem er auf seinem Computer eine MTU von weniger als 1400 einstellt (oder eine MTU oder ähnliches erzwingt). Auch wenn Sie dies nicht auf bestimmte Benutzer beschränken können, können Sie es durch Ändern der iptables-Zeilen nach IP einschränken !!
Prost, David Go