Hvernig á að vernda vefskrár með lykilorði í Apache með .htaccess skrá


Þegar þú stjórnar verkefnum á netinu þarftu oft að takmarka aðgang að því verkefni til að vernda það gegn umheiminum. Það geta verið mismunandi ástæður fyrir því - til dæmis viltu koma í veg fyrir að leitarvélarskriðlar fái aðgang að síðuna þína á meðan hún er enn í þróunarfasa.

Í þessari kennslu ætla ég að sýna þér hvernig á að vernda mismunandi vefsíðuskrár með lykilorði á Apache vefþjóni. Það eru margar leiðir til að ná þessu, en við munum fara yfir tvær þeirra sem eru oftast notaðar.

Fyrri aðferðin stillir aðgangsorðavörn beint í stillingarskrá Apache, en sú seinni notar .htaccess skrá.

Kröfur

Til að setja upp lykilorðsvörn fyrir vefskrárnar þínar þarftu að hafa:

  • Vinnandi Apache vefþjónn
  • AllowOverride AuthConfig tilskipunin verður að vera virkjuð í Apache stillingarskrá.

Settu upp Apache lykilorðsvarða skrá

1. Fyrir þessa kennslu munum við vernda aðal rótarskrána /var/www/html. Til að vernda þá möppu skaltu opna Apache stillingar þínar:

---------------- On RedHat/CentOS based systems ----------------
# vi /etc/httpd/conf/httpd.conf

---------------- On Debian/Ubuntu based systems ----------------
# nano /etc/apache2/sites-available/000-default.conf

2. Finndu Apache Document directory rótina fyrir /var/www/html og bættu við eftirfarandi hlutum eins og lagt er til:

<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All
Order allow,deny
Allow from all 
</Directory>
<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All 
Require all granted 
</Directory>

3. Vistaðu skrána og endurræstu Apache með því að nota eftirfarandi skipun:

--------------- On Systemd -------------------
# systemctl restart httpd         [On RedHat based systems]
# systemctl restart apache2       [On Debian based systems]


--------------- On SysV init -----------------
# service httpd restart           [On RedHat based systems]
# service apache2 restart         [On Debian based systems]

4. Nú munum við nota htpasswd skipunina til að búa til notandanafn og lykilorð fyrir vernduðu möppuna okkar. Þessi skipun er notuð til að stjórna notendaskrám fyrir grunn auðkenningu.

Almenn setningafræði skipunarinnar er:

# htpasswd -c filename username

Valkosturinn -c tilgreinir skrána sem mun geyma dulkóðaða lykilorðið og notandanafn tilgreinir notandann fyrir auðkenninguna.

5. Lykilorðsskráin okkar þarf að vera úr aðgengilegri möppu Apache svo hún sé vel varin. Í þeim tilgangi munum við búa til nýja möppu:

# mkdir /home/tecmint

6. Eftir það munum við búa til notandanafn og lykilorð sem verður geymt í þeirri möppu:

# htpasswd -c /home/tecmint/webpass tecmint

Þegar þú hefur framkvæmt þessa skipun þarftu að slá inn lykilorð fyrir nýja notandann okkar \tecmint\ tvisvar:

Eftir það verðum við að ganga úr skugga um að Apache geti lesið „webpass“ skrána. Í þeim tilgangi þarftu að breyta eignarhaldi þessarar skráar með eftirfarandi skipun:

---------------- On RedHat/CentOS based systems ----------------
# chown apache: /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass
---------------- On Debian/Ubuntu based systems ----------------
# chown www-data /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass

7. Á þessum tímapunkti eru nýi notandinn okkar og lykilorð tilbúið. Nú þurfum við að segja Apache að biðja um lykilorð þegar þú opnar markaskrána okkar. Í þeim tilgangi skaltu búa til skrá sem heitir .htaccess í /var/www/html:

# vi /var/www/html/.htaccess

Bættu eftirfarandi kóða í það:

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/tecmint/webpass
Require user tecmint

8. Vistaðu nú skrána og prófaðu uppsetninguna þína. Opnaðu vafrann þinn og sláðu inn IP tölu þína eða lén í vafranum, til dæmis:

http://ip-address

Þú ættir að vera beðinn um notandanafn og lykilorð:

Sláðu inn notandanafnið og lykilorðið sem þú stilltir til að halda áfram á síðuna þína.

Viðbótar athugasemdir

Ef þú ert að nota sameiginlega hýsingu muntu líklegast ekki hafa aðgang að Apache stillingarskránni. Hins vegar hafa flest hýsingarfyrirtæki kveikt á valkostinum „AllowOverride All“ sjálfgefið. Þetta þýðir að þú þarft aðeins að búa til notandanafn og lykilorð og velja síðan möppu sem þú vilt vernda. Þetta auðveldar þér verkefnið verulega.

Niðurstaða

Ég vona að þér hafi fundist þessi kennsla gagnleg og hjálpa þér að ná markmiði þínu. Ef þú hefur einhverjar spurningar eða athugasemdir skaltu ekki hika við að birta þær í hlutanum hér að neðan.