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,/administratoroder ä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
- Melden Sie sich im Kundenportal an
- Gehen Sie auf den gewünschten Hosting Tarif -> Melden Sie sich dann in der Webserververwaltung an
- Navigieren Sie zu Sicherheit → Verzeichnisschutz
- 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
- Klicken Sie auf „Speichern“
- Der Schutz ist sofort aktiv
- 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:640oder644(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
AuthUserFileein 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
.htaccessheiß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
- ModSecurity – Ihr Schutzschild gegen Cyberangriffe
- Server nicht erreichbar / IP-Sperre
- 500 Internal Server Error beheben
- Sicherheit in unserem Hosting
Sie benötigen Hilfe?
Falls Sie bei der Einrichtung des Verzeichnisschutzes Probleme haben, kontaktieren Sie unseren Support. Wir helfen Ihnen gerne – auch per Fernwartung.