Warum kann ich einige IPv4-Bereiche nicht mit .htaccess sperren?
Habe heute mal wieder Zugriffe auf meine Domains gehabt. Heute von IP 194.59.251.109
In .htaccess, der einzigen Datei dieses Namens in dem html-Verzeichnis-Baum, keine weiteren in Unterverzeichnissen, steht unter anderem: deny from 194.59.251.0/24
Diesen Eintrag habe ich am 26.06.2019 gemacht, nachdem schon einmal meine Domain ausspioniert werden sollte. Dennoch greift die Sperre nicht. Heute hatte ich 14 Zugriffe von dieser IPv4, die keine 403 als HTTP-Code bekamen. Bei anderen IPv4 Adressen klappt das fast immer.
Die IPv4 gehört zu einem Unternehmen in New Jersey.
Wie kann jemand über die Sperre hinweg kommen? Idee: statt der IP wird ein Name gesendet, so wie v157-7-208-242.myvps.jp
Nur dass der Name heute "194.59.251.109" war und damit nicht als IPv4 gewertet wird.
Hat einer mehr Wissen als nur eine Idee?
2 Antworten
Ohne exakte Konfiguration usw. lässt sich das kaum sagen - Aber üblicherweise macht Apache auch das, was konfiguriert wurde und natürlich wird nach einem accept() die Remote-IP mit den Authorizations abgeglichen (rein numerisch) und entsprechend gehandelt.
Übrigens ist deny from/allow from anno dazumal und schon lange deprecated und es sollte auf die neue Form der Authorizationsyntax geändert werden.
Ich möchte an dieser Stelle noch darauf hinweisen:
Nicht alle Konfigurationsoptionen sind in jedem Bereich der Konfiguration erlaubt (Das sollte allerdings Fehlermeldungen geben) und nicht alles was in .htaccess steht muß Wirkung entfalten, die Serverkonfiguration legt fest, was in .htaccess überhaupt verändert werden darf.
Eine RACE halte ich für extrem unwahrscheinlich, dafür ist Apache einfach zu 'alt'.
.htaccess Dateien können die Serverkonfiguration verändern, und ergänzen, sofern die Grundkonfiguration das zulässt. D.h. ich kann in den Grundkonfiguration (z.B. auf Serverebene) festlegen, welche Änderungen seitens eienr .htaccess überhaupt zulässig sind.
Was ich noch vergessen habe, natürlich muß der Server auch auf dei .htaccess Datei zugreifen können.
----
Lies Dir mal:
https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride
durch. Dort wird das mit den Overrides in .htaccess grundlegend erklärt.
Zu den Änderungen in der Authorization udn zu Access-Control:
https://httpd.apache.org/docs/2.4/howto/access.html
Ich kann nur raten auf die neuen Syntax umzustellen, das vermeidet Ärger in der Zukunft - vor allem, wenn Du jetzt eh alles nochmal durchgehen mußt.
13300 Zeilen? Das kann nicht gesund sein :-P.
Es kommt drauf an wie der Apache konfiguriert ist. Wenn die Seite gehostet ist schreibe dem Support des Hosters die wissen was sie wie Konfiguriert haben.
Danke, das hatte ich schon.
Hat leider nichts gebracht. Die sprachen von einem Timingproblem. Das war wohl eher eine Ausrede oder Unwissenheit.
Das müssten die genauer spezifizieren, es kann natürlich eine Racecondition von unterschiedlichen Diensten sein dann ist da aber irgendwas falsch konfiguriert.
Da ich aber nicht weiß was auf dem Server läuft und was wie Konfiguriert ist kann ich nicht sagen ob du das Problem überhaupt per httaccess lösen kannst.
Danke für die Antwort.
"deny from/allow from anno dazumal und schon lange deprecated" verstehe ich. Daraus folgt gleich meine neue Frage: was soll ich stattdessen schreiben? Ich habe mit Kommentaren gut 13.300 Zeilen.
Was entfaltet denn keine Wirkung, bezogen auf "nicht alles was in .htaccess steht muß Wirkung entfalten"? Wie habe ich das zu verstehen?