FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: CottonIJo am 23 September 2019, 16:45:08

Titel: Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: CottonIJo am 23 September 2019, 16:45:08
Hallo zusammen,

immer wenn ich unseren fhem-Server aufgrund von Abwesenheit für den externen Zugriff frei schalte sehe ich im Logfile vom System nachfolgende Einträge.
Ich vermute dahinter Login-Versuche von Web-Scannern. In diesem Beispiel aus USA und China.


2019.09.22 13:51:08 3: Login denied for user >admin< via WEBtablet_162.209.181.239_50827
2019.09.22 13:51:08 3: Login denied for user >super< via WEBtablet_162.209.181.239_50849
2019.09.22 13:51:09 3: Login denied for user >admin< via WEBtablet_162.209.181.239_50867
2019.09.22 13:51:11 3: Login denied for user >admin< via WEBtablet_162.209.181.239_50882
2019.09.22 13:51:11 3: Login denied for user >root< via WEBtablet_162.209.181.239_50941
2019.09.22 13:51:11 3: Login denied for user >root< via WEBtablet_162.209.181.239_50959
2019.09.22 13:51:12 3: Login denied for user >ktroot< via WEBtablet_162.209.181.239_50989
2019.09.22 13:51:12 3: Login denied for user >ktuser< via WEBtablet_162.209.181.239_51007
2019.09.22 13:51:13 3: Login denied for user >ktuser< via WEBtablet_162.209.181.239_51033
2019.09.22 13:51:14 3: Login denied for user >ubnt< via WEBtablet_162.209.181.239_51063
2019.09.22 13:51:15 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51078
2019.09.22 13:51:16 3: Login denied via WEBtablet_162.209.181.239_51130
2019.09.22 13:51:17 3: Login denied for user >root< via WEBtablet_162.209.181.239_51142
2019.09.22 13:51:18 3: Login denied for user >root< via WEBtablet_162.209.181.239_51208
2019.09.22 13:51:19 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51231
2019.09.22 13:51:20 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51306
2019.09.22 13:51:21 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51355
2019.09.22 13:51:24 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51375
2019.09.22 13:51:24 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51426
2019.09.22 13:51:24 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51437
2019.09.22 13:51:25 3: Login denied for user >user< via WEBtablet_162.209.181.239_51453
2019.09.22 13:51:26 3: Login denied for user >root< via WEBtablet_162.209.181.239_51479
2019.09.22 13:51:26 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51498
2019.09.22 13:51:28 3: Login denied for user >ktuser< via WEBtablet_162.209.181.239_51524
2019.09.22 13:51:28 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51579
2019.09.22 13:51:29 3: Login denied for user >user< via WEBtablet_162.209.181.239_51596
2019.09.22 13:51:29 3: Login denied for user >user< via WEBtablet_162.209.181.239_51606
2019.09.22 13:51:30 3: Login denied for user >username< via WEBtablet_162.209.181.239_51634
2019.09.22 13:51:30 3: Login denied for user >user< via WEBtablet_162.209.181.239_51652
2019.09.22 13:51:31 3: Login denied for user >support< via WEBtablet_162.209.181.239_51682
2019.09.22 13:51:31 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51702
2019.09.22 13:51:32 3: Login denied for user >admin< via WEBtablet_162.209.181.239_51725
2019.09.22 13:51:32 3: Login denied for user >user< via WEBtablet_162.209.181.239_51744




