Vielleicht haben Sie eine sensible Seite, die Sie mit einem Passwort schützen möchten. Dies wird auch als Basisauthentifizierung bezeichnet
Die gute Nachricht ist, dass es möglich ist, und zwar ganz einfach
Warum sollten Sie die Webseite mit einem Kennwort schützen?
Nun, dafür kann es viele Gründe geben, z.B
- Die Seite enthält sensible Daten
- Die Seite ist noch nicht fertig, und Sie möchten sie nicht öffentlich zugänglich machen, sondern mit jemandem teilen
Was auch immer es ist, lassen Sie uns herausfinden, wie Sie sich schützen können
Anforderung
Nehmen wir ein Beispiel: Ich möchte /client
auf lab.geekflare.com schützen, d.h. wenn jemand auf https://lab.geekflare.com/client
zugreift, sollte er nach einem Passwort gefragt werden
Apache
Beginnen wir zuerst mit Apache
Als Erstes müssen wir eine Passwortdatei erstellen, in der alle Anmeldedaten gespeichert werden. Der Dateiname lautet .htpasswd
und Sie können die Datei irgendwo auf dem Server ablegen. Ich werde sie unter dem Ordner /etc/httpd/conf
erstellen
- Sie können die Datei mit dem Befehl
touch
erstellen
touch /etc/httpd/conf/.htpasswd
- Fügen wir nun den Benutzer hinzu, der auf /client zugreifen darf. Hierfür müssen wir den Befehl
htpasswd
verwenden .
htpasswd /etc/httpd/conf/.htpasswd geekflare
- Der letzte Abschnitt, geekflare, ist der Benutzername. Ändern Sie diesen mit dem von Ihnen gewünschten Namen und drücken Sie Enter.
- Geben Sie das Passwort ein, und Sie erhalten eine Bestätigung, dass der Benutzer hinzugefügt wurde.
[root@lab html]# htpasswd /etc/httpd/conf/.htpasswd geekflare
Neues Passwort:
Neues Passwort erneut eingeben:
Passwort für Benutzer geekflare hinzufügen
[root@lab html]#
Wenn Sie die Datei katalogisieren, werden Sie feststellen, dass das Passwort in einem verschlüsselten Format gespeichert ist. Das ist gut so!
[root@lab html]# cat /etc/httpd/conf/.htpasswd
geekflare:$apr1$EHvl0Bc5$nh4u0w3.Cj3wzPT7XUXqW1
[root@lab html]#
Als nächstes müssen wir den Apache anweisen, den gewünschten URI zu schützen
- Ändern Sie die Datei httpd.conf oder die Konfigurationsdatei, die Sie für die Apache-Instanz verwenden. Ich verwende die Standardinstallation, daher verwende ich /etc/httpd/conf/httpd.conf
- Fügen Sie Folgendes an beliebiger Stelle in die Datei ein
<Verzeichnis "/var/www/html/client">
Optionen Indexes FollowSymLinks
AuthType Basic
AuthName "Geschützter Inhalt für Client"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Verzeichnis>
Wenn Sie bereits eine /var/www/html/client-Verzeichnisdirektive
haben, dann sollten Sie, anstatt einen neuen Abschnitt hinzuzufügen, einfach das Folgende in die bestehende Direktive einfügen
AuthType Basic
AuthName "Geschützter Inhalt"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
- Apache neu starten
service httpd neustart
- Versuchen Sie, auf die Seite /client zuzugreifen, und es sollte nach einem Passwort gefragt werden.
- Geben Sie die Anmeldedaten ein, die Sie zuvor festgelegt haben, um den Inhalt anzuzeigen.
Ausgefallene .htaccess-Methode?
Sicher, Sie können die grundlegende Authentifizierung auch über die .htaccess-Datei
implementieren. Sie müssen die Anmeldedaten jedoch wie oben beschrieben mit htpasswd
erstellen. Danach können Sie Folgendes in die .htaccess-Datei
des jeweiligen Ordners einfügen
AuthType Basic
AuthName "Geschützter Inhalt"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
Das Schöne daran ist, dass Sie den Apache nicht neu starten müssen
Nginx
Implementieren wir Basic Authentication in Nginx wie folgt
Wir werden die Hilfe von Apache Utils in Anspruch nehmen, um die Anmeldeinformationen zu generieren. Wenn auf dem Server kein Apache HTTP installiert ist, müssen Sie die Utils wie unten beschrieben separat installieren. Wenn Sie unsicher sind, können Sie htpasswd
ausführen, um zu sehen, ob es funktioniert. Wenn dies nicht der Fall ist, wissen Sie, dass Sie es installieren müssen
CentOS/RHEL 8
dnf install httpd-tools
CentOS/RHEL 7
yum install httpd-tools
Ubuntu
apt-get install apache2-utils
- Lassen Sie uns die Anmeldeinformationen ähnlich wie beim Apache erstellen.
htpasswd -c /etc/nginx/.htpasswd chandan
- Vergessen Sie nicht, chandan durch den gewünschten echten Benutzernamen zu ersetzen
Als Nächstes müssen wir Nginx so konfigurieren, dass es die bestimmte URI mit dem Passwort einschränkt
- Nehmen wir an, wir müssen
/admin
URI schützen - Fügen Sie Folgendes in die
nginx.conf
oder eine andere aktive Nginx-Konfigurationsdatei ein
location /admin {
auth_basic "Admin-Bereich";
auth_basic_user_file /etc/nginx/.htpasswd;
}
- Nginx neu starten
Was, wenn Sie die gesamte Website, die über Nginx bedient wird, einschränken müssen?
Ganz einfach!
Fügen Sie in der nginx.conf oder der aktiven Konfigurationsdatei unter location / {
die folgende Direktive ein
auth_basic "Admin-Bereich";
auth_basic_user_file /etc/nginx/.htpasswd
SiteGround
Die Hosting-Plattform hat sich weiterentwickelt. Es gibt viele Plattformen, die praktische Tools anbieten, und SiteGround ist eine davon
Wenn Sie SiteGround zum Hosten Ihrer Website verwenden, können Sie die URL ganz einfach über die Verwaltungskonsole schützen. Nehmen wir an, Sie verwenden WordPress und müssen /wp-admin
schützen
- Melden Sie sich bei SiteGround an und gehen Sie zu der Seite, auf der Sie die Basisauthentifizierung aktivieren müssen.
- Klicken Sie auf Sicherheit >> Geschützte URLs >> Benutzer
- Geben Sie den Namen und das Passwort ein, um die Zugangsdaten zu erstellen
Als nächstes werden wir wp-admin mit dem soeben erstellten Berechtigungsnachweis schützen
- Gehen Sie zur Registerkarte URLs
- Geben Sie wp-admin in den Pfad ein und klicken Sie auf Schützen
- Klicken Sie auf Zugriff verwalten und weisen Sie den soeben erstellten Benutzer zu
Versuchen Sie, auf die Seite zuzugreifen, und SiteGround wird Sie auffordern, die Zugangsdaten einzugeben
Einfach, nicht wahr?
WordPress
Sie verwenden WordPress und möchten einen bestimmten Beitrag, eine Seite, eine Kategorie, eine Rolle oder die gesamte Website mit einem Passwort schützen?
Kein Problem!
Lernen Sie PPWP (Password Protect WordPress Plugin) kennen
Installieren Sie das Plugin und konfigurieren Sie die Art und Weise, wie Sie WordPress-Ressourcen schützen möchten. Dies funktioniert mit Page Buildern wie Elementor, Divi, Beaver
Wenn Sie einen einfachen passwortgeschützten Beitrag oder eine Seite benötigen, können Sie auch die eingebaute WP-Funktion nutzen. Sie brauchen dafür kein Plugin
- Gehen Sie zu dem Beitrag oder der Seite, für die Sie ein Passwort aktivieren möchten.
- Klicken Sie unter dem Abschnitt Veröffentlichen auf Bearbeiten neben Sichtbarkeit: Öffentlich
- Wählen Sie Passwortgeschützt und geben Sie das Passwort ein.
- Klicken Sie auf OK, und schon sind Sie fertig!
Benötigen Sie weitere Möglichkeiten, WordPress zu sichern? Sehen Sie sich diesen Leitfaden an
cPanel
Wenn Sie ein Shared Hosting nutzen, haben Sie höchstwahrscheinlich cPanel. Die gute Nachricht ist, dass cPanel ein Dienstprogramm namens Directory Privacy bietet, mit dem Sie ein Passwort für das Verzeichnis festlegen können
- Anmeldung bei cPanel
- Suchen Sie nach Directory Privacy
- Wählen Sie den Ordner, den Sie schützen möchten. Wie unten dargestellt, habe ich einen Ordner namens chandan ausgewählt , der sich unter public_html befindet
- Erstellen Sie den Benutzer, der zugelassen werden soll, und speichern Sie
- Sobald Sie dies getan haben, werden Sie feststellen, dass der Ordner ein Schloss hat
Und das war’s. Das Verzeichnis ist jetzt passwortgeschützt. Wie Sie oben sehen können, habe ich es auf A2-Hosting getestet, und es funktioniert hervorragend
Fazit
Ich hoffe, die obigen Ausführungen helfen Ihnen, bestimmte URIs und Ordner mit einem Passwort zu schützen, indem Sie die einfache Authentifizierung verwenden. Wenn Sie auf der Suche nach umfassender Website-Sicherheit sind, sollten Sie die Implementierung einer WAF in Betracht ziehen.