ວິທີການລະຫັດລັບປົກປ້ອງໄດເລກະທໍລີເວັບໃນ Apache ໂດຍໃຊ້ໄຟລ໌ .htaccess


ເມື່ອທ່ານຈັດການໂຄງການ online, ທ່ານມັກຈະ ຈຳ ກັດການເຂົ້າເຖິງໂຄງການນັ້ນເພື່ອປົກປ້ອງມັນຈາກໂລກພາຍນອກ. ມັນອາດຈະມີເຫດຜົນທີ່ແຕກຕ່າງກັນ ສຳ ລັບເລື່ອງນັ້ນ - ຕົວຢ່າງທ່ານຕ້ອງການປ້ອງກັນຕົວກວາດເວັບຂອງເຄື່ອງຈັກຊອກຫາເຂົ້າເວັບໄຊທ໌້ຂອງທ່ານໃນຂະນະທີ່ມັນຍັງຢູ່ໃນໄລຍະພັດທະນາ.

ໃນບົດແນະ ນຳ ນີ້, ຂ້າພະເຈົ້າຈະສະແດງວິທີການເຂົ້າລະຫັດປ້ອງກັນລາຍຊື່ເວັບໄຊທ໌ທີ່ແຕກຕ່າງກັນໃນ server web server. ມີຫຼາຍວິທີທີ່ທ່ານສາມາດປະສົບຜົນ ສຳ ເລັດໄດ້, ແຕ່ພວກເຮົາຈະທົບທວນສອງວິທີທີ່ຖືກ ນຳ ໃຊ້ຫຼາຍທີ່ສຸດ.

ວິທີການ ທຳ ອິດຕັ້ງຄ່າການປ້ອງກັນລະຫັດຜ່ານໂດຍກົງໃນເອກະສານການຕັ້ງຄ່າຂອງ Apache, ໃນຂະນະທີ່ວິທີການທີສອງໃຊ້ແຟ້ມ .htaccess.

ຄວາມຕ້ອງການ

ເພື່ອຈັດຕັ້ງການປ້ອງກັນລະຫັດຜ່ານ ສຳ ລັບລາຍຊື່ເວັບໄຊຕ໌ຂອງທ່ານ, ທ່ານຈະຕ້ອງມີ:

  • ເຄື່ອງແມ່ຂ່າຍເວັບ Apache ທີ່ເຮັດວຽກ
  • ຄຳ ສັ່ງຂອງ AllowOverride AuthConfig ຕ້ອງຖືກເປີດໃຊ້ໃນເອກະສານການຕັ້ງຄ່າ Apache.

ຕັ້ງຄ່າໄດເລກະທໍລີປ້ອງກັນລະຫັດຜ່ານ Apache

1. ສຳ ລັບບົດແນະ ນຳ ນີ້, ພວກເຮົາຈະໄດ້ຮັບການປົກປ້ອງລະບົບຮາກເວັບໄຊຕ໌ຕົ້ນຕໍ /var/www/html . ເພື່ອປົກປ້ອງໄດເລກະທໍລີນັ້ນ, ເປີດການຕັ້ງຄ່າ Apache ຂອງທ່ານ:

---------------- 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. ຊອກຫາຮາກຖານຂໍ້ມູນຂອງ Apache Document ສຳ ລັບ/var/www/html ແລະເພີ່ມສິ່ງຕໍ່ໄປນີ້ຕາມ ຄຳ ແນະ ນຳ:

<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. ປະຢັດເອກະສານແລະເລີ່ມຕົ້ນ Apache ໂດຍການໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

--------------- 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. ຕອນນີ້ພວກເຮົາຈະໃຊ້ ຄຳ ສັ່ງ htpasswd ເພື່ອສ້າງຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານ ສຳ ລັບປື້ມທີ່ຖືກປ້ອງກັນຂອງພວກເຮົາ. ຄຳ ສັ່ງນີ້ແມ່ນໃຊ້ໃນການຈັດການເອກະສານຜູ້ໃຊ້ເພື່ອການກວດສອບຂັ້ນພື້ນຖານ.

syntax ທົ່ວໄປຂອງ ຄຳ ສັ່ງແມ່ນ:

# htpasswd -c filename username

ຕົວເລືອກ -c ລະບຸເອກະສານທີ່ຈະຮັກສາລະຫັດຜ່ານທີ່ຖືກເຂົ້າລະຫັດແລະ ຊື່ຜູ້ໃຊ້ ລະບຸຜູ້ໃຊ້ ສຳ ລັບການກວດສອບຄວາມຖືກຕ້ອງ.

