Verzeichnisschutz mit .htaccess einrichten

Zurück zur Wissensdatenbank Zurück zur Startseite
htaccess
Sicherheit
verzeichnisschutz

Was ist ein Verzeichnisschutz?

Ein Verzeichnisschutz (auch bekannt als .htaccess-Schutz oder HTTP-Authentifizierung) schützt bestimmte Bereiche Ihrer Webseite mit einem Benutzernamen und Passwort. Beim Aufruf eines geschützten Verzeichnisses erscheint ein Login-Dialog im Browser – nur nach erfolgreicher Eingabe der Zugangsdaten wird der Inhalt angezeigt.

Typische Anwendungsfälle:

  • Administrationsbereich schützen: Zusätzliche Sicherheitsebene für /wp-admin, /administrator oder ähnliche Backend-Verzeichnisse
  • Staging- oder Entwicklungsseiten: Verhindern, dass Suchmaschinen oder unbefugte Besucher auf Testumgebungen zugreifen
  • Interne Dokumente: Vertrauliche Dateien nur für berechtigte Personen zugänglich machen
  • Kundenbereich: Einfacher Schutz für Download-Bereiche oder Projektdokumentationen

Verzeichnisschutz über KeyHelp einrichten (empfohlen)

Die einfachste Methode ist die Einrichtung direkt über Ihr KeyHelp Control Panel. Dabei werden die notwendigen Dateien automatisch erstellt und korrekt konfiguriert.

Schritt 1: Verzeichnisschutz-Verwaltung öffnen

  1. Melden Sie sich im Kundenportal an
  2. Gehen Sie auf den gewünschten Hosting Tarif -> Melden Sie sich dann in der Webserververwaltung an
  3. Navigieren Sie zu SicherheitVerzeichnisschutz
  4. Klicken Sie auf den Button „Verzeichnisschutz hinzufügen“

Schritt 2: Schutz konfigurieren

Im Formular geben Sie folgende Daten ein:

Feld Beschreibung Beispiel
Verzeichnis Der Pfad relativ zu /www. Wird automatisch erstellt, falls nicht vorhanden. /intern oder /wp-admin
Titel des geschützten Bereichs Wird im Login-Dialog des Browsers angezeigt (optional) Interner Bereich
Benutzername Login-Name für den Zugriff (Pflichtfeld) admin
Passwort Sicheres Passwort für den Zugriff (Pflichtfeld) Nutzen Sie den „Generieren“-Button

Tipp: Verwenden Sie den Button „Generieren“ neben dem Passwortfeld, um ein sicheres, zufälliges Passwort zu erstellen. Notieren Sie sich die Zugangsdaten an einem sicheren Ort.

Schritt 3: Speichern und testen

  1. Klicken Sie auf „Speichern“
  2. Der Schutz ist sofort aktiv
  3. Testen Sie den Zugriff, indem Sie das geschützte Verzeichnis im Browser aufrufen

Ausnahmen definieren (optional)

Über den Link „Ausnahmen definieren“ können Sie bestimmte Dateien oder Unterverzeichnisse vom Schutz ausnehmen. Dies ist beispielsweise nützlich, wenn WordPress-AJAX-Anfragen an /wp-admin/admin-ajax.php ohne Authentifizierung funktionieren müssen.


Verzeichnisschutz manuell einrichten

Alternativ können Sie den Verzeichnisschutz auch manuell über .htaccess-Dateien konfigurieren. Diese Methode bietet mehr Flexibilität, erfordert aber technisches Verständnis.

Benötigte Dateien

Für einen manuellen Verzeichnisschutz benötigen Sie zwei Dateien:

Datei Zweck Speicherort
.htaccess Konfiguration des Schutzes Im zu schützenden Verzeichnis
.htpasswd Speichert Benutzername und verschlüsseltes Passwort Außerhalb von /www (wichtig!)

Schritt 1: .htpasswd-Datei erstellen

Die .htpasswd-Datei enthält die Zugangsdaten. Das Passwort wird dabei verschlüsselt gespeichert.

Wichtig: Speichern Sie die .htpasswd-Datei außerhalb des öffentlich zugänglichen Webverzeichnisses (/www). Ein sicherer Speicherort wäre beispielsweise:

/home/users/IHR-BENUTZERNAME/.htpasswd

Format der .htpasswd-Datei:

benutzername:verschluesseltes_passwort

Passwort verschlüsseln:

Sie können das Passwort über die Kommandozeile (SSH) oder einen Online-Generator verschlüsseln. Per SSH:

htpasswd -c /home/users/IHR-BENUTZERNAME/.htpasswd benutzername

Alternativ können Sie einen Online htpasswd-Generator verwenden und das Ergebnis manuell in die Datei einfügen.

Beispiel einer .htpasswd-Datei:

admin:$apr1$xyz12345$abcdefghijklmnop123456

Schritt 2: .htaccess-Datei erstellen

Erstellen Sie im zu schützenden Verzeichnis eine .htaccess-Datei mit folgendem Inhalt:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /home/users/IHR-BENUTZERNAME/.htpasswd
Require valid-user

Erklärung der Direktiven:

Direktive Bedeutung
AuthType Basic Aktiviert die HTTP-Basic-Authentifizierung
AuthName "..." Text, der im Login-Dialog angezeigt wird
AuthUserFile Absoluter Pfad zur .htpasswd-Datei
Require valid-user Alle Benutzer aus der .htpasswd-Datei dürfen zugreifen

Schritt 3: Berechtigungen prüfen

Stellen Sie sicher, dass die Dateiberechtigungen korrekt gesetzt sind:

  • .htaccess: 644 (lesbar für alle, schreibbar nur für Besitzer)
  • .htpasswd: 640 oder 644 (lesbar für Webserver)

Erweiterte Konfigurationen

Mehrere Benutzer hinzufügen

In der .htpasswd-Datei können Sie mehrere Benutzer definieren – einen pro Zeile:

admin:$apr1$xyz12345$abcdefghijklmnop123456
mitarbeiter:$apr1$abc67890$qrstuvwxyz789012345
kunde:$apr1$def11111$lmnopqrstuvwxyz12345

Nur bestimmte Benutzer zulassen

Statt Require valid-user können Sie auch einzelne Benutzer explizit angeben:

AuthType Basic
AuthName "Admin-Bereich"
AuthUserFile /home/users/IHR-BENUTZERNAME/.htpasswd
Require user admin mitarbeiter

Bestimmte Dateien vom Schutz ausnehmen

Um einzelne Dateien (z.B. für AJAX-Anfragen) vom Schutz auszunehmen:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /home/users/IHR-BENUTZERNAME/.htpasswd
Require valid-user

# Ausnahme für admin-ajax.php
<Files "admin-ajax.php">
    Satisfy Any
    Allow from all
</Files>

IP-Adressen zusätzlich einschränken

Sie können den Zugriff auf bestimmte IP-Adressen beschränken – entweder zusätzlich zum Passwortschutz oder als alleinige Einschränkung:

# Nur bestimmte IPs dürfen zugreifen (ohne Passwort)
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
Allow from 10.0.0.0/24

Oder kombiniert mit Passwortschutz:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /home/users/IHR-BENUTZERNAME/.htpasswd
Require valid-user

# Zusätzlich nur von bestimmten IPs
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
Satisfy All

Sicherheitshinweise

Beachten Sie folgende wichtige Sicherheitsaspekte bei der Verwendung von Verzeichnisschutz:

⚠️ HTTP Basic Authentication ist nicht verschlüsselt

Die HTTP-Basic-Authentifizierung überträgt Zugangsdaten nur Base64-kodiert – nicht verschlüsselt. Ohne HTTPS können die Zugangsdaten abgefangen werden.

Wichtig: Verwenden Sie Verzeichnisschutz immer in Kombination mit HTTPS. Alle SpeedIT-Hostingpakete beinhalten kostenlose SSL-Zertifikate – stellen Sie sicher, dass Ihre Seite ausschließlich über HTTPS erreichbar ist.

⚠️ .htpasswd außerhalb des Webverzeichnisses speichern

Speichern Sie die .htpasswd-Datei niemals im öffentlich zugänglichen /www-Verzeichnis. Obwohl der Webserver den direkten Zugriff auf Dateien mit Punkt am Anfang normalerweise blockiert, ist es sicherer, die Datei außerhalb des Webroot zu speichern.

⚠️ Sichere Passwörter verwenden

Verwenden Sie starke, einzigartige Passwörter:

  • Mindestens 12 Zeichen
  • Kombination aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen
  • Keine Wörterbuchwörter oder persönliche Informationen
  • Nutzen Sie den Passwort-Generator in KeyHelp

⚠️ Verzeichnisschutz ist kein Ersatz für Anwendungssicherheit

Der .htaccess-Schutz bietet eine zusätzliche Sicherheitsebene, ersetzt aber nicht:

  • Sichere Passwörter in der Anwendung selbst (z.B. WordPress-Admin)
  • Regelmäßige Updates von CMS, Plugins und Themes
  • Weitere Sicherheitsmaßnahmen wie Zwei-Faktor-Authentifizierung

Häufige Probleme und Lösungen

500 Internal Server Error nach Einrichtung

Mögliche Ursachen:

  • Syntaxfehler in der .htaccess-Datei
  • Falscher Pfad zur .htpasswd-Datei
  • Fehlende oder falsche Berechtigungen

Lösung:

  • Prüfen Sie die .htaccess-Datei auf Tippfehler
  • Stellen Sie sicher, dass der Pfad in AuthUserFile ein absoluter Pfad ist
  • Überprüfen Sie die Dateiberechtigungen
  • Schauen Sie im Error-Log nach Details → Error-Logs auswerten

Login-Dialog erscheint nicht

Mögliche Ursachen:

  • .htaccess-Datei wird nicht gelesen
  • Dateiname falsch geschrieben (Punkt am Anfang beachten!)
  • .htaccess existiert in einem übergeordneten Verzeichnis und überschreibt die Einstellungen

Lösung:

  • Stellen Sie sicher, dass die Datei exakt .htaccess heißt (mit Punkt am Anfang)
  • Prüfen Sie, ob eine .htaccess im übergeordneten Verzeichnis existiert

Login schlägt trotz korrekter Daten fehl

Mögliche Ursachen:

  • Passwort wurde nicht korrekt verschlüsselt
  • Pfad zur .htpasswd-Datei ist falsch
  • Sonderzeichen im Passwort verursachen Probleme

Lösung:

  • Erstellen Sie die .htpasswd-Datei neu mit dem KeyHelp-Tool oder htpasswd-Befehl
  • Vermeiden Sie Sonderzeichen wie $, " oder \ im Passwort
  • Testen Sie mit einem einfachen Passwort zum Debuggen

WordPress-Funktionen gestört (z.B. AJAX)

Wenn Sie /wp-admin schützen, können bestimmte WordPress-Funktionen (AJAX, Customizer) nicht mehr funktionieren.

Lösung: Fügen Sie eine Ausnahme für admin-ajax.php hinzu (siehe Abschnitt „Bestimmte Dateien vom Schutz ausnehmen“) oder nutzen Sie die Ausnahmen-Funktion in KeyHelp.

Problem Typische Ursache
500 Internal Server Error Syntaxfehler oder falscher Pfad in .htaccess
Kein Login-Dialog .htaccess wird nicht gelesen oder Dateiname falsch
Login funktioniert nicht Falscher Pfad zur .htpasswd oder Passwort nicht verschlüsselt
WordPress-AJAX gestört admin-ajax.php benötigt Ausnahme vom Schutz

Verwandte Artikel


Sie benötigen Hilfe?

Falls Sie bei der Einrichtung des Verzeichnisschutzes Probleme haben, kontaktieren Sie unseren Support. Wir helfen Ihnen gerne – auch per Fernwartung.

Support kontaktieren

Zurück zur Startseite

Professionelle Betreuung
für Agenturen

Agenturpartner werden
© 2009-2026 SpeedIT Solutions - Cloud-Hosting & E-Commerce vom Profi! - Made with ❤ and ☕ in Isernhagen - Germany

* Preis inkl. deutscher MwSt. der Gesamtpreis ist abhängig vom Mehrwertsteuersatz des Lieferlandes.