Zur Navigation

IP Sperrung

1 Jan

Hallo Jörg,

ein Eintrag in der .htaccess

#AIOWPS_IP_BLACKLIST_START
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
Deny from 185.xxx.xx.0
</IfModule>
<IfModule mod_authz_core.c>
<RequireAll>
Require all granted
Require not ip 185.xxx.xx.0
</RequireAll>
</IfModule>
#AIOWPS_IP_BLACKLIST_END

Die .htaccess wurde um 10 Uhr auf den Server geschoben, die IP hat aber weiterhin Zugriff ... auch Stunden später.

Woran kann dies liegen?

Mit freundlichen Grüßen - Jan

PS: Danke auch für deine Antwort zu meiner allgemeinen Frage!

31.01.2023 18:06

2 Jörg Kruse

Die .htaccess wurde um 10 Uhr auf den Server geschoben, die IP hat aber weiterhin Zugriff ... auch Stunden später.

Die .htaccess Datei wird bei jedem Zugriff neu eingelesen, eine Anpassung sollte also sofort wirksam sein.

Was genau steht denn im Access Log File bei diesen Zugriffen?

Ist ein Reverse Proxy vorgeschaltet?

31.01.2023 20:55

3 Jan

Hallo Jörg,

diese spezielle IP greift seit Tagen regelmäßig übermäßig auf die wp-login.php zu und bekommt als Antwort die 302.

185.xxx.xx.0 - - [01/Feb/2023:04:03:47 +0100] "GET /wp-login.php HTTP/1.1" 302

Login ist durch das Plugin AIOS mit Cookie "geschützt" (cookie based brute force url).

Die .htaccess hat 12KB ... möchtest du die hier sehen?

Mit freundlichen Grüßen - Jan

PS: Ich weis nichts von einem Reverse Proxy

01.02.2023 10:35

4 Jörg Kruse

Reverse Proxy spielt hier wohl keine Rolle, wenn die IP-Adresse so im Logfile erscheint

Die .htaccess hat 12KB ... möchtest du die hier sehen?

Interessant wären etwaige weitere Require-, Disallow- und Allow-Direktiven, die in der .htaccess Datei enthalten sind.

01.02.2023 12:12

5 Jan

Hallo Jörg,

vor den Block der IP Sperrung nichts besonderes, deny/allow innerhalb <Files></Files> (debug.log etc.)

Nach dem IP-Block nur noch Umschreibungen, Gzip etc.

Hm ... das Plugin hat ja eine interne Firewall ... ich werde da mal einige Einstellungen deaktivieren und mal beobachten.

Mit freundlichen Grüßen - Jan

01.02.2023 13:55

6 Jörg Kruse

vor den Block der IP Sperrung nichts besonderes, deny/allow innerhalb <Files></Files> (debug.log etc.)

Funktionieren diese Zugriffsbeschränkungen denn?

Funktioniert die Blacklist, wenn sie ganz oben steht?

Nach dem IP-Block nur noch Umschreibungen, Gzip etc.

Wenn diese funktionieren, dann fällt ein "AllowOverride None" in der VHost-Konfiguration als Ursache wohl flach...

Gibt es noch .htaccess Dateien in übergeordneten Verzeichnissen?

Zahlendreher in 185.xxx.xx.0 hast du sicher schon überprüft (manchmal sieht man den Wald vor lauter Bäumen nicht)?

Hm ... das Plugin hat ja eine interne Firewall ... ich werde da mal einige Einstellungen deaktivieren und mal beobachten.

Naja, maßgeblich ist das, was in der .htaccess Datei steht. Wenn der Zugriff dort (wirkungsvoll) beschränkt ist, dann wird der Request vom Webserver direkt mit einem Status Code 403 beantwortet - das Plugin kommt dann gar nicht mehr zum Zuge.

01.02.2023 15:43 | geändert: 01.02.2023 15:48

7 Jan

Hallo Jörg,

Funktionieren diese Zugriffsbeschränkungen denn?

Funktioniert die Blacklist, wenn sie ganz oben steht?

2x Ja ;-) Um 15:22 hatte ich Änderungen am Plugin vorgenommen, etwas später nochmals. Da ich allerdings keine Änderung an der .htaccess erkennen konnte habe ich einfach die Blacklist an den Anfang gesetzt. Danach wurde die IP (beobachte ich seit 1 Woche) nicht mehr im Log gesehen.

Die .htaccess liegt im Root.