5. ເອກະສານລະຫັດລັບຂອງພວກເຮົາຕ້ອງຕັ້ງຢູ່ໃນລະບົບທີ່ສາມາດເຂົ້າເຖິງເວັບໄຊຕ໌ຂອງ Apache ເພື່ອໃຫ້ມັນໄດ້ຮັບການປົກປ້ອງດີ. ສຳ ລັບຈຸດປະສົງນັ້ນ, ພວກເຮົາຈະສ້າງໄດເລກະທໍລີ ໃໝ່:

# mkdir /home/tecmint

6. ຫລັງຈາກນັ້ນພວກເຮົາຈະສ້າງຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານຂອງພວກເຮົາເຊິ່ງຈະຖືກເກັບໄວ້ໃນໄດເລກະທໍລີນັ້ນ:

# htpasswd -c /home/tecmint/webpass tecmint

ເມື່ອທ່ານປະຕິບັດ ຄຳ ສັ່ງນີ້ທ່ານຈະຕ້ອງໃສ່ລະຫັດລັບ ສຳ ລັບຜູ້ໃຊ້ ໃໝ່ ຂອງພວກເຮົາ "tecmint" ສອງຄັ້ງ:

ຫລັງຈາກນັ້ນພວກເຮົາຈະຕ້ອງຮັບປະກັນວ່າ Apache ສາມາດອ່ານເອກະສານ“ webpass”. ສຳ ລັບຈຸດປະສົງນັ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງປ່ຽນແປງຄວາມເປັນເຈົ້າຂອງຂອງເອກະສານນັ້ນດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

---------------- 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. ໃນຈຸດນີ້ຜູ້ໃຊ້ແລະລະຫັດລັບ ໃໝ່ ຂອງພວກເຮົາພ້ອມແລ້ວ. ຕອນນີ້ພວກເຮົາ ຈຳ ເປັນຕ້ອງບອກ Apache ຮ້ອງຂໍລະຫັດລັບເມື່ອເຂົ້າເຖິງໄດເລກະທໍລີເປົ້າ ໝາຍ ຂອງພວກເຮົາ. ສຳ ລັບຈຸດປະສົງນັ້ນ, ສ້າງແຟ້ມທີ່ມີຊື່ວ່າ .htaccess ໃນ/var/www/html:

# vi /var/www/html/.htaccess

ຕື່ມໃສ່ລະຫັດຕໍ່ໄປນີ້ໃນມັນ:

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

8. ດຽວນີ້ບັນທຶກເອກະສານແລະວາງການຕັ້ງຄ່າຂອງທ່ານເຂົ້າໃນການທົດສອບ. ເປີດໂປແກຼມທ່ອງເວັບຂອງທ່ານແລະໃສ່ທີ່ຢູ່ IP ຫຼືຊື່ໂດເມນຂອງທ່ານໃນເວັບບຼາວເຊີ, ຍົກຕົວຢ່າງ:

http://ip-address

ທ່ານຄວນໄດ້ຮັບການກະຕຸ້ນເຕືອນ ສຳ ລັບຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານ:

ໃສ່ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານທີ່ທ່ານຕັ້ງໄວ້ເພື່ອ ດຳ ເນີນການຕໍ່ ໜ້າ ຂອງທ່ານ.

ໝາຍ ເຫດເພີ່ມເຕີມ

ຖ້າທ່ານ ກຳ ລັງໃຊ້ໂຮດຕິ້ງທີ່ໃຊ້ຮ່ວມກັນ, ທ່ານອາດຈະບໍ່ສາມາດເຂົ້າເຖິງເອກະສານການຕັ້ງຄ່າຂອງ Apache. ເຖິງຢ່າງໃດກໍ່ຕາມບໍລິສັດໂຮດຕິ້ງສ່ວນໃຫຍ່ໄດ້ເປີດໃຊ້ຕົວເລືອກ“ AllowOverride All” ໂດຍຄ່າເລີ່ມຕົ້ນ. ນີ້ຫມາຍຄວາມວ່າທ່ານພຽງແຕ່ຕ້ອງການສ້າງຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານແລະຫຼັງຈາກນັ້ນເລືອກໄດເລກະທໍລີທີ່ທ່ານຕ້ອງການປົກປ້ອງ. ນີ້ຊ່ວຍລຸດຜ່ອນວຽກງານຂອງທ່ານໄດ້ຢ່າງຫຼວງຫຼາຍ.

ສະຫຼຸບ

ຂ້າພະເຈົ້າຫວັງວ່າທ່ານໄດ້ພົບເຫັນບົດແນະ ນຳ ນີ້ມີປະໂຫຍດແລະຊ່ວຍໃຫ້ທ່ານບັນລຸເປົ້າ ໝາຍ ຂອງທ່ານ. ຖ້າທ່ານມີ ຄຳ ຖາມຫຼື ຄຳ ເຫັນໃດໆ, ກະລຸນາຢ່າລັງເລທີ່ຈະໂພດພວກເຂົາໃນສ່ວນຂ້າງລຸ່ມ.