13 ຄຳ ແນະ ນຳ ກ່ຽວກັບຄວາມປອດໄພຂອງ Web Server ແລະ ຄຳ ແນະ ນຳ ທີ່ ໜັກ ແໜ້ນ


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

<

  • ຕິດຕັ້ງ Apache Web Server
  • ຕັ້ງເວັບໄຊທ໌ຂອງທ່ານໄວ້ໃນຕູ້ Linux ຂອງທ່ານ
  • ນີ້ໃນ ຄຳ ແນະ ນຳ ນີ້, ຂ້າພະເຈົ້າຈະເວົ້າເຖິງບາງ ຄຳ ແນະ ນຳ ຫຼັກເພື່ອຮັບປະກັນເຄື່ອງແມ່ຂ່າຍເວັບຂອງທ່ານ. ກ່ອນທີ່ທ່ານຈະ ນຳ ໃຊ້ການປ່ຽນແປງເຫຼົ່ານີ້ຢູ່ໃນເຊີຟເວີເວັບຂອງທ່ານ, ທ່ານຄວນມີພື້ນຖານບາງຢ່າງຂອງ server server.

    <

  • ເອກະສານກ່ຽວກັບຮາກເອກະສານ:/var/www/html ຫຼື/var/www
  • ເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍ: /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora) ແລະ /etc/apache2/apache2.conf (Debian/Ubuntu).
  • Port HTTP Default: 80 TCP
  • Port HTTPS Default: 443 TCP
  • ທົດສອບການຕັ້ງຄ່າແລະການຕັ້ງຄ່າເອກະສານການຕັ້ງຄ່າຂອງທ່ານ: httpd -t
  • ເຂົ້າເຖິງໄຟລ໌ບັນທຶກຂອງ Web Server:/var/log/httpd/access_log
  • ແຟ້ມຂໍ້ມູນບັນທຶກຂໍ້ຜິດພາດຂອງ Web Server:/var/log/httpd/error_log
  • 1. ວິທີການເຊື່ອງ Apache Version ແລະ OS Identity ຈາກຂໍ້ຜິດພາດຕ່າງໆ

    ເມື່ອທ່ານຕິດຕັ້ງ Apache ກັບແຫລ່ງທີ່ມາຫລືຜູ້ຕິດຕັ້ງຊຸດອື່ນໆເຊັ່ນ yum, ມັນຈະສະແດງເວີຊັນຂອງ Apache web server ຂອງທ່ານທີ່ຕິດຕັ້ງຢູ່ໃນ server ຂອງທ່ານດ້ວຍລະບົບປະຕິບັດການຂອງ server ຂອງທ່ານໃນຂໍ້ຜິດພາດ. ມັນຍັງສະແດງຂໍ້ມູນກ່ຽວກັບໂມດູນ Apache ທີ່ຕິດຕັ້ງຢູ່ໃນເຊີບເວີຂອງທ່ານ.

    ໃນຮູບຂ້າງເທິງ, ທ່ານສາມາດເຫັນວ່າ Apache ກຳ ລັງສະແດງເວີຊັນຂອງມັນກັບ OS ທີ່ຕິດຕັ້ງຢູ່ໃນເຊີບເວີຂອງທ່ານ. ນີ້ສາມາດເປັນໄພຂົ່ມຂູ່ດ້ານຄວາມປອດໄພທີ່ ສຳ ຄັນຕໍ່ກັບເວັບເຊີຟເວີຂອງທ່ານກໍ່ຄືກັບຊ່ອງ Linux ຂອງທ່ານເຊັ່ນກັນ. ເພື່ອປ້ອງກັນບໍ່ໃຫ້ Apache ບໍ່ສະແດງຂໍ້ມູນເຫລົ່ານີ້ຕໍ່ໂລກ, ພວກເຮົາຕ້ອງມີການປ່ຽນແປງບາງຢ່າງໃນເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍຂອງ Apache.

    ເປີດເອກະສານການຕັ້ງຄ່າກັບບັນນາທິການ vim ແລະຄົ້ນຫາ“ ServerSignature“, ຕາມຄ່າເລີ່ມຕົ້ນ. ພວກເຮົາ ຈຳ ເປັນຕ້ອງປິດລາຍເຊັນຂອງເຄື່ອງແມ່ຂ່າຍເຫລົ່ານີ້ແລະສາຍທີສອງ“ ServerTokens Prod” ບອກ Apache ໃຫ້ກັບຄືນ Apache ເທົ່ານັ້ນທີ່ເປັນຜະລິດຕະພັນໃນຫົວຂໍ້ຕອບສະ ໜອງ ຂອງ server ໃນທຸກໆ ຄຳ ຮ້ອງຂໍຂອງຫນ້າ, ມັນສະກັດກັ້ນ OS, ຂໍ້ມູນ ສຳ ຄັນແລະລຸ້ນນ້ອຍໆ.

    # vim /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora)
    # vim /etc/apache2/apache2.conf (Debian/Ubuntu)
    ServerSignature Off
    ServerTokens Prod
    # service httpd restart (RHEL/CentOS/Fedora)
    # service apache2 restart (Debian/Ubuntu)

    2. ປິດການ ນຳ ໃຊ້ລາຍຊື່ໄດເລກະທໍລີ

    ໂດຍຄ່າເລີ່ມຕົ້ນ Apache ລາຍຊື່ເນື້ອຫາທັງ ໝົດ ຂອງໄດເລກະທໍລີຮາກເອກະສານໃນກໍລະນີທີ່ບໍ່ມີເອກະສານດັດສະນີ. ກະລຸນາເບິ່ງຮູບພາບຂ້າງລຸ່ມນີ້.

    ພວກເຮົາສາມາດປິດລາຍຊື່ໄດເລກະທໍລີໂດຍໃຊ້ຕົວເລືອກທາງເລືອກໃນເອກະສານການຕັ້ງຄ່າ ສຳ ລັບໄດເລກະທໍລີສະເພາະ. ສຳ ລັບສິ່ງທີ່ພວກເຮົາ ຈຳ ເປັນຕ້ອງເຮັດເຂົ້າໃນ httpd.conf ຫຼື apache2.conf file.

    <Directory /var/www/html>
        Options -Indexes
    </Directory>

    3. ສືບຕໍ່ປັບປຸງ Apache ເປັນປະ ຈຳ

    ຊຸມຊົນນັກພັດທະນາ Apache ກຳ ລັງເຮັດວຽກຢ່າງຕໍ່ເນື່ອງກ່ຽວກັບບັນຫາຄວາມປອດໄພແລະປ່ອຍລຸ້ນທີ່ຖືກປັບປຸງພ້ອມດ້ວຍຕົວເລືອກຄວາມປອດໄພ ໃໝ່. ສະນັ້ນມັນໄດ້ຖືກແນະ ນຳ ໃຫ້ ນຳ ໃຊ້ Apache ລຸ້ນລ້າສຸດເປັນເຄື່ອງແມ່ຂ່າຍເວັບຂອງທ່ານ.

    ເພື່ອກວດສອບເວີຊັນ Apache: ທ່ານສາມາດກວດເບິ່ງເວີຊັນປັດຈຸບັນຂອງທ່ານດ້ວຍ ຄຳ ສັ່ງ httpd -v.

    # httpd -v
    Server version: Apache/2.2.15 (Unix)
    Server built:   Aug 13 2013 17:29:28

    ທ່ານສາມາດປັບປຸງລຸ້ນຂອງທ່ານດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # yum update httpd
    # apt-get install apache2

    ມັນຍັງຖືກແນະ ນຳ ໃຫ້ຮັກສາ Kernel ແລະ OS ຂອງທ່ານໃຫ້ຖືກອັບເດດເປັນລຸ້ນ ໃໝ່ ຫຼ້າສຸດທີ່ ໝັ້ນ ຄົງຖ້າທ່ານບໍ່ໄດ້ໃຊ້ງານສະເພາະໃດ ໜຶ່ງ ທີ່ເຮັດວຽກສະເພາະກັບ OS ຫລື Kernel ເທົ່ານັ້ນ.

    4. ປິດໂມດູນທີ່ບໍ່ ຈຳ ເປັນ

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

    # grep LoadModule /etc/httpd/conf/httpd.conf
    
    # have to place corresponding `LoadModule' lines at this location so the
    # LoadModule foo_module modules/mod_foo.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule auth_digest_module modules/mod_auth_digest.so
    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule authn_alias_module modules/mod_authn_alias.so
    LoadModule authn_anon_module modules/mod_authn_anon.so
    LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule authz_owner_module modules/mod_authz_owner.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_dbm_module modules/mod_authz_dbm.so
    LoadModule authz_default_module modules/mod_authz_default.so
    LoadModule ldap_module modules/mod_ldap.so
    LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
    LoadModule include_module modules/mod_include.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule logio_module modules/mod_logio.so
    LoadModule env_module modules/mod_env.so
    LoadModule ext_filter_module modules/mod_ext_filter.so
    ....

    ຂ້າງເທິງນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງໂມດູນທີ່ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນແຕ່ມັກບໍ່ ຈຳ ເປັນ: mod_imap, mod_include, mod_info, mod_userdir, mod_autoindex. ເພື່ອປິດໂມດູນໂດຍສະເພາະ, ທ່ານສາມາດໃສ່“ #” ໃນຕອນເລີ່ມຕົ້ນຂອງສາຍນັ້ນແລະເລີ່ມການບໍລິການ ໃໝ່.

    5. ດໍາເນີນການ Apache ເປັນ User ແລະ Group ແຍກຕ່າງຫາກ

    ດ້ວຍການຕິດຕັ້ງແບບເລີ່ມຕົ້ນ Apache ເຮັດວຽກຂອງມັນກັບຜູ້ໃຊ້ຫລື daemon. ສຳ ລັບເຫດຜົນດ້ານຄວາມປອດໄພແນະ ນຳ ໃຫ້ ດຳ ເນີນການ Apache ໃນບັນຊີທີ່ບໍ່ມີສິດພິເສດຂອງຕົນເອງ. ຕົວຢ່າງ: http-web.

    # groupadd http-web
    # useradd -d /var/www/ -g http-web -s /bin/nologin http-web

    ຕອນນີ້ທ່ານ ຈຳ ເປັນຕ້ອງບອກໃຫ້ Apache ດຳ ເນີນການກັບຜູ້ໃຊ້ ໃໝ່ ນີ້ແລະເພື່ອເຮັດແນວນັ້ນ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງໄດ້ເຂົ້າ /etc/httpd/conf/httpd.conf ແລະເລີ່ມການບໍລິການ ໃໝ່.

    ເປີດ /etc/httpd/conf/httpd.conf ກັບບັນນາທິການ Vim ແລະຄົ້ນຫາ ຄຳ ສຳ ຄັນ“ ຜູ້ໃຊ້” ແລະ“ ກຸ່ມ” ແລະຢູ່ທີ່ນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງ ກຳ ນົດຊື່ຜູ້ໃຊ້ແລະຊື່ກຸ່ມທີ່ຈະໃຊ້.

    User http-web
    Group http-web

    6. ໃຊ້ອະນຸຍາດແລະປະຕິເສດທີ່ຈະ ຈຳ ກັດການເຂົ້າເຖິງລາຍການ

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

    <Directory />
       Options None
       Order deny,allow
       Deny from all
    </Directory>

    <

  • ຕົວເລືອກ“ ບໍ່ມີ” - ຕົວເລືອກນີ້ຈະບໍ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດເປີດໃຊ້ຄຸນລັກສະນະຕ່າງໆໄດ້.
  • ຄຳ ສັ່ງປະຕິເສດ, ອະນຸຍາດໃຫ້ - ນີ້ແມ່ນ ຄຳ ສັ່ງທີ່ ຄຳ ສັ່ງ "ປະຕິເສດ" ແລະ "ອະນຸຍາດ" ຈະຖືກ ດຳ ເນີນການ. ນີ້ມັນຈະ“ ປະຕິເສດ” ກ່ອນແລະອະນຸຍາດຕໍ່ໄປ.
  • ປະຕິເສດຈາກທຸກສິ່ງ - ສິ່ງນີ້ຈະປະຕິເສດການຮ້ອງຂໍຈາກທຸກໆຄົນເຂົ້າສູ່ລະບົບຮາກ, ບໍ່ມີໃຜສາມາດເຂົ້າເຖິງລະບົບຮາກ.
  • 7. ໃຊ້ Mod_security ແລະ mod_evasive Modules ເພື່ອຮັບປະກັນ Apache

    ໂມດູນທັງສອງຢ່າງນີ້ "mod_security" ແລະ "mod_evasive" ແມ່ນໂມດູນທີ່ມີຄວາມນິຍົມຫຼາຍຂອງ Apache ກ່ຽວກັບຄວາມປອດໄພ.

    ບ່ອນທີ່ mod_security ເຮັດວຽກເປັນ Firewall ສຳ ລັບການ ນຳ ໃຊ້ເວັບຂອງພວກເຮົາແລະຊ່ວຍໃຫ້ພວກເຮົາຕິດຕາມການຈະລາຈອນໃນເວລາຈິງ. ມັນຍັງຊ່ວຍໃຫ້ພວກເຮົາປົກປ້ອງເວັບໄຊທ໌້ຫລືເວບໄຊທ໌ຂອງພວກເຮົາຈາກການໂຈມຕີແບບແຮງ. ທ່ານພຽງແຕ່ສາມາດຕິດຕັ້ງ mod_security ໃນເຊີຟເວີຂອງທ່ານໂດຍການຊ່ວຍເຫຼືອຂອງຜູ້ຕິດຕັ້ງຊຸດເລີ່ມຕົ້ນຂອງທ່ານ.

    $ sudo apt-get install libapache2-modsecurity
    $ sudo a2enmod mod-security
    $ sudo /etc/init.d/apache2 force-reload
    # yum install mod_security
    # /etc/init.d/httpd restart

    mod_evasive ເຮັດວຽກໄດ້ຢ່າງມີປະສິດທິພາບຫຼາຍ, ມັນຕ້ອງໃຊ້ເວລາ ໜຶ່ງ ຄຳ ຮຽກຮ້ອງເພື່ອປະມວນຜົນແລະປຸງແຕ່ງມັນໄດ້ດີ. ມັນປ້ອງກັນການໂຈມຕີຂອງ DDOS ຈາກການ ທຳ ລາຍຫຼາຍເທົ່າທີ່ຄວນ. ຄຸນລັກສະນະຂອງ mod_evasive ນີ້ຊ່ວຍໃຫ້ມັນສາມາດຈັດການກັບ HTTP brute force ແລະ Dos ຫຼື DDos Attack. ໂມດູນນີ້ກວດພົບການໂຈມຕີດ້ວຍສາມວິທີ.

    <

  • ຖ້າມີຫຼາຍ ຄຳ ຮ້ອງຂໍມາ ໜ້າ ດຽວກັນໃນສອງສາມຄັ້ງຕໍ່ວິນາທີ.
  • ຖ້າເດັກນ້ອຍໃດ ໜຶ່ງ ກຳ ລັງ ດຳ ເນີນຂັ້ນຕອນທີ່ພະຍາຍາມຮ້ອງຂໍຫຼາຍກວ່າ 50 ຄຳ ຮ້ອງຂໍພ້ອມກັນ.
  • ຖ້າ IP ໃດຍັງພະຍາຍາມຮ້ອງຂໍ ໃໝ່ ເມື່ອຖືກບັນຊີ ດຳ ຢູ່ຊົ່ວຄາວ.
  • mod_evasive ສາມາດຕິດຕັ້ງໂດຍກົງຈາກແຫຼ່ງຂໍ້ມູນ. ນີ້, ພວກເຮົາມີຄູ່ມືການຕິດຕັ້ງແລະຕັ້ງຄ່າຂອງໂມດູນເຫລົ່ານີ້ເຊິ່ງຈະຊ່ວຍທ່ານໃນການຕັ້ງຄ່າໂມດູນ Apache ເຫລົ່ານີ້ຢູ່ໃນປ່ອງ Linux ຂອງທ່ານ.

    <

  • ປົກປ້ອງ Apache ໂດຍໃຊ້ Mod_Security ແລະ Mod_evasive
  • 8. ປິດການ ນຳ ໃຊ້ Apache ຕໍ່ໄປຂອງລິ້ງສັນຍາລັກ

    ໂດຍຄ່າເລີ່ມຕົ້ນ Apache ຕິດຕາມ symlinks, ພວກເຮົາສາມາດປິດຄຸນລັກສະນະນີ້ດ້ວຍ FollowSymLinks ກັບຕົວເລືອກທາງເລືອກ. ແລະເພື່ອເຮັດແນວນັ້ນພວກເຮົາ ຈຳ ເປັນຕ້ອງເຮັດການປະກອບຕໍ່ໄປນີ້ເຂົ້າໃນເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍ.

    Options -FollowSymLinks

    ແລະຖ້າຜູ້ໃຊ້ຫລືເວບໄຊທ໌ໃດຕ້ອງການ FollowSymLinks ເຮັດໃຫ້ເຮົາສາມາດຂຽນກົດລະບຽບໃນແຟ້ມ“ .htaccess” ຈາກເວັບໄຊທ໌ນັ້ນ.

    # Enable symbolic links
    Options +FollowSymLinks

    ໝາຍ ເຫດ: ເພື່ອໃຫ້ກົດລະບຽບການຂຽນຄືນ ໃໝ່ ພາຍໃນ“ .htaccess” file“ AllowOverride All” ຄວນຈະມີຢູ່ໃນການຕັ້ງຄ່າຕົ້ນຕໍທົ່ວໂລກ.

    9. ປິດ Server Side Includes ແລະ CGI Execution

    ພວກເຮົາສາມາດປິດຝ່າຍ server ລວມມີ (mod_include) ແລະການປະຕິບັດ CGI ຖ້າບໍ່ ຈຳ ເປັນແລະຕ້ອງເຮັດແນວນັ້ນພວກເຮົາ ຈຳ ເປັນຕ້ອງດັດແປງເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍ.

    Options -Includes
    Options -ExecCGI

    ພວກເຮົາສາມາດເຮັດສິ່ງນີ້ ສຳ ລັບໄດເລກະທໍລີສະເພາະເຊັ່ນດຽວກັນກັບ tag Directory. ນີ້ຢູ່ໃນຕົວຢ່າງນີ້, ພວກເຮົາ ກຳ ລັງປິດລະບົບ Inc Incredits ແລະ Cgi ສຳ ລັບ“/var/www/html/web1”.

    <Directory "/var/www/html/web1">
    Options -Includes -ExecCGI
    </Directory>

    ນີ້ແມ່ນຄຸນຄ່າອື່ນໆບາງຢ່າງທີ່ສາມາດເປີດຫລືປິດດ້ວຍຕົວເລືອກ Options.

    <

  • ຕົວເລືອກທັງ ໝົດ - ເພື່ອເປີດໃຊ້ຕົວເລືອກທັງ ໝົດ ໃນເວລາດຽວກັນ. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ, ຖ້າທ່ານບໍ່ຕ້ອງການ ກຳ ນົດຄ່າໃດໆຢ່າງຈະແຈ້ງໃນເອກະສານ Apache conf ຫຼື .htaccess.
  • ຕົວເລືອກລວມມີ NOEXEC - ຕົວເລືອກນີ້ອະນຸຍາດໃຫ້ຝ່າຍ server ລວມທັງໂດຍບໍ່ໄດ້ຮັບອະນຸຍາດຈາກ ຄຳ ສັ່ງຫລືໄຟລ໌ cgi.
  • ທາງເລືອກໃນການເບິ່ງຫຼາຍຮູບແບບ - ອະນຸຍາດໃຫ້ມີການເຈລະຈາຫຼາຍເນື້ອໃນທີ່ມີການເຈລະຈາກັບໂມດູນ mod_negotiation.
  • ຕົວເລືອກ SymLinksIfOwnerMatch - ມັນຄ້າຍຄືກັບ FollowSymLinks. ແຕ່ວ່າ, ສິ່ງນີ້ຈະປະຕິບັດຕາມເວລາທີ່ເຈົ້າຂອງບ້ານຢູ່ຄືກັນລະຫວ່າງການເຊື່ອມຕໍ່ແລະໄດເລກະທໍລີຕົ້ນສະບັບທີ່ມັນເຊື່ອມໂຍງ.
  • 10. ຈຳ ກັດຂະ ໜາດ ການຮ້ອງຂໍ

    ໂດຍຄ່າເລີ່ມຕົ້ນຂອງ Apache ບໍ່ມີຂອບເຂດ ຈຳ ກັດຕໍ່ຂະ ໜາດ ທັງ ໝົດ ຂອງ ຄຳ ຮ້ອງຂໍ HTTP ໂດຍບໍ່ ຈຳ ກັດແລະເມື່ອທ່ານອະນຸຍາດການຮ້ອງຂໍຂະ ໜາດ ໃຫຍ່ໃນເວັບເຊີຟເວີກໍ່ເປັນໄປໄດ້ທີ່ທ່ານອາດຈະຕົກເປັນເຫຍື່ອຂອງການປະຕິເສດການໂຈມຕີບໍລິການ. ພວກເຮົາສາມາດ ຈຳ ກັດຂະ ໜາດ ການຮ້ອງຂໍຂອງ ຄຳ ສັ່ງ Apache“ LimitRequestBody” ພ້ອມກັບປ້າຍຊື່ຂອງລະບົບ.

    ທ່ານສາມາດ ກຳ ນົດຄ່າເປັນໄບຈາກ 0 (ບໍ່ ຈຳ ກັດ) ເຖິງ 2147483647 (2GB) ທີ່ອະນຸຍາດໃຫ້ຢູ່ໃນ ໜ່ວຍ ຮ້ອງຂໍ. ທ່ານສາມາດ ກຳ ນົດຂີດ ຈຳ ກັດນີ້ຕາມຄວາມຕ້ອງການຂອງເວັບໄຊທ໌ຂອງທ່ານ, ສົມມຸດວ່າທ່ານມີເວັບໄຊທີ່ທ່ານອະນຸຍາດໃຫ້ອັບໂຫລດແລະທ່ານຕ້ອງການ ຈຳ ກັດຂະ ໜາດ ການອັບໂຫລດ ສຳ ລັບບັນດາໄດເລກະທໍລີໃດ ໜຶ່ງ.

    ນີ້ຢູ່ໃນຕົວຢ່າງນີ້, user_uploads ແມ່ນໄດເລກະທໍລີເຊິ່ງປະກອບດ້ວຍແຟ້ມທີ່ອັບໂຫລດໂດຍຜູ້ໃຊ້. ພວກເຮົາ ກຳ ລັງວາງ ຈຳ ກັດ 500K ສຳ ລັບສິ່ງນີ້.

    <Directory "/var/www/myweb1/user_uploads">
       LimitRequestBody 512000
    </Directory>

    11. ປົກປ້ອງການໂຈມຕີຂອງ DDOS ແລະການແຂງກະດ້າງ

    ດີ, ມັນເປັນຄວາມຈິງທີ່ທ່ານບໍ່ສາມາດປົກປ້ອງເວບໄຊທ໌ຂອງທ່ານທັງ ໝົດ ຈາກການໂຈມຕີ DDos. ນີ້ແມ່ນທິດທາງບາງຢ່າງທີ່ສາມາດຊ່ວຍທ່ານໃນການຄວບຄຸມມັນ.

    <

  • TimeOut: ຄຳ ສັ່ງແນະ ນຳ ນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດ ກຳ ນົດ ຈຳ ນວນເວລາທີ່ server ຈະລໍຖ້າເຫດການບາງຢ່າງໃຫ້ ສຳ ເລັດກ່ອນທີ່ມັນຈະລົ້ມເຫລວ. ຄ່າເລີ່ມຕົ້ນຂອງມັນແມ່ນ 300 ວິນາທີ. ມັນດີທີ່ຈະຮັກສາມູນຄ່ານີ້ໄວ້ຢູ່ໃນເວັບໄຊທ໌້ທີ່ຂຶ້ນກັບການໂຈມຕີຂອງ DDOS. ມູນຄ່ານີ້ແມ່ນຂື້ນກັບປະເພດຂອງການຮ້ອງຂໍທີ່ທ່ານ ກຳ ລັງໄດ້ຮັບໃນເວັບໄຊທ໌້ຂອງທ່ານ. ໝາຍ ເຫດ: ມັນສາມາດສ້າງປັນຫາກັບສະຄິບ CGI ທີ່ເຂົ້າມາ.
  • MaxClients: ຄຳ ສັ່ງແນະ ນຳ ນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດ ກຳ ນົດຂີດ ຈຳ ກັດຂອງການເຊື່ອມຕໍ່ທີ່ຈະໄດ້ຮັບການບໍລິການພ້ອມກັນ. ທຸກໆການເຊື່ອມຕໍ່ ໃໝ່ ຈະຖືກລຽນແຖວຫຼັງຈາກຂໍ້ ຈຳ ກັດນີ້. ມັນສາມາດໃຊ້ໄດ້ກັບ Prefork ແລະ Worker ທັງ MPM. ຄ່າເລີ່ມຕົ້ນຂອງມັນແມ່ນ 256.
  • KeepAliveTimeout: ຈຳ ນວນເວລາຂອງມັນທີ່ server ຈະລໍຖ້າການຮ້ອງຂໍຕໍ່ໆໄປກ່ອນທີ່ຈະປິດການເຊື່ອມຕໍ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ 5 ວິນາທີ.
  • LimitRequestFields: ມັນຊ່ວຍໃຫ້ພວກເຮົາ ກຳ ນົດຂອບເຂດ ຈຳ ນວນ ຈຳ ນວນຫົວຂໍ້ຂອງຫົວຂໍ້ HTTP ທີ່ຈະຖືກຍອມຮັບຈາກລູກຄ້າ. ຄ່າເລີ່ມຕົ້ນຂອງມັນແມ່ນ 100. ແນະ ນຳ ໃຫ້ຫຼຸດຄ່ານີ້ລົງຖ້າການໂຈມຕີ DDos ເກີດຂື້ນເປັນຜົນມາຈາກຫົວຂໍ້ການຮ້ອງຂໍ http ຫຼາຍ.
  • LimitRequestFieldSize: ມັນຊ່ວຍໃຫ້ພວກເຮົາ ກຳ ນົດຂອບເຂດຂະ ໜາດ ໃນຫົວຂໍ້ການຮ້ອງຂໍ HTTP.
  • 12. ເປີດໃຊ້ການບັນທຶກ Apache

    Apache ຊ່ວຍໃຫ້ທ່ານສາມາດເຂົ້າສູ່ລະບົບ OS ຂອງທ່ານຢ່າງເປັນອິດສະຫຼະ. ມັນເປັນການສະຫລາດທີ່ຈະເຮັດໃຫ້ການເຂົ້າສູ່ລະບົບ Apache, ເພາະວ່າມັນໃຫ້ຂໍ້ມູນເພີ່ມເຕີມ, ເຊັ່ນວ່າ ຄຳ ສັ່ງທີ່ເຂົ້າມາໂດຍຜູ້ໃຊ້ທີ່ມີການພົວພັນກັບເວັບເຊີຟເວີຂອງທ່ານ.

    ເພື່ອເຮັດແນວນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງປະກອບໂມດູນ mod_log_config. ມີສາມແນວທາງທີ່ກ່ຽວຂ້ອງກັບການຕັດໄມ້ທີ່ມີຢູ່ກັບ Apache.

    <

  • TransferLog: ການສ້າງໄຟລ໌ບັນທຶກ.
  • LogFormat: ກຳ ນົດຮູບແບບທີ່ ກຳ ນົດເອງ.
  • CustomLog: ການສ້າງແລະຈັດຮູບແບບເອກະສານບັນທຶກ.
  • ນອກນັ້ນທ່ານຍັງສາມາດໃຊ້ພວກມັນ ສຳ ລັບເວບໄຊທ໌ໃດ ໜຶ່ງ ທີ່ທ່ານ ກຳ ລັງເຮັດ Virtual hosting ແລະ ສຳ ລັບສິ່ງທີ່ທ່ານ ຈຳ ເປັນຕ້ອງລະບຸມັນຢູ່ໃນພາກ virtual host. ຍົກຕົວຢ່າງ, ນີ້ແມ່ນການຕັ້ງຄ່າໂຮດຕິ້ງເສມືນຂອງເວບໄຊທ໌ຂອງຂ້ອຍທີ່ມີການເຂົ້າສູ່ລະບົບ.

    <VirtualHost *:80>
    DocumentRoot /var/www/html/example.com/
    ServerName www.example.com
    DirectoryIndex index.htm index.html index.php
    ServerAlias example.com
    ErrorDocument 404 /story.php
    ErrorLog /var/log/httpd/example.com_error_log
    CustomLog /var/log/httpd/example.com_access_log combined
    </VirtualHost>

    13. ການຮັບປະກັນ Apache ດ້ວຍໃບຢັ້ງຢືນ SSL

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

    ທ່ານສາມາດຊື້ໃບຢັ້ງຢືນ SSl ຈາກຜູ້ໃຫ້ບໍລິການ SSL ທີ່ແຕກຕ່າງກັນຫຼາຍເຊັ່ນ: namecheap.com. ຖ້າທ່ານ ກຳ ລັງ ດຳ ເນີນທຸລະກິດເວັບທີ່ນ້ອຍແລະບໍ່ເຕັມໃຈທີ່ຈະຊື້ໃບຢັ້ງຢືນ SSL ທ່ານກໍ່ຍັງສາມາດມອບໃບຢັ້ງຢືນທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງໃຫ້ກັບເວັບໄຊທ໌ຂອງທ່ານ. Apache ໃຊ້ໂມດູນ mod_ssl ເພື່ອຮອງຮັບໃບຢັ້ງຢືນ SSL.

    # openssl genrsa -des3 -out example.com.key 1024
    # openssl req -new -key example.com.key -out exmaple.csr
    # openssl x509 -req -days 365 -in example.com.com.csr -signkey example.com.com.key -out example.com.com.crt

    ເມື່ອໃບຢັ້ງຢືນຂອງທ່ານຖືກສ້າງແລະລົງນາມແລ້ວ. ຕອນນີ້ທ່ານຕ້ອງການເພີ່ມສິ່ງນີ້ໃນການຕັ້ງຄ່າ Apache. ເປີດເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍກັບ vim ແກ້ໄຂແລະເພີ່ມສາຍຕໍ່ໄປນີ້ແລະເລີ່ມການບໍລິການ ໃໝ່.

    <VirtualHost 172.16.25.125:443>
            SSLEngine on
            SSLCertificateFile /etc/pki/tls/certs/example.com.crt
            SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key
            SSLCertificateChainFile /etc/pki/tls/certs/sf_bundle.crt
            ServerAdmin [email 
            ServerName example.com
            DocumentRoot /var/www/html/example/
            ErrorLog /var/log/httpd/example.com-error_log
            CustomLog /var/log/httpd/example.com-access_log common
    </VirtualHost>

    ເປີດໂປແກຼມທ່ອງເວັບຂອງທ່ານ, ພິມທີ່ https://example.com, ແລະທ່ານຈະສາມາດເຫັນໃບຢັ້ງຢືນທີ່ເຊັນດ້ວຍຕົນເອງ ໃໝ່.

    ນີ້ແມ່ນ ຄຳ ແນະ ນຳ ກ່ຽວກັບຄວາມປອດໄພ ຈຳ ນວນ ໜຶ່ງ ທີ່ທ່ານສາມາດ ນຳ ໃຊ້ເພື່ອຮັບປະກັນການຕິດຕັ້ງເຊີຟເວີ Apache ຂອງທ່ານ. ສຳ ລັບ ຄຳ ແນະ ນຳ ແລະຄວາມຄິດຄວາມປອດໄພທີ່ມີປະໂຫຍດຫຼາຍ, ເບິ່ງເອກະສານທາງອິນເຕີເນັດຂອງ Apache HTTP Server.