2019.09.23 04:15:55 3: Login denied for user >admin< via WEBtablet_162.209.135.157_55630
2019.09.23 04:15:59 3: Login denied for user >super< via WEBtablet_162.209.135.157_55644
2019.09.23 04:15:59 3: Login denied for user >admin< via WEBtablet_162.209.135.157_55726
2019.09.23 04:15:59 3: Login denied for user >admin< via WEBtablet_162.209.135.157_55742
2019.09.23 04:16:00 3: Login denied for user >root< via WEBtablet_162.209.135.157_55754
2019.09.23 04:16:00 3: Login denied for user >root< via WEBtablet_162.209.135.157_55763
2019.09.23 04:16:01 3: Login denied for user >ktroot< via WEBtablet_162.209.135.157_55771
2019.09.23 04:16:01 3: Login denied for user >ktuser< via WEBtablet_162.209.135.157_55780
2019.09.23 04:16:08 3: Login denied for user >ktuser< via WEBtablet_162.209.135.157_55792
2019.09.23 04:16:09 3: Login denied for user >ubnt< via WEBtablet_162.209.135.157_56026
2019.09.23 04:16:12 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56057
2019.09.23 04:16:13 3: Login denied via WEBtablet_162.209.135.157_56246
2019.09.23 04:16:13 3: Login denied for user >root< via WEBtablet_162.209.135.157_56268
2019.09.23 04:16:14 3: Login denied for user >root< via WEBtablet_162.209.135.157_56281
2019.09.23 04:16:14 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56312
2019.09.23 04:16:15 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56346
2019.09.23 04:16:15 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56363
2019.09.23 04:16:16 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56385
2019.09.23 04:16:16 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56400
2019.09.23 04:16:17 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56419
2019.09.23 04:16:18 3: Login denied for user >user< via WEBtablet_162.209.135.157_56434
2019.09.23 04:16:19 3: Login denied for user >root< via WEBtablet_162.209.135.157_56530
2019.09.23 04:16:19 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56558
2019.09.23 04:16:23 3: Login denied for user >ktuser< via WEBtablet_162.209.135.157_56579
2019.09.23 04:16:28 3: Login denied for user >admin< via WEBtablet_162.209.135.157_56708
2019.09.23 04:16:28 3: Login denied for user >user< via WEBtablet_162.209.135.157_56931
2019.09.23 04:16:29 3: Login denied for user >user< via WEBtablet_162.209.135.157_56950
2019.09.23 04:16:29 3: Login denied for user >username< via WEBtablet_162.209.135.157_56978
2019.09.23 04:16:31 3: Login denied for user >user< via WEBtablet_162.209.135.157_57001
2019.09.23 04:16:31 3: Login denied for user >support< via WEBtablet_162.209.135.157_57075
2019.09.23 04:16:32 3: Login denied for user >admin< via WEBtablet_162.209.135.157_57123
2019.09.23 04:16:32 3: Login denied for user >admin< via WEBtablet_162.209.135.157_57147
2019.09.23 04:16:33 3: Login denied for user >user< via WEBtablet_162.209.135.157_57184


Wäre es nicht eine Idee, die Versuche sich auf den Server einzuloggen, nach einer bestimmten Anzahl von Fehlversuchen zeitlich zu verzögern?
Beispiel: Die ersten 3 Versuche sind zeitlich nicht verzögert, der 4. Versuch ist dann erst nach 30Sek, der 5. nach weiteren 60 Sek, dann die Folgenden erst nach 120, 240, 480Sek .. möglich
Sollte zwischen dem letzten Versuch und einem dann folgenden mindestens 300Sek Pause liegen wird der Delay-Counter auf Null zurück gesetzt und das Spiel kann von vorne beginnen.

Wie ist eure Meinung dazu? Oder gibt es bereits eine derartige Funktion die ich aktivieren kann aber nicht kenne?

Grüße Joachim
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: kadettilac89 am 23 September 2019, 19:29:05
Schau dir mal fail2ban an. Damit kannst du log überwachen und ip sperren. Solche Anforderungen sind besser in Tools aufgehoben die dafür gebaut sind. Ggf. In Verbindung mit einem Reverse proxy.

Schau mal über die Suche, es gab einen thread zu nginx mit fail2ban wenn ich mich nicht irre
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: kadettilac89 am 23 September 2019, 19:30:49
https://forum.fhem.de/index.php?topic=88069.0
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: amenomade am 27 September 2019, 19:00:26
Zitatunseren fhem-Server aufgrund von Abwesenheit für den externen Zugriff frei schalte
Das ist per se eine schlechte Idee, ein Smarthome System direkt im Internet freizuschalten.
Hast Du keine Möglichkeit, ein VPN einzurichten?
Ansonsten kann ja ein reverse Proxy ein bisschen Sicherheit bringen, angenommen dass dieses richtig konfiguriert ist!

In Fhem selbst kann man mit allowFrom die IP Adressen beschränken, und https und ein starkes Passwort einrichten. Viel mehr kann man nicht.
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: Wernieman am 27 September 2019, 19:09:01
Und vor allem muß man hoffen, das man die Authentifizierung nicht umgehen kann. Ich möchte hier keinem Entwickler nahe treten, aber auf Sicherheit ist FHEM nicht entwickelt.

Deshalb:
Entweder fhem mit VPN oder mit Reverseproxy und dort mit Authentifizierung einrichten ....
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: betateilchen am 27 September 2019, 20:15:51
Zitat von: amenomade am 27 September 2019, 19:00:26
Viel mehr kann man nicht.

