Login der Wordpress Installation auf Apache schützen

Alles, was den Apache betrifft, kann hier besprochen werden.

Login der Wordpress Installation auf Apache schützen

Postby KlausK » 07. January 2016 19:42

Hallo,
ich möchte gerne das Loginformular einer Wordpress Installation auf einem Apache Server schützen.
Dazu habe ich untenstehenden Code in die .htaccess Datei geschrieben und eine .htpasswd Datei generiert.
Wenn ich mich nun bei Wordpress anmelden möchte, erscheint keine Passwortabfrage. Es scheint so, als ob die .htpasswd Datei nicht gefunden wird. Der Pfad zur Datei wurde angegeben.

Hat jemand eine Idee, wo der Fehler liegen könnte?

Code: Select all
# Auth protect wp-login.php
<Files wp-login.php>
  AuthName "Restricted Admin-Area"
  AuthType Basic
  AuthUserFile ~/.htpasswd
  Require valid-user
</Files>

# Deny access to important files
<FilesMatch "(\.htaccess|\.htpasswd)">
  Order deny,allow
  Deny from all
</FilesMatch>
KlausK
 
Posts: 6
Joined: 07. January 2016 19:34
Operating System: Windows 7

Re: Login der Wordpress Installation auf Apache schützen

Postby Nobbie » 07. January 2016 20:55

Also nur eine Datei wp-login.php zu schützen, erscheint wenig wirkungsvoll. Den Namen kennt eh kein Mensch und wenn, dann gibt man einfach einen Verzeichnisnamen ein. Da gilt der Schutz ja nicht.

Außerden ist "AuthUserFile ~/.htpasswd" eine sehr fehlerträchtige Angabe, wessen Homedirectory ist denn hier mit "~" gemeint?? Also da muss IN JEDEM FALL eine echte vollständige Pfadangabe hin. Und diese Files Klausel würde ich auch rausnehmen und natürlich das ganze Verzeichnis schützen. Last not least ist auch das Zugriffsverbot auf ein lokales .htaccess und .htpasswd schwer nachzuvollziehen, wenn die wirklich im aktuellen Verzeichnis liegen kann Apache auch das Login nicht prüfen, weil er es nicht darf. Solche Angaben sind nur dann sinnvoll, wenn aus einem anderen Verzeichnis auf dieses Verzeichnis zugegriffen wird UND auch die Dateien im DocumentRoot oder darunter liegen (was ich nicht empfehlen kann).

Also Fehlerquellen gibt es satt bei dieser Konfiguration, was letztendlich wirklich Schuld ist, musst Du selbst herausfinden. Wenn aber erst gar keine Abfrage erfolgt, dann ist auszuschließen, dass die .htpasswd nicht gefunden wird, denn da wäre das Verhalten anders, es würde ein Dialog kommen aber kein Login wäre erfolgreich. Ich denke, die Einschränkung auf "Files wp-login.php" ist eine plausible Fehlerquelle. Last not least bleibt noch die Möglichkeit, dass eine Authorisierung via .htaccess mangels notwendiger AllowOverride Klausel gar nicht erst möglich ist.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Login der Wordpress Installation auf Apache schützen

Postby KlausK » 07. January 2016 21:22

Hallo Nobbie,

vielen Dank für deine schnelle Rückmeldung.
Es ist tatsächlich so, dass unzählige Hackbots und Spambots diese wordpress-spezifische Datei kennen und versuchen, sich in Webseiten einzuloggen.
Den Pfad der .htpasswd habe ich natürlich angepasst, das schrieb ich ja oben schon.
Genau diese Konstellation funktioniert auf vielen Apache Servern, auf manchen aber nicht und ich weiß leider nicht, warum.
Den CODE habe ich übrigens von dieser Seite: http://www.kuketz-blog.de/htaccess-schutz-wordpress-absichern-teil4/

Ich habe gerade getestet, die .htpasswd mal komplett zu löschen und das Verhalten bleibt genau gleich.

Gruß Klaus
KlausK
 
Posts: 6
Joined: 07. January 2016 19:34
Operating System: Windows 7

Re: Login der Wordpress Installation auf Apache schützen

Postby Nobbie » 07. January 2016 23:06

Hast Du alle meine anderen Optionen schon durchgetestet?