Ich schraube meine manuelle Eingabe nochmals zurück, denn ich glaube das eine Abschaltung im Plugin bereits geholfen hatte und die IP schon vor meinem vorschnellen Eingriff geblockt war.

So anhänglich wie die IP bisher war wird sie sicher wieder auftauchen wenn ich umschalte ;-)

Aber ... ich hatte kurzfristig Brute Force abgeschaltet und schon war die IP etwas weiter, denn sie hatte nun den Referrer

185.xxx.xx.0 - - [01/Feb/2023:14:46:25 +0100] "GET /wp-login.php HTTP/1.1" 302 - "https://example.com/wp-login.php" 

Nur warum 302? Ich hatte die Datei vorsorglich umbenannt, sie war also doch gar nicht vorhanden?

Ich werde das Plugin mal deaktivieren, was aber auch wieder nicht so einfach scheint da es auch in der DB Spuren hinterlässt ... Oder hat das keine Auswirkung wenn ich das Plugin nur deaktiviere und erst Hinterlassenschaften aufräume wenn ich das Plugin nicht mehr verwenden will?

Danke für deine Aufmerksamkeit Jörg!

Mit freundlichen Grüßen - Jan

01.02.2023 16:42

8 Jörg Kruse

185.xxx.xx.0 - - [01/Feb/2023:14:46:25 +0100] "GET /wp-login.php HTTP/1.1" 302 - "https://example.com/wp-login.php"

Normalerweise wird ein POST-Request auf die wp-login.php mit einem Status Code 302 beantwortet:

"POST /wp-login.php HTTP/2.0" 302

Nur warum 302? Ich hatte die Datei vorsorglich umbenannt, sie war also doch gar nicht vorhanden?

Das ist auch das richtige Access Log?

Ich werde das Plugin mal deaktivieren, was aber auch wieder nicht so einfach scheint da es auch in der DB Spuren hinterlässt ... Oder hat das keine Auswirkung wenn ich das Plugin nur deaktiviere und erst Hinterlassenschaften aufräume wenn ich das Plugin nicht mehr verwenden will?

Das hängt davon ab, ob nur das Plugin selbst auf die von ihm erzeugten Datenbankeinträge zugreift oder auch WordPress selbst.

Wenn du die .htaccess Datei über SFTP ändern kannst: kannst du dich dann eigentlich selbst blocken, indem du deine IP-Adresse statt der 185.xxx.xx.0 einträgst?

01.02.2023 22:40 | geändert: 01.02.2023 22:45

9 Jan

Moin Jörg,

alles ziemlich merkwürdig

# Blacklist
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
Deny from 185.xxx.xx.0
</IfModule>

<IfModule mod_authz_core.c>
<RequireAll>
Require all granted
Require not ip 185.xxx.xx.0
</RequireAll>
</IfModule>

# BLACKLIST END

sitzt am Anfang der .htaccess und die IP greift weiter zu und wird mit 302 beantwortet.

Das ist auch das richtige Access Log?

Absolut!

Im Plugin hatte ich die Sperreinstellungen gelöscht und den Eintrag in der .htaccess manuell erstellt ... hatte die Nacht keine Wirkung.

Im Plugin können alle Einstellungen zurückgesetzt werden ... das versuche ich mal später.

Mit freundlichen Grüßen - Jan

02.02.2023 07:48

10 Jan

Hallo Jörg,

Wenn du die .htaccess Datei über SFTP ändern kannst: kannst du dich dann eigentlich selbst blocken, indem du deine IP-Adresse statt der 185.xxx.xx.0 einträgst?

Warum musstest du mich erst auf diese einfache Möglichkeit der Prüfung hinweisen? Wahrscheinlich sind deine grauen Zellen noch nicht so abgenutzt wie meine ;-)

Bingo!

Problem lag an der Verwendung von beiden Regeln, so wie es auch das Plugin tut!

Also nicht

<IfModule mod_authz_core.c>
und
<IfModule !mod_authz_core.c>

verwenden, sondern genau die passende für den Apachen. Dann klappt es auch bei mir mit der IP Sperrung ;-)

Danke für deine Aufmerksamkeit.

Mit freundlich Grüßen - Jan

PS: Und jetzt erinnere ich mich auch das man beide Anweisungen zur Unterscheidung der Apache Version verwenden "kann" es aber besser sein lassen sollte. Es könnte, und kann wohl, zu Problemen führen ... ;-)

02.02.2023 16:18