So richten Sie das Kennwortschutz-Webverzeichnis in Apache ein
Dieser Artikel ist Teil der Apache Server Guide-Reihe:
- Sicherung von Apache auf Ubuntu - Teil 1
- Sicherung von Apache auf Ubuntu - Teil 2
- Apache-Performance optimieren - Teil 1
- Apache Performance optimieren - Teil 2
- Einrichten von namensbasiertem Virtualhost Apache
- Einrichten von IP und Port-Based Virtualhost in Apache
- So richten Sie das Kennwortschutz-Webverzeichnis in Apache ein
- Einrichten von Apache Server mit SSL-Unterstützung unter Ubuntu
- Einrichten von Fail2ban, um Apache vor einem DDOS-Angriff zu schützen
- Wie man Webdav mit Apache auf Ubuntu einrichtet
- Überwachen Sie Apache Web Server mit Mod_status
- So schützen Sie sich gegen DDoS mit Mod_evasive auf Apache Server
Apache ist einer der am häufigsten verwendeten und beliebtesten Webserver der Welt. Daher ist es wichtig, dass Ihre Websites vor unbefugten Benutzern geschützt werden. Die Apache-Authentifizierung kann so konfiguriert werden, dass Website-Besucher sich mit einer Benutzer-ID und einem Passwort anmelden müssen. Es gibt viele Möglichkeiten, wie Sie Verzeichnisse unter einem Apache-Webserver mit einem Passwort schützen können.
Dieser Artikel beschreibt eine einfache Methode zum Kennzeichnen eines Webverzeichnisses in Apache mithilfe einer .htaccess
Datei.
Hinweis : Dieses Tutorial ist auf einem Ubuntu-Server mit Apache installiert.
Installation des Apache-Hilfspakets
Zuerst müssen Sie das Paket apache2-utils
installieren, das ein Dienstprogramm namens htpasswd
zum Erstellen einer Kennwortdatei htpasswd
.
Sie können es installieren, indem Sie den folgenden Befehl ausführen:
sudo apt-get installieren apache2-utils
Konfigurieren Sie Apache, um die .htaccess-Authentifizierung zuzulassen
Standardmäßig erlaubt Apache die Verwendung einer .htaccess-Datei in Ubuntu 14.04 nicht. Sie müssen die Apache-Konfigurationsdatei einrichten, um die .htacces-basierte Authentifizierung zu ermöglichen.
Sie können dies tun, indem Sie die Apache-Konfigurationsdatei bearbeiten:
sudo nano /etc/apache2/apache2.conf
Suchen Sie den Abschnitt, der mit dem Directory "/var/www/html"
beginnt, und ändern Sie die Zeile von AllowOverride none
in AllowOverride AuthConfig
Optionen Indizes FollowSymLinks AllowOverride AuthConfig Erfordern alle gewährt
Speichern und schließen Sie die Datei.
Erstellen Sie die Passwortdatei
Sie können das htpasswd
, um eine Kennwortdatei zu erstellen, mit der Apache Benutzer authentifizieren kann. Erstellen Sie nun eine versteckte .htpasswd-Datei im Konfigurationsverzeichnis "/ etc / apache2".
sudo htpasswd -c /etc/apache2/.htpasswd authuser1
Sie werden aufgefordert, ein Passwort für authuser1 einzugeben und zu bestätigen.
Wenn Sie einen anderen Benutzer hinzufügen möchten, lassen Sie das Argument -c
mit htpasswd
Befehl htpasswd
.
Um nun eine weitere Authentifizierung für einen zweiten Benutzer zu erstellen, authuser2:
sudo htpasswd /etc/apache2/.htpasswd authuser2
Sie können den Benutzernamen und das verschlüsselte Passwort für jeden Datensatz anzeigen, indem Sie Folgendes ausführen:
Sudokatze /etc/apache2/.htpasswd
Sie müssen dem Benutzer "www-data" die Berechtigung erteilen, die Datei .htpasswd lesen zu können.
sudo chown www-daten: www-data /etc/httpd/.htpasswd sudo chmod 0660 /etc/httpd/htpasswd
Konfigurieren Sie die Apache-Passwort-Authentifizierung
Sie müssen eine ".htaccess" -Datei in dem Webverzeichnis erstellen, das Sie einschränken möchten. In diesem Beispiel werde ich eine ".htaccess" -Datei im Verzeichnis "/ var / www / html /" erstellen, um den gesamten Dokumentenstamm zu beschränken.
sudo nano /var/www/html/.htaccess
Fügen Sie den folgenden Inhalt hinzu:
AuthType Basic AuthName "Eingeschränkter Inhalt" AuthUserFile /etc/apache2/.htpasswd Erfordert einen gültigen Benutzer
Hier ist, was der obige Code bedeutet:
- AuthType : Diese Option definiert den Typ der Authentifizierung.
- AuthName : Dies ist Inhalt, der auf der Webseite angezeigt wird, wenn Sie nach Benutzername und Passwort gefragt werden .
- AuthUserFile : Diese Option gibt den Speicherort der Benutzeranmeldeinformationen an.
- require valid-user : Dies zeigt an, dass nur erfolgreich authentifizierte Anfragen die Seite laden können.
Speichern und schließen Sie die Datei und starten Sie Apache neu, damit diese Änderungen wirksam werden.
sudo /etc/init.d/apache2 neustarten
Passwortauthentifizierung testen
Rufen Sie jetzt auf einem Remote-Computer Ihre Website in einem Webbrowser auf. Sie werden aufgefordert, einen Benutzernamen und ein Passwort einzugeben, um auf die Webseite zugreifen zu können.
Wenn Sie die korrekten Benutzeranmeldeinformationen eingeben, können Sie auf den Inhalt zugreifen. Wenn Sie die falschen Benutzerdaten eingeben oder auf "Abbrechen" klicken, wird die Seite " Nicht autorisierte Fehler" angezeigt.
Fazit
Sie sollten nun über ausreichende Kenntnisse verfügen, um die Basisauthentifizierung für Ihren Apache-Webserver einzurichten. Beachten Sie auch, dass der Passwortschutz mit der SSL-Verschlüsselung kombiniert werden sollte, damit Ihre Anmeldeinformationen nicht im Klartext an den Server gesendet werden.