Kā ar paroli aizsargāt tīmekļa direktorijus Nginx


Tīmekļa projektu vadītājiem bieži vien ir jāaizsargā savs darbs tā vai citādi. Bieži vien cilvēki jautā, kā paroli aizsargāt viņu vietni, kamēr tā vēl tiek izstrādāta.

Šajā apmācībā mēs parādīsim vienkāršu, bet efektīvu paņēmienu, kā paroli aizsargāt tīmekļa direktoriju, palaižot Nginx kā tīmekļa serveri.

Ja izmantojat Apache tīmekļa serveri, varat pārbaudīt mūsu rokasgrāmatu par Web direktorijas paroles aizsardzību:

  1. Apache aizsargājiet tīmekļa direktorijus Apache

Lai izpildītu šīs apmācības darbības, jums būs nepieciešams:

  • Instalēts Nginx tīmekļa serveris
  • Saknes piekļuve serverim

1. darbība: izveidojiet lietotāju un paroli

1. Lai aizsargātu mūsu tīmekļa direktoriju ar paroli, mums būs jāizveido fails, kurā būs mūsu šifrētais lietotājvārds un parole.

Izmantojot Apache, varat izmantot utilītu “htpasswd”. Ja jūsu sistēmā ir instalēta šī utilīta, varat izmantot šo komandu, lai ģenerētu paroles failu:

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

Palaidot šo komandu, jums tiks lūgts iestatīt paroli iepriekšminētajam lietotājam, un pēc tam norādītajā direktorijā tiks izveidots .htpasswd fails.

2. Ja šis rīks nav instalēts, varat izveidot .htpasswd failu manuāli. Failam ir jābūt šādai sintaksei:

username:encrypted-password:comment

Lietotājvārds, kuru izmantosiet, ir atkarīgs no jums, izvēlieties visu, kas jums patīk.

Svarīgāka daļa ir veids, kā jūs ģenerēsiet paroli šim lietotājam.

2. darbība: ģenerējiet šifrētu paroli

3. Lai ģenerētu paroli, izmantojiet Perl integrēto “kriptēšanas” funkciju.

Šeit ir šīs komandas piemērs:

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

Reālās dzīves piemērs:

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

Tagad atveriet failu un ievietojiet savu lietotājvārdu un ģenerēto virknē, atdalot tos ar semikolu.

Lūk, kā:

# vi /home/tecmint/.htpasswd

Ievadiet savu lietotājvārdu un paroli. Manā gadījumā tas izskatās šādi:

tecmint:1xV2Rdw7Q6MK.

Saglabājiet failu, nospiežot “Esc” un pēc tam “: wq”.

3. darbība: atjauniniet Nginx konfigurāciju

4. Tagad atveriet un rediģējiet Nginx konfigurācijas failu, kas saistīts ar vietni, kurā strādājat. Mūsu gadījumā noklusējuma failu izmantosim:

# 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]

Šajā piemērā mēs aizsargāsim ar paroli nginx direktorijas sakni, kas ir: /usr/share/nginx/html .

5. Tagad pievienojiet šādas divas rindu sadaļu zem ceļa, kuru vēlaties aizsargāt.

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

Tagad saglabājiet failu un restartējiet Nginx ar:

# systemctl restart nginx
OR
# service nginx restart

6. Tagad nokopējiet/ielīmējiet šo IP adresi savā pārlūkprogrammā, un jums vajadzētu lūgt paroli:

Tieši tā! Jūsu galvenais tīmekļa katalogs tagad ir aizsargāts. Ja vēlaties noņemt vietnes aizsardzību ar paroli, vienkārši noņemiet divas rindas, kuras tikko pievienojāt .htpasswd failam, vai izmantojiet šo komandu, lai noņemtu pievienoto lietotāju no paroles faila.

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