Guten Morgen zusammen,
beim rumspielen am Wochenende habe ich folgendes entdeckt:
https://github.com/itskenny0/fail2ban-endlessh
Bei zu vielen Fehlversuchen leitet iptables auf die SSH-Teergrube um.
Mir würde eine andere Methode besser gefallen...
Auf dem SSH Port lauscht standardmäßig die Teergrube es sei denn es wird mit Portknocking das richtige SSH "aktiviert".
Leider habe ich keine ahnung von knockd.
Hat sowas schon mal jemand gemacht?
Wie schätzt ihr sshtarpit (https://pypi.org/project/ssh-tarpit) ein. Sehr ihr ein unnutz großes Sicherheitsrisiko?
Es geht mir hierbei übrigens nicht um einen Sicherheitsgewinn. SSH geht bei mir sowieso nur mit Zertigikaten und Passwort ist für alle Benutzer deaktiviert.
Eigentlich will ich nur die Botnetze ärgern...
[GELÖST] knockd und ssh / sshtarpit
[GELÖST] knockd und ssh / sshtarpit
Zuletzt geändert von cosphi am 08.03.2021 20:13:40, insgesamt 3-mal geändert.
Re: knockd und ssh / sshtarpit
Wenn du den SSH-Port durch Knocking freischaltest, braucht du doch gar keine Teergrube mehr.
Knocking ist ein durchaus interessantes Konzept, allerdings mit Schwächen. Ein Problem ist, daß die UDP-Pakete, die für das Knocking vom Client verschickt werden, z.B. in Firmenfirewalls hängen bleiben können. In so einem Fall kannst du nicht anklopfen und deinen SSH-Port aufmachen.
Knocking ist ein durchaus interessantes Konzept, allerdings mit Schwächen. Ein Problem ist, daß die UDP-Pakete, die für das Knocking vom Client verschickt werden, z.B. in Firmenfirewalls hängen bleiben können. In so einem Fall kannst du nicht anklopfen und deinen SSH-Port aufmachen.
Re: knockd und ssh / sshtarpit
Wie gesagt.
Es geht mir persönlich um das umschalten so dass ich SSH Nutzen kann wenn ich es brauche.
Ansonsten garf (um Botnetze zu ärgern) gerne der tarpit hören...
Es geht mir persönlich um das umschalten so dass ich SSH Nutzen kann wenn ich es brauche.
Ansonsten garf (um Botnetze zu ärgern) gerne der tarpit hören...
Re: knockd und ssh / sshtarpit
Leide bekomme ich wie gesagt den knockd nicht hin
/etc/knockd.conf
Ein "knock localhost 4000 5000 6000 -v" macht leider gar nichts.
/var/log/knockd.log
hat leider keinen Inhalt
Edit:
Die Mailbefehle habe ich durch "echo start >> /tmp/knockd" und "echo stop>> /tmp/knockd" ersetzt.
Leider ohne Erfolg... Die Datei in tmp wird nichtmal angelegt. Somit gehe ich davon aus dass der Befehl nie ausgeführt wird...
Edit2:
Auch ein Angeben des Interfaces mittels "Interface = ens192" unter [options] hat nicht geholfen.
/etc/knockd.conf
Code: Alles auswählen
[options]
LogFile = /var/log/knockd.log
[test]
sequence = 4000,5000,6000
seq_timeout = 15
start_command = echo "start_command" | mail -s "start" meine@email.de
cmd_timeout = 30
stop_command = echo "stop_command" | mail -s "stop" meine@email.de
tcpflags = syn
/var/log/knockd.log
hat leider keinen Inhalt
Edit:
Die Mailbefehle habe ich durch "echo start >> /tmp/knockd" und "echo stop>> /tmp/knockd" ersetzt.
Leider ohne Erfolg... Die Datei in tmp wird nichtmal angelegt. Somit gehe ich davon aus dass der Befehl nie ausgeführt wird...
Edit2:
Auch ein Angeben des Interfaces mittels "Interface = ens192" unter [options] hat nicht geholfen.
Re: knockd und ssh / sshtarpit
Ich antworte mir nochmal selbst...
Man darf nicht von localhost an den Ports klopfen.
Also weder über "localhost" noch über "127.0.0.1" noch über die exerne ip.
Kommt das geklopfe von einem Zweitrechner geht es.
Hier meine knockd Konfig - diese funktioniert erst mal für mich...
(Ich hoffe dass ich beim Übertragen keinen Typo eingebaut habe)
Edit:
Ursprünglich wollte ich es ja so haben dass SSH auf Port 22 und der tarpit auf 2222 läuft.
Mit meiner derzeitigen Lösung ist es erst mal anderst rum.
Gefällt mir noch nicht 100%ig...
Man darf nicht von localhost an den Ports klopfen.
Also weder über "localhost" noch über "127.0.0.1" noch über die exerne ip.
Kommt das geklopfe von einem Zweitrechner geht es.
Hier meine knockd Konfig - diese funktioniert erst mal für mich...
(Ich hoffe dass ich beim Übertragen keinen Typo eingebaut habe)
Code: Alles auswählen
[options]
UseSyslog
LogFile = /var/log/knockd.log
Interface = ens192
[ssh-sshtarpit]
sequence = 4000,5000,6000
seq_timeout = 15
start_command = /sbin/iptables -t nat -D PREROUTING -p tcp -s %IP% --dport 22 -j REDIRECT --to-port 2222
cmd_timeout = 30
stop_command = /sbin/iptables -t nat -A PREROUTING -p tcp -s %IP% --dport 22 -j REDIRECT --to-port 2222
# tcpflags = syn
Ursprünglich wollte ich es ja so haben dass SSH auf Port 22 und der tarpit auf 2222 läuft.
Mit meiner derzeitigen Lösung ist es erst mal anderst rum.
Gefällt mir noch nicht 100%ig...