Kuinka suojata salasanalla verkkohakemistoja Nginxissä


Verkkoprojektien johtajien on usein suojeltava työtään tavalla tai toisella. Usein ihmiset kysyvät, kuinka suojata verkkosivustonsa salasanalla, kun se on vielä kehitysvaiheessa.

Tässä opetusohjelmassa näytämme sinulle yksinkertaisen, mutta tehokkaan tekniikan salasanasuojatun verkkohakemiston luomiseen käytettäessä Nginxiä verkkopalvelimena.

Jos käytät Apache-verkkopalvelinta, voit tarkistaa verkkohakemiston salasanasuojausoppaastamme:

  1. Salasanasuojatut verkkohakemistot Apachessa

Vaatimukset

Jotta voit suorittaa tämän opetusohjelman vaiheet, sinulla on oltava:

  • Nginx-verkkopalvelin asennettu
  • Pääkäyttäjän oikeudet palvelimeen

Vaihe 1: Luo käyttäjä ja salasana

1. Verkkohakemistomme suojaamiseksi salasanalla meidän on luotava tiedosto, joka sisältää salatun käyttäjänimemme ja salasanamme.

Kun käytät Apachea, voit käyttää htpasswd-apuohjelmaa. Jos tämä apuohjelma on asennettu järjestelmääsi, voit käyttää tätä komentoa salasanatiedoston luomiseen:

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

Kun suoritat tämän komennon, sinua pyydetään asettamaan salasana yllä olevalle käyttäjälle ja sen jälkeen .htpasswd-tiedosto luodaan määritettyyn hakemistoon.

2. Jos sinulla ei ole kyseistä työkalua asennettuna, voit luoda .htpasswd-tiedoston manuaalisesti. Tiedostolla tulee olla seuraava syntaksi:

username:encrypted-password:comment

Käyttämäsi käyttäjänimi riippuu sinusta itsestäsi. Valitse haluamasi.

Tärkeämpi osa on tapa, jolla luot salasanan kyseiselle käyttäjälle.

Vaihe 2: Luo salattu salasana

3. Luo salasana käyttämällä Perlin integroitua "crypt"-toimintoa.

Tässä on esimerkki komennosta:

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

Esimerkki tosielämästä:

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

Avaa nyt tiedosto ja laita käyttäjätunnuksesi ja luotu merkkijonoon puolipisteellä erotettuna.

Näin:

vi /home/tecmint/.htpasswd

Laita käyttäjätunnuksesi ja salasanasi. Minun tapauksessani se näyttää tältä:

tecmint:1xV2Rdw7Q6MK.

Tallenna tiedosto painamalla "Esc" ja sen jälkeen ":wq".

Vaihe 3: Päivitä Nginx-kokoonpano

4. Avaa ja muokkaa nyt työskentelemääsi sivustoon liittyvää Nginx-määritystiedostoa. Meidän tapauksessamme käytämme oletustiedostoa osoitteessa:

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]

Esimerkissämme suojaamme salasanalla nginx-hakemiston juurihakemistoa, joka on: /usr/share/nginx/html.

5. Lisää nyt seuraavat kaksi riviä sen polun alle, jonka haluat suojata.

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

Tallenna nyt tiedosto ja käynnistä Nginx uudelleen:

systemctl restart nginx
OR
service nginx restart

6. Kopioi/liitä nyt tämä IP-osoite selaimeesi, niin sinulta pitäisi kysyä salasanaa:

Se siitä! Pääverkkohakemistosi on nyt suojattu. Kun haluat poistaa salasanasuojauksen sivustolta, poista vain kaksi riviä, jotka juuri lisäsit .htpasswd-tiedostoon, tai käytä seuraavaa komentoa poistaaksesi lisätyn käyttäjän salasanatiedostosta.

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