Doch, man kann sehr viel mehr machen. Man kann nämlich das komplette Login-Verfahren in FHEM ziemlich frei konfigurieren.

Damit läßt sich auch ein Login mit einem Einmalpasswort versehen, beispielsweise mit dem Modul GoogleAuth https://commandref.fhem.de/#GoogleAuth
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: amenomade am 27 September 2019, 23:56:13
Dies mit Google Auth kenne ich. Die integration als Login Verfahren in Fhem ist dann über allowed zu machen. Z.B. hier beschrieben: https://forum.fhem.de/index.php/topic,65668.msg568791.html#msg568791

Aber m.M.n. macht es nur eine kleine Verbesserung im Fall eines dictionnary oder brute force Angriffs. Und gar nichts gegen z.B. DOS Attacke. Jetzt die Frage: was sucht der TE? Eine Lösung, um weniger Meldungen in der Log zu haben, oder sein Fhem effizient zu schützen?

Wobei... wie es aussieht, sind das nur "standard" einfache dictionnary Attacke: gleiche Reihenfolge von gängigen Usernamen (wahrscheinlich mit der gleichen Reihenfolge von Passwörter). Dagegen reicht ein starkes Passwort.
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: connormcl am 28 September 2019, 00:23:53
Zitat von: amenomade am 27 September 2019, 23:56:13
Wobei... wie es aussieht, sind das nur "standard" einfache dictionnary Attacke: gleiche Reihenfolge von gängigen Usernamen (wahrscheinlich mit der gleichen Reihenfolge von Passwörter). Dagegen reicht ein starkes Passwort.

Starkes Passwort bringt nix, wenn es jemand einfach mitlesen kann... ob https verwendet wird sieht man nicht...

Da man leider davon ausgehen muss, das ganze Heimautomatisierungszeugs überall ungepatchte Schwachstellen hat, liegt bei mir alles in einem eigenen Netzwerk und wenn ich da ran muss, gehts erst mit SSH rein und dann hol ich mir was ich brauche per Portforwarding. Das läuft quasi instantan und mit jedem Linux...ist aber nicht jedermanns Sache, das zu verstehen.

Deshalb sollte man als Normaluser eher ein VPN benutzen.

Die Heimautomatisierungskomponenten sind halt beliebte Türöffner...entweder Remote oder sogar per  Diebstahl einfach eine WIFI-Lampe kurz abmontiert und das Passwort ausgelesen. Da sollte man sich umfassend gedanken machen, wenn man seine Installation sicher haben will.
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: Wernieman am 28 September 2019, 19:19:13
Portforwarding über SSH geht sogar unter Windows mit Putty .. sogar "einfacher" zu verstehen als unter Linux (muß ich als Linux-Freak gestehen)

Ist eigentlich ein "VPN-light" ...
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: rob am 29 September 2019, 13:12:04
Zur fail2ban-config für Fhem finde ich diesen Thread sehr hilfreich https://forum.fhem.de/index.php/topic,84576.15.html (https://forum.fhem.de/index.php/topic,84576.15.html)

Ich gehe von außen via OpenVPN rein. Ein f2b ist imho eine zusätzliche Hürde, falls der Router doch ein Loch hat  ;D 
Und ein verschlossenes Fhem eine weitere Hürde - da bin ich aber zugegebenermaßen noch zu lax   :o
Es gibt auch User die alles zum SmartHome in Subnetzen mit entspr. Zugriffsregeln kapseln.

Oder wär das alles doppelt gemoppelt und unnötig?

Viele Grüße
rob
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: MadMax-FHEM am 29 September 2019, 13:31:26
fail2ban hat mit einem Routerloch nichts zu tun...

Weil wenn du von außen drauf willst (egal ob openvpn oder "direkt") musst du ja ein "Loch" im Router haben... ;)

fail2ban prüft nur das angegebene Log auf "fehlerhafte Anmeldungen/-Versuche" und blockt dann (irgendwann) diese IP...

Ich gehe per openvpn von außen rein und habe dazu fail2ban Regeln die dann eben unerlaubte bzw. irgendwelche die den offenen Port tracktieren (eine zeitlang) aussperren...

Gruß, Joachim
Titel: Antw:Login in fhem nach erfolglosen Versuchen verzögern
Beitrag von: rob am 29 September 2019, 18:06:28
Zitat von: MadMax-FHEM am 29 September 2019, 13:31:26
wenn du von außen drauf willst (egal ob openvpn oder "direkt") musst du ja ein "Loch" im Router haben... ;)
auch wieder wahr  ;D

Viele Grüße
rob