Und wenn Du wirklich "einen Pfad angepasst" hast, dann tust Du Dir keinen Gefallen, wenn Du hier einen Code zeigst, der gar nicht aktiv ist. Bitte zeige uns ausschließlich und unverfälscht echten Code, alles andere führt nur dazu, die Fehlerursache ggf. zu verschleiern. Das ist extrem frustrierend auch für uns Helfer, weswegen ich bei Pseudocode keine Hilfe leisten kann.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Login der Wordpress Installation auf Apache schützen

Postby KlausK » 08. January 2016 15:08

Hallo Nobbie,

ok, unten ist der Code, den ich in der .htaccess einsetze, incl. des Pfades.

Halten wir folgendes fest:
1. ich möchte den Zugriff auf die Datei wp-login.php mit einer Passwortabfrage schützen.
2. der Code unten funktioniert auf einigen Apache Servern nicht, unabhängig davon, ob sich die .htpasswd Datei im Ordner befindet, oder nicht.
3. es findet keine Passwortabfrage statt.
4. sobald ich die Files Klausel rausnehme, findet eine Passwortabfrage statt.
5. die Files Klausel kann ich aber nicht rausnehmen, weil sich in dem Verzeichnis die Wordpressinstallation befindet und die komplette Webseite dann nicht mehr erreichbar ist.


Wie gehe ich nun weiter vor um den Fehler, bzw. eine andere Lösung zu finden?

Vielen Dank


Code: Select all
# Auth protect wp-login.php
<Files wp-login.php>
  AuthName "Restricted Admin-Area"
  AuthType Basic
  AuthUserFile /home/klumng84/public_html/meinedomain.de/.htpasswd
  Require valid-user
</Files>

# Deny access to important files
<FilesMatch "(\.htaccess|\.htpasswd)">
  Order deny,allow
  Deny from all
</FilesMatch>
KlausK
 
Posts: 6
Joined: 07. January 2016 19:34
Operating System: Windows 7

Re: Login der Wordpress Installation auf Apache schützen

Postby Nobbie » 09. January 2016 12:13

KlausK wrote:Wie gehe ich nun weiter vor um den Fehler, bzw. eine andere Lösung zu finden?


s.o. - in dem Du meine diversen Vorschläge alle abklapperst. Insbesonder die Frage, ob AllowOverride richtig gesetzt ist. siehe https://httpd.apache.org/docs/2.4/de/mo ... owoverride
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Login der Wordpress Installation auf Apache schützen

Postby KlausK » 10. January 2016 09:31

Hallo Nobbie,

danke für den Link.

Ich interpretiere es so, was ich gelesen habe:

Wenn die AllowOverride auf NONE gesetzt ist, wird die .htaccess komplett ignoriert.

Oben schrieb ich bereits, dass eine Passwortabfrage erfolgt, sobald ich die Files Klausel aus der .htaccess rausnehme. Also müsste die Allow Override doch korrekt gesetzt sein. Richtig?

Gruß Klaus
KlausK
 
Posts: 6
Joined: 07. January 2016 19:34
Operating System: Windows 7

Re: Login der Wordpress Installation auf Apache schützen

Postby Nobbie » 10. January 2016 11:21

KlausK wrote:Wenn die AllowOverride auf NONE gesetzt ist, wird die .htaccess komplett ignoriert.


Beispielsweise. Aber das ist ja offensichtlich nicht der Fall und es gibt ja massenhaft andere Werte als "None". U.a. gibt es das Gegenteil, den Wert "All" und das garantiert, dass alle Anweisungen ausgeführt werden.

KlausK wrote:Oben schrieb ich bereits, dass eine Passwortabfrage erfolgt, sobald ich die Files Klausel aus der .htaccess rausnehme.


Stimmt, habe ich übersehen. Das grenzt ja das Problem ein.

KlausK wrote:Also müsste die Allow Override doch korrekt gesetzt sein. Richtig?


Keinesfalls. Logik funktioniert anders. Es gibt ja nicht nur "None" und None ist ja das diametrale Gegenteil von "All". Beispielsweise könnte "AllowOverride AuthConfig" gesetzt sein, dann ist eine Autorisierung als solche möglich, aber die Files Klausel würde ignoriert, denn AuthConfig reicht nicht für die Files Anweisung. Jetzt musst Du also überprüfen, ob die notwendigen AllowOverride Klauseln gesetzt sind, damit die Files Anweisung auch ausgeführt wird. Dazu schaut man (wie immer!) in die Dokumentation, diesmal auf diese Seite:

https://httpd.apache.org/docs/2.4/de/mo ... html#files

Und da ist Funktion und Syntax von "Files" erläutert und in diesem Kästchen steht auch wunderbarerweise dabei, welchen Wert AllowOverride mindestens besitzen muss, damit die Anweisung erkannt wird. Und da steht.... "All". Also muss unbedingt "AllowOverride All" in der httpd.conf für dieses Verzeichnis festgelegt sein (oder für das darüber liegende DocumentRoot).

Das kann nun die Lösung sein, es kann aber auch immer noch andere Ursachen haben. Ich kann jetzt nicht erkennen, ob wp-login auch das Formular ist, welches Du per Hand im Browser eingibst (nicht vergessen: eigentlich bist Du hier falsch, denn das ist kein WordPress Forum hier), oder ob wp-login.php vielleicht erst durch ein übergeordnetes Formular aufgerufen wird. Es wäre möglich, dass Deine .htaccess im falschen Ordner steht, vielleicht ist auch ein Tippfehler im Namen wp-login.php, vielleicht wird auch wp-login.php gar nicht explizit durch WordPress aufgerufen, sondern "included" durch eine andere Datei (das würde Apache dann nicht mitbekommen). Das musst Du selbst herausfinden oder notfalls in WordPress Foren nachfragen, wenn sich herausstellen sollte, dass die AllowOverride Klausel nicht das Problem ist.

P.S.: Was ist eigentlich der Sinn dieser Übung? Wenn ich das richtig verstehe, ist wp-login.php doch auch ein Login, wo man einen Usernamen und ein Passwort angeben muss? Wozu muss man das schützen??
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Login der Wordpress Installation auf Apache schützen

Postby KlausK » 10. January 2016 21:08

Hallo Nobbie,

vielen Dank erst mal. Ich werde die verschiedenen Möglichkeiten durchtesten.

P.S.: Was ist eigentlich der Sinn dieser Übung? Wenn ich das richtig verstehe, ist wp-login.php doch auch ein Login, wo man einen Usernamen und ein Passwort angeben muss? Wozu muss man das schützen??


Als Absicherung des Admin-Bereichs gegen Brute-Force Angriffe von Hackbots oder Hackern.
KlausK
 
Posts: 6
Joined: 07. January 2016 19:34
Operating System: Windows 7

Re: Login der Wordpress Installation auf Apache schützen

Postby Nobbie » 10. January 2016 22:33

KlausK wrote:Als Absicherung des Admin-Bereichs gegen Brute-Force Angriffe von Hackbots oder Hackern.


Und wie sollen die gehen?? Mit Verlaub, wer so etwas schreibt, der hat keine Ahnung von EDV. "Brut Force" setzt unbedingte Performance voraus (zighunderttausend Abfragen per Sekunde), aber ein Aufruf eines Formulars inkl. Abfrage einer Datenbank dauert selbst im günstigsten Fall gut 1 Sekunde - wie will man die notwendigen zig Milliarden Versuche durchbekommen, die Voraussetzung sind für "Brut Force"?? Das scheitert doch vorneherein schon am Bottleneck IO. Last not least (ich kenne WordPress nicht gut) könnte ich mir gut vorstellen, dass die Software sowieso nach ein paar Fehlversuchen abschottet. Selbst wenn nicht, "Brut Force" existiert nur in der Theorie.

Also ein Login durch ein Login zu schützen, das hat etwas skurriles.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Login der Wordpress Installation auf Apache schützen

Postby KlausK » 14. January 2016 21:30

Nobbie wrote:
Und wie sollen die gehen?? Mit Verlaub, wer so etwas schreibt, der hat keine Ahnung von EDV. "Brut Force" setzt unbedingte Performance voraus (zighunderttausend Abfragen per Sekunde), aber ein Aufruf eines Formulars inkl. Abfrage einer Datenbank dauert selbst im günstigsten Fall gut 1 Sekunde - wie will man die notwendigen zig Milliarden Versuche durchbekommen, die Voraussetzung sind für "Brut Force"?? Das scheitert doch vorneherein schon am Bottleneck IO. Last not least (ich kenne WordPress nicht gut) könnte ich mir gut vorstellen, dass die Software sowieso nach ein paar Fehlversuchen abschottet. Selbst wenn nicht, "Brut Force" existiert nur in der Theorie. Also ein Login durch ein Login zu schützen, das hat etwas skurriles.




Brute Force Angriffe können auch über Tage, Wochen und Monate laufen. Auch bei geringer Performance. Aber das war ja gar nicht das Thema.

Ich verabschiede mich an dieser Stelle, weil Du unsachlich wirst. Ich hatte weiter oben schon die Mutmaßung, dass die Nase a bisserl weit oben ist.

Trotzdem vielen Dank
KlausK
 
Posts: 6
Joined: 07. January 2016 19:34
Operating System: Windows 7

Re: Login der Wordpress Installation auf Apache schützen

Postby Nobbie » 14. January 2016 21:55

KlausK wrote:Brute Force Angriffe können auch über Tage, Wochen und Monate laufen. Auch bei geringer Performance. Aber das war ja gar nicht das Thema.


Sie sind nur eben nicht Brut Force. Mit 1 Zugriff pro Sekunde dauern lächerliche 3 Milliarden Fehlversuche ca. 1.000 Jahre. Und dann kommt noch dazu, wenn man schon an BrutForce glaubt, worin besteht dann der Sinn dieses "Schutzes"? Dann müssen statt einem eben zwei Passwörter geknackt werden - wo ist da das Problem, wenn BrutForce so mächtig ist? Die eine Hürde mehr macht dann ganz sicher den Braten auch nicht mehr fett.

KlausK wrote:Ich verabschiede mich an dieser Stelle, weil Du unsachlich wirst. Ich hatte weiter oben schon die Mutmaßung, dass die Nase a bisserl weit oben ist.


Es ist immer "lästig", wenn jemand fordert, dass man eine Lösung selbst nachliest. Da stürzt man sich bekanntermaßen immer gerne in unsachliche Anfeindungen, statt die eigene Motivationslosigkeit zuzugeben. Da hängt das Naserl Meilen zu hoch, wenn man sich zu Schade ist, selbst mal nachzuschlagen. Und das spiegelt sich eben schon in der Anforderung wieder, statt sich Gedanken darüber zu machen, inwiefern da wirklich eine BrutForce Attacke möglich ist, schlaumichelt man lieber vor sich hin.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Login der Wordpress Installation auf Apache schützen

Postby Altrea » 14. January 2016 22:12

Nobbie wrote:Sie sind nur eben nicht Brut Force. Mit 1 Zugriff pro Sekunde dauern lächerliche 3 Milliarden Fehlversuche ca. 1.000 Jahre.

Nur beschreibt der Begriff Brute Force nicht die Effizienz einer Methode, sondern die Methode selbst - das Lösen eines Problems durch das Ausprobieren aller potenziell möglichen Variationen. Du kannst es Drehen und Wenden wie du magst, doch es bleibt eine Brute Force Attacke.

Das Risiko von einer richtigen Brute Force Attacke bis auf PHP Ebene angegriffen zu werden ist aber natürlich, eben wegen der mangelnden Effizienz, äußerst gering. Viel wahrscheinlicher sind da Wörterbuchattacken mit den häufigsten Passwörtern oder vor Allem ausnutzen bekannter Programmierfehler in der Webanwendung.

Den Einwand ein Login durch ein anderes Login abzusichern teile ich allerdings auch, das ist unfug. Auch wenn Wordpress dies so empfiehlt, aber wenn man sich den Quelltext von Wordpress mal ansieht, wundere ich mich über garnichts mehr.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Login der Wordpress Installation auf Apache schützen

Postby Nobbie » 17. January 2016 00:25

Altrea wrote:Nur beschreibt der Begriff Brute Force nicht die Effizienz einer Methode


Das stimmt so nicht, nur hat sich der Begriff inzwischen so eingebürgert, dass man geneigt ist, sich um seine Herkunft keine Gedanken mehr zu machen. Aber Brut Force heißt nun einmal "brutale Gewalt" und assoziiert damit natürlich eine gewisse Kraft und eben "Gewalt", mit der die Attacke ausgeführt wird. Anstelle intelligenter Algorithmen soll die schiere Gewalt zum Ziel führen. Und das kann man auch drehen und wenden, wie man will, wenn eine Attacke von vorneherein daran scheitert, mit einer gewissen Geschwindigkeit durchgeführt zu werden, ist das keine brutale Gewalt, sondern ein lahmer und lächerlicher Angriff. Da bleibt von der Kernidee "Brut Force" nichts mehr übrig. Es bleibt nur der stumpfe Teil des Ausprobierens, aber mit brutaler Gewalt hat das nichts zu tun.
Nobbie
 
Posts: 8775
Joined: 09. March 2008 13:04

Re: Login der Wordpress Installation auf Apache schützen

Postby Altrea » 19. January 2016 09:42

Nobbie wrote:Das stimmt so nicht, nur hat sich der Begriff inzwischen so eingebürgert, dass man geneigt ist, sich um seine Herkunft keine Gedanken mehr zu machen.

Ich bin gerne bereit mich weiterzubilden. Hast du fachlich fundierte Quellen, die die Herkunft und Bedeutung des Begriffes nennen?

Nobbie wrote:Aber Brut Force heißt nun einmal "brutale Gewalt"

Ich bin mir durchaus über die wörtliche Übersetzung im Klaren, doch das kann ich als Antwort so ohne Quelle nicht akzeptieren. Oder möchtest du weiterhin behaupten, dass eine "Rainbow Table" nur dann eine Rainbow Table ist, wenn sie ausschließlich Farben enthält? Oder eine Wörterbuch-Attacke keine Wörterbuch-Attacke mehr ist, wenn das Wort nicht im Wörterbuch zu finden ist?

Nobbie wrote:und assoziiert damit natürlich eine gewisse Kraft und eben "Gewalt", mit der die Attacke ausgeführt wird. Anstelle intelligenter Algorithmen soll die schiere Gewalt zum Ziel führen.

Dem stimme ich zu, nur nicht darin dass die Gewalt darin besteht, eine gewisse Performance vorauszusetzen. Im Gegenteil stimmst du mir sicher zu, dass eine Brute Force Attacke im Hinblick auf Performance gegenüber anderen Methoden (sofern anwendbar) klar das Nachsehen hat. Ich sehe die Gewalt in der Methode der Attacke, dass eben systematisch und erschöpfend alle möglichen Kombinationen ausprobiert werden bis die richtige gefunden wurde, eine Art Holzhammer-Methode.

Aber wie gesagt, ich bin lernfähig und lasse mich da gern eines besseren belehren. Nur alle Informationen die ich bisher zu Brute Force gefunden habe erwähnen nicht bzw. deuten in keinster Weise an, dass der Begriff jemals in der Definition verwendet wurde, die du hier beschreibst (insbesondere nicht, dass eine Brute Force Attacke keine Brute Force Attacke mehr sein kann, wenn sie über ineffiziente Protokolle und/oder Infrastrukturen durchgeführt wird).

ein paar Definitionen:
https://en.wikipedia.org/wiki/Brute-force_attack wrote:In cryptography, a brute-force attack, or exhaustive key search, is a cryptanalytic attack that can, in theory, be used against any encrypted data[1] (except for data encrypted in an information-theoretically secure manner). Such an attack might be used when it is not possible to take advantage of other weaknesses in an encryption system (if any exist) that would make the task easier. It consists of systematically checking all possible keys or passwords until the correct one is found. In the worst case, this would involve traversing the entire search space.


https://www.owasp.org/index.php/Brute_force_attack wrote:A brute force attack can manifest itself in many different ways, but primarily consists in an attacker configuring predetermined values, making requests to a server using those values, and then analyzing the response. For the sake of efficiency, an attacker may use a dictionary attack (with or without mutations) or a traditional brute-force attack (with given classes of characters e.g.: alphanumerical, special, case (in)sensitive). Considering a given method, number of tries, efficiency of the system which conducts the attack, and estimated efficiency of the system which is attacked the attacker is able to calculate approximately how long it will take to submit all chosen predetermined values.


https://www.techopedia.com/definition/18091/brute-force-attack wrote:A brute force attack is a trial-and-error method used to obtain information such as a user password or personal identification number (PIN). In a brute force attack, automated software is used to generate a large number of consecutive guesses as to the value of the desired data.


http://searchsecurity.techtarget.com/definition/brute-force-cracking wrote:Brute force (also known as brute force cracking) is a trial and error method used by application programs to decode encrypted data such as passwords or Data Encryption Standard (DES) keys, through exhaustive effort (using brute force) rather than employing intellectual strategies. Just as a criminal might break into, or "crack" a safe by trying many possible combinations, a brute force cracking application proceeds through all possible combinations of legal characters in sequence. Brute force is considered to be an infallible, although time-consuming, approach.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Next

Return to Apache

Who is online

Users browsing this forum: No registered users and 1 guest