Wie richte ich einen Passwortschutz unter NGINX ein?

Wie richte ich einen Passwortschutz für eine Domain unter NGINX über das Managed Center ein?

Hinweis: Dieser Anleitung ist dafür gedacht, einen neuen Passwortschutz einzurichten, wobei der aktive Webserver NGINX ist. Wenn Sie Apache als aktiven Webserver benutzen, folgen Sie bitte dieser Beschreibung.


Den Zugang zu Ihrer Website oder zu Teilen davon können Sie einschränken, indem eine Benutzername-/Passwort-Authentifizierung eingerichtet wird. Zugriffsberechtigungen werden dann aus der Datei .htpasswd entnommen. Dieser Datei beinhaltet dann alle Benutzernamen und Passwörter, die auf Ihre Webseite Zugriff haben.

Passwortdatei erstellen

Bevor ein Passwortschutz unter NGINX im Managed Center eingerichtet wird, sollte zur Vorbereitung eine Passwortdatei mit der Bezeichnung .htpasswd erstellt und mit Zugangsdaten (Benutzernamen und Passwörter) versehen werden.

Gehen Sie dafür wie folgt vor:

1. Greifen Sie per SSH auf Ihren Cluster zu, mit einem SSH-Client Ihrer Wahl.

2. Erstellen Sie eine Datei mit dem Namen .htpasswd und einen ersten Benutzer im Verzeichnis der Domain, für die Sie den Passwortschutz einrichten möchten. Benutzen Sie dafür folgenden Befehl:

htpasswd -c /var/www/share/<DOMAIN>/.htpasswd <BENUTZER>

Beispiel: htpasswd -c /var/www/share/beispieldomain.de/.htpasswd user1

Hinweis: in diesem Vorgang wird ein Benutzer angegeben, damit dieser sofort in der .htpasswd eingetragen wird.


Wichtig: Werden weitere Benutzer hinzugefügt, ist es wichtig darauf zu achten, dass KEIN -c mehr im Befehl enthalten ist. Anderenfalls wird die vorhandene Datei überschrieben.

 

3. Bestätigen Sie mit Enter.

4. Geben Sie ein Passwort für den Benutzer ein und bestätigen erneut mit Enter.

5. Wiederholen Sie das zuvor eingegebene Passwort. Benutzer und Passwort werden nach der Bestätigung in der .htpasswd eingetragen.



6. Weitere Benutzer können mit folgendem Befehl in die .htpasswd-Datei hinzugefügt werden:

htpasswd /var/www/share/<DOMAIN>/.htpasswd <BENUTZER>

Beispiel: htpasswd /var/www/share/beispieldomain.de/.htpasswd user2

Wichtig: Es ist wichtig darauf zu achten, dass KEIN -c mehr im Befehl enthalten ist. Anderenfalls wird die vorhandene Datei überschrieben.

 

7. Um zu überprüfen, ob die Datei angelegt wurde, navigieren Sie zum Verzeichnis Ihrer Domain:

cd /var/www/share/<DOMAIN>

Beispiel: cd /var/www/share/beispieldomain.de




8. Geben Sie ll ein, um den Inhalt aufzulisten. Die neue Datei .htpasswd sollte jetzt aufgelistet werden.



9. Mit folgender Befehl können Sie überprüfen, welche Benutzer-Passwort Paare angelegt wurden:

cat /var/www/share/<DOMAIN>/.htpasswd

Beispiel: cat /var/www/share/beispieldomain.de/.htpasswd




Hinweis: Passwörter in der .htpasswd werden nicht im Klartext gespeichert. Sie werden gehasht und nur der Hashwert wird gespeichert. Bei einer Systemkompromittierung soll so verhindert werden, dass Passwörter eingesehen werden können.

Passwortschutz unter NGINX im Managed Center einrichten


Hinweis: Die Passwortdatei .htpasswd sollte mit Zugangsdaten (Benutzernamen und Passwörter) versehen werden, vor Sie den Passwortschutz unter NGINX einrichten.

Wurde die .htpasswd-Datei erstellt, dann gehen Sie wie folgt vor, um im Managed Center einen Passwortschutz unter NGINX für Ihre Webseite einzurichten:

 

      1. Loggen Sie sich zunächst mit Ihren Benutzerdaten unter
app.maxcluster.de/login
    ein.      Nach erfolgreicher Anmeldung gelangen Sie automatisch in die Übersicht Ihres Clusters.
2. Öffnen Sie das Managed Center Ihres Clusters. Sie werden dann in die Dashboard-Ansicht weitergeleitet.

3. Klicken Sie in dem linken Navigationsmenü zuerst auf Webserver (Punkt 1) und wählen Sie Ihren aktiven NGINX Webserver aus (Punkt 2). 



4. Wählen Sie die Domain aus, für die ein Passwort geschützt werden soll. Klicken Sie in der Zeile auf die drei Punkte und wählen Sie im Dropdown-Menü Regeln aus. 


5. Wechseln Sie in dem Pop-up-Fenster auf den Reiter REGELN (Punkt 1). Wählen Sie über das Dropdown-Menü (Punkt 2) die userdefined.conf.init aus.

Hinweis: Die Regeln werden von oben nach unten abgearbeitet. Da die “userdefined.conf.init” relativ weit oben eingebunden wird, wird hierdurch die Regel möglichst früh angewendet. 

      6. Für eine einfache Authentifizierung per HTTP kann eine "auth_basic"-Direktive verwendet werden. In der
userdefined.conf.init
    muss dafür folgende basic auth.-Regel eingetragen werden (Punkt 3):

auth_basic "Passwortschutz";
     

 auth_basic_user_file /var/www/share/<DOMAIN>/.htpasswd;

 

Beispiel:
auth_basic "Passwortschutz";

auth_basic_user_file /var/www/share/beispieldomain.de/.htpasswd;

      7. Bestätigen Sie Ihre Änderungen, indem Sie auf
SPEICHERN
      klicken (Punkt 4).

Hinweis:

    Beim Speichern wird automatisch ein Reload des Webservers durchgeführt, wodurch es zu einer kurzen Downtime kommen kann. 

Weitere Informationen und Anpassungsmöglichkeiten finden Sie unter: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication

 

Bei weiteren Fragen steht Ihnen unser Support unter 05251/414130 oder per E-Mail an support@maxcluster.de zur Verfügung.

 

Veröffentlicht am 14.06.2024