Wéi Passwuert schützen Web Verzeechnes an Nginx


Manager vu Webprojeten mussen dacks hir Aarbecht op eng oder aner Manéier schützen. Dacks froen d'Leit wéi se hir Websäit mat Passwuert schützen wärend se nach an der Entwécklung ass.

An dësem Tutorial wäerte mir Iech eng einfach, awer effektiv Technik weisen wéi Dir Passwuert geschützt Webverzeechnes wann Dir Nginx als Webserver leeft.

Am Fall wou Dir Apache Webserver benotzt, kënnt Dir eise Guide iwwerpréiwen fir e Webverzeichnis Passwuert ze schützen:

  1. Password Protect Web Directories in Apache

Fir d'Schrëtt an dësem Tutorial ofzeschléissen, musst Dir hunn:

  • Nginx Webserver installéiert
  • Root Zougang zum Server

Schrëtt 1: Erstellt Benotzer a Passwuert

1. Fir eise Webverzeechnes mat Passwuert ze schützen, musse mir d'Datei erstellen, déi eise verschlësselte Benotzernumm a Passwuert enthält.

Wann Dir Apache benotzt, kënnt Dir den Utility htpasswd benotzen. Wann Dir dëst Utility op Ärem System installéiert hutt, kënnt Dir dëse Kommando benotze fir d'Passwuertdatei ze generéieren:

# htpasswd -c /path/to/file/.htpasswd username

Wann Dir dëse Kommando leeft, gitt Dir gefrot fir e Passwuert fir den uewe genannte Benotzer ze setzen an duerno gëtt d'.htpasswd Datei am spezifizéierte Verzeechnes erstallt.

2. Wann Dir dat Tool net installéiert hutt, kënnt Dir d'.htpasswd Datei manuell erstellen. D'Datei soll déi folgend Syntax hunn:

username:encrypted-password:comment

De Benotzernumm deen Dir benotzt hänkt vun Iech of, wielt wat Dir wëllt.

De méi wichtegen Deel ass de Wee wéi Dir d'Passwuert fir dee Benotzer generéiert.

Schrëtt 2: Generéiere verschlësselte Passwuert

3. Fir d'Passwuert ze generéieren, benotzt d'Perl integréiert Krypta Funktioun.

Hei ass e Beispill vun deem Kommando:

# perl -le 'print crypt("your-password", "salt-hash")'

E richtegt Liewen Beispill:

# perl -le 'print crypt("#12Dfsaa$fa", "1xzcq")'

Elo öffnen eng Datei a setzt Äre Benotzernumm an de generéierten String et, getrennt mat Semikolon.

Hei ass wéi:

# vi /home/tecmint/.htpasswd

Gitt Äre Benotzernumm a Passwuert. A mengem Fall gesäit et esou aus:

tecmint:1xV2Rdw7Q6MK.

Späichert d'Datei andeems Dir op Esc dréckt gefollegt vun :wq.

Schrëtt 3: Update Nginx Konfiguratioun

4. Elo öffnen an änneren d'Nginx Konfiguratiounsdatei verbonne mat der Säit wou Dir schafft. An eisem Fall benotze mir d'Standarddatei op:

# vi /etc/nginx/conf.d/default.conf       [For CentOS based systems]
OR
# vi /etc/nginx/nginx.conf                [For CentOS based systems]


# vi /etc/nginx/sites-enabled/default     [For Debian based systems]

An eisem Beispill wäerte mir d'Passwuert vum Verzeechnes root fir nginx schützen, dat ass: /usr/share/nginx/html.

5. Füügt elo déi folgend zwou Zeilen Sektioun ënner dem Wee deen Dir wëllt schützen.

auth_basic "Administrator Login";
auth_basic_user_file /home/tecmint/.htpasswd;

Elo späichert d'Datei a restart Nginx mat:

# systemctl restart nginx
OR
# service nginx restart

6. Elo kopéiert/paste dës IP Adress an Ärem Browser an Dir sollt ëm Passwuert gefrot ginn:

Dat ass et! Ären Haaptwebverzeechnes ass elo geschützt. Wann Dir de Passwuertschutz op der Säit ewechhuele wëllt, läscht einfach déi zwou Zeilen, déi Dir just an d'.htpasswd-Datei bäigefüügt hutt oder benotzt de folgende Kommando fir de addéierte Benotzer aus enger Passwuertdatei ze läschen.

# htpasswd -D /path/to/file/.htpasswd username