Weboldal keresés

Webkönyvtárak jelszavas védelme az Apache-ban .htaccess fájl használatával


Amikor online projekteket kezel, gyakran korlátoznia kell a projekthez való hozzáférést, hogy megvédje a külvilágtól. Ennek különböző okai lehetnek – például szeretné megakadályozni, hogy a keresőrobotok hozzáférjenek webhelyéhez, amíg az még fejlesztési fázisban van.

Ebben az oktatóanyagban megmutatom, hogyan lehet jelszóval védeni a különböző webhelyek könyvtárait az Apache webszerveren. Ezt sokféle módon érheti el, de ezek közül kettőt fogunk áttekinteni, amelyeket a leggyakrabban használnak.

Az első módszer közvetlenül az Apache konfigurációs fájljában konfigurálja a jelszavas védelmet, míg a második a .htaccess fájlt használja.

Követelmények

A webkönyvtárak jelszavas védelmének beállításához a következőkre lesz szüksége:

  • Működő Apache webszerver
  • Az AllowOverride AuthConfig direktívát engedélyezni kell az Apache konfigurációs fájljában.

Állítsa be az Apache jelszóval védett könyvtárat

1. Ebben az oktatóanyagban a fő web gyökérkönyvtárat fogjuk védeni: /var/www/html. A könyvtár védelméhez nyissa meg az Apache konfigurációját:

---------------- 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. Keresse meg a /var/www/html Apache Document könyvtárának gyökérkönyvtárát, és adja hozzá a következő dolgokat a javasolt módon:

Apache 2.2 verzión

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

Apache 2.4 verzión

<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All 
Require all granted 
</Directory>

3. Mentse a fájlt, és indítsa újra az Apache-t a következő paranccsal:

--------------- 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. Most a htpasswd parancsot fogjuk használni, hogy felhasználónevet és jelszót generáljunk védett könyvtárunkhoz. Ez a parancs az alapvető hitelesítéshez szükséges felhasználói fájlok kezelésére szolgál.

A parancs általános szintaxisa a következő:

htpasswd -c filename username

A -c opció megadja azt a fájlt, amely megőrzi a titkosított jelszót, a felhasználónév pedig a hitelesítéshez szükséges felhasználót.

5. A jelszófájlunknak az Apache webes elérhető könyvtárán kívül kell lennie, hogy jól védett legyen. Ebből a célból új könyvtárat hozunk létre:

mkdir /home/tecmint

6. Ezt követően létrehozzuk felhasználónevünket és jelszavunkat, amelyek ebben a könyvtárban lesznek tárolva:

htpasswd -c /home/tecmint/webpass tecmint

Miután végrehajtotta ezt a parancsot, kétszer meg kell adnia a jelszót új felhasználónk, "tecmint" számára:

Ezt követően meg kell győződnünk arról, hogy az Apache képes olvasni a „webpass” fájlt. Ebből a célból meg kell változtatnia a fájl tulajdonjogát a következő paranccsal:

---------------- 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. Ezen a ponton új felhasználónk és jelszavunk készen áll. Most meg kell mondanunk az Apache-nak, hogy kérjen jelszót a célkönyvtárunk elérésekor. Ebből a célból hozzon létre .htaccess nevű fájlt a /var/www/html mappában:

vi /var/www/html/.htaccess

Adja hozzá a következő kódot:

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

8. Most mentse a fájlt, és tesztelje a beállítást. Nyissa meg a böngészőt, és írja be az IP-címét vagy a domain nevét a webböngészőbe, például:

http://ip-address

Meg kell kérni a felhasználónevet és a jelszót:

Írja be a beállított felhasználónevet és jelszót, hogy továbblépjen az oldalára.

További megjegyzések

Ha megosztott tárhelyet használ, valószínűleg nem fog hozzáférni az Apache konfigurációs fájljához. A legtöbb tárhelyszolgáltató azonban alapértelmezés szerint engedélyezte az „AllowOverride All” opciót. Ez azt jelenti, hogy csak a felhasználónevet és a jelszót kell létrehoznia, majd ki kell választania a védeni kívánt könyvtárat. Ez jelentősen megkönnyíti a feladatát.

Következtetés

Remélem, hasznosnak találta ezt az oktatóanyagot, és segít elérni céljait. Ha bármilyen kérdése vagy észrevétele van, ne habozzon feltenni az alábbi részben.