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.