ວິທີການສ້າງໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນໃນ CentOS 8


SSL (Secure Socket Layer), ແລະເວີຊັນທີ່ໄດ້ຮັບການປັບປຸງ, TLS (Transport Socket Layer) ແມ່ນໂປໂຕຄອນດ້ານຄວາມປອດໄພທີ່ຖືກ ນຳ ໃຊ້ເພື່ອຮັບປະກັນການເຂົ້າຊົມເວັບທີ່ສົ່ງຈາກຕົວທ່ອງເວັບຂອງລູກຄ້າໄປຫາເຄື່ອງແມ່ຂ່າຍເວັບ.

ໃບຢັ້ງຢືນການ SSL ແມ່ນໃບຢັ້ງຢືນດິຈິຕອນທີ່ສ້າງຊ່ອງທາງທີ່ປອດໄພລະຫວ່າງຕົວທ່ອງເວັບຂອງລູກຄ້າແລະເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌. ການເຮັດດັ່ງນັ້ນ, ຂໍ້ມູນທີ່ລະອຽດອ່ອນແລະເປັນຄວາມລັບເຊັ່ນຂໍ້ມູນບັດເຄດິດ, ຂໍ້ມູນການເຂົ້າສູ່ລະບົບແລະຂໍ້ມູນສ່ວນຕົວທີ່ສູງອື່ນໆແມ່ນຖືກເຂົ້າລະຫັດ, ປ້ອງກັນບໍ່ໃຫ້ແຮກເກີລັກລອບເຂົ້າແລະລັກຂໍ້ມູນຂອງທ່ານ.

ໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ລົງນາມດ້ວຍຕົນເອງ, ບໍ່ຄືກັບໃບຢັ້ງຢືນ SSL ອື່ນໆທີ່ໄດ້ຖືກເຊັນແລະໄວ້ວາງໃຈໂດຍອົງການໃບຢັ້ງຢືນ (CA), ແມ່ນໃບຢັ້ງຢືນທີ່ເຊັນໂດຍບຸກຄົນທີ່ເປັນເຈົ້າຂອງ.

ມັນບໍ່ເສຍຄ່າທັງ ໝົດ ທີ່ຈະສ້າງແບບ ໜຶ່ງ ແລະເປັນວິທີທີ່ລາຄາຖືກຂອງການເຂົ້າລະຫັດເວັບເຊີຟເວີເວັບທີ່ທ່ານຈັດຢູ່ໃນທ້ອງຖິ່ນ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ການ ນຳ ໃຊ້ໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງແມ່ນມີຄວາມທໍ້ຖອຍໃຈໃນສະພາບແວດລ້ອມການຜະລິດດ້ວຍເຫດຜົນຕໍ່ໄປນີ້:

<

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

    ໃນຄູ່ມືນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຕິດຕັ້ງໃບຢັ້ງຢືນ SSL ທີ່ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນໃນເຊີຟເວີ Apache localhost ໃນລະບົບເຊີຟເວີຂອງ CentOS 8.

    ກ່ອນທີ່ຈະເລີ່ມຕົ້ນ, ຮັບປະກັນວ່າທ່ານມີຄວາມຕ້ອງການພື້ນຖານດັ່ງຕໍ່ໄປນີ້:

    <

  • ຕົວຢ່າງຂອງເຊີຟເວີ CentOS 8.
  • Apache webserver ຕິດຕັ້ງຢູ່ໃນເຊີບເວີ
  • ຊື່ໂຮດຖືກຕັ້ງຄ່າແລະ ກຳ ນົດແລ້ວໃນແຟ້ມເອກະສານ/etc/hosts. ສຳ ລັບ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາ ກຳ ລັງຈະໃຊ້ tecmint.local ຊື່ໂຮດ ສຳ ລັບເຊີເວີຂອງພວກເຮົາ.
  • ຂັ້ນຕອນທີ 1: ການຕິດຕັ້ງ Mod_SSL ໃນ CentOS

    1. ເພື່ອເລີ່ມຕົ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງກວດສອບວ່າ server web Apache ໄດ້ຖືກຕິດຕັ້ງແລະເຮັດວຽກຢູ່.

    $ sudo systemctl status httpd
    

    ນີ້ແມ່ນຜົນຜະລິດທີ່ຄາດໄວ້.

    ຖ້າ webserver ບໍ່ເຮັດວຽກ, ທ່ານສາມາດເລີ່ມຕົ້ນແລະເປີດໃຊ້ມັນໄດ້ເມື່ອບູດໂດຍໃຊ້ ຄຳ ສັ່ງ.

    $ sudo systemctl start httpd
    $ sudo systemctl enable httpd
    

    ທ່ານສາມາດຢືນຢັນໄດ້ຖ້າຫາກວ່າ Apache ຂຶ້ນແລະເຮັດວຽກຢູ່.

    2. ເພື່ອໃຫ້ສາມາດຕິດຕັ້ງແລະຕິດຕັ້ງໃບຢັ້ງຢືນ SSL ທີ່ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນ, ຊຸດ mod_ssl ແມ່ນ ຈຳ ເປັນ.

    $ sudo dnf install mod_ssl
    

    ເມື່ອຕິດຕັ້ງແລ້ວ, ທ່ານສາມາດກວດສອບການຕິດຕັ້ງຂອງມັນໂດຍການເຮັດວຽກ.

    $ sudo rpm -q mod_ssl
    

    ພ້ອມກັນນີ້, ຮັບປະກັນວ່າແພັກເກດ OpenSSL ຖືກຕິດຕັ້ງ (OpenSSL ມາຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນໃນ CentOS 8).

    $ sudo rpm -q openssl 
    

    ຂັ້ນຕອນທີ 2: ສ້າງໃບຢັ້ງຢືນ SSL ທີ່ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນ ສຳ ລັບ Apache

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

    ໃນຕົວຢ່າງນີ້, ພວກເຮົາໄດ້ສ້າງໄດເລກະທໍລີຢູ່ທີ່/etc/ssl/private.

    $ sudo mkdir -p /etc/ssl/private
    

    ຕອນນີ້ສ້າງລະຫັດໃບຢັ້ງຢືນ SSL ທ້ອງຖິ່ນແລະເອກະສານໂດຍໃຊ້ ຄຳ ສັ່ງ:

    $ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt
    

    ໃຫ້ທ່ານພິຈາລະນາເບິ່ງບາງຕົວເລືອກໃນ ຄຳ ສັ່ງທີ່ວ່າ:

    • req -x509 - ນີ້ຊີ້ໃຫ້ເຫັນວ່າພວກເຮົາ ກຳ ລັງໃຊ້ ຄຳ ຮ້ອງຂໍການເຊັນໃບຢັ້ງຢືນ x509 (CSR).
    • ລະຫັດ - ຕົວເລືອກນີ້ແນະ ນຳ OpenSSL ໃຫ້ຂ້າມການເຂົ້າລະຫັດໃບຢັ້ງຢືນ SSL ໂດຍໃຊ້ passphrase. ຄວາມຄິດທີ່ນີ້ແມ່ນເພື່ອອະນຸຍາດໃຫ້ Apache ສາມາດອ່ານເອກະສານໂດຍບໍ່ມີການແຊກແຊງໃດໆຂອງຜູ້ໃຊ້ເຊິ່ງຈະເປັນໄປບໍ່ໄດ້ຖ້າມີ ຄຳ ສັບທີ່ຖືກສະ ເໜີ.
    • -Nekeykey rsa: 2048 - ສິ່ງນີ້ຊີ້ໃຫ້ເຫັນວ່າພວກເຮົາຕ້ອງການສ້າງຄີແລະໃບຢັ້ງຢືນ ໃໝ່ ພ້ອມໆກັນ. ສ່ວນ rsa: 2048 ໝາຍ ຄວາມວ່າພວກເຮົາຕ້ອງການສ້າງຄີ RSA 2048-bit.
    • -keyout - ຕົວເລືອກນີ້ໄດ້ ກຳ ນົດບ່ອນເກັບມ້ຽນເອກະສານທີ່ເປັນເອກະຊົນທີ່ສ້າງຂື້ນເມື່ອສ້າງ.
    • -out - ຕົວເລືອກໄດ້ ກຳ ນົດບ່ອນທີ່ຈະເອົາໃບຢັ້ງຢືນ SSL ທີ່ຖືກສ້າງຂື້ນມາ.

    ຂັ້ນຕອນທີ 3: ຕິດຕັ້ງໃບຢັ້ງຢືນ SSL ທີ່ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນໃນ Apache

    4. ໄດ້ສ້າງເອກະສານໃບຢັ້ງຢືນ SSL, ດຽວນີ້ມັນເຖິງເວລາແລ້ວທີ່ຈະຕິດຕັ້ງໃບຢັ້ງຢືນໂດຍໃຊ້ການຕັ້ງຄ່າຂອງເວັບເຊີຟເວີ Apache. ເປີດແລະແກ້ໄຂເອກະສານການຕັ້ງຄ່າ /etc/httpd/conf.d/ssl.conf.

    $ sudo vi /etc/httpd/conf.d/ssl.conf
    

    ຮັບປະກັນວ່າທ່ານມີສາຍຕໍ່ໄປນີ້ລະຫວ່າງແທັກເຈົ້າພາບ virtual.

    <VirtualHost *:443>
        ServerAdmin [email 
        ServerName www.tecmint.local
        ServerAlias tecmint.local
     
        DocumentRoot /var/www/html
     
        SSLEngine on
        SSLCertificateFile /etc/ssl/private/tecmint.local.crt
        SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key
    </VirtualHost>
    

    ບັນທຶກແລະອອກຈາກແຟ້ມ. ສຳ ລັບການປ່ຽນແປງທີ່ຈະມີຜົນ, ເລີ່ມຕົ້ນ Apache ໂດຍໃຊ້ ຄຳ ສັ່ງ:

    $ sudo systemctl restart httpd
    

    5. ເພື່ອໃຫ້ຜູ້ໃຊ້ພາຍນອກເຂົ້າເຖິງ server ຂອງທ່ານ, ທ່ານຕ້ອງເປີດ port 443 ຜ່ານ firewall ດັ່ງທີ່ສະແດງໄວ້.

    $ sudo firewall-cmd --add-port=443 --zone=public --permanent
    $ sudo firewall-cmd --reload
    

    ຂັ້ນຕອນທີ 3: ທົດສອບໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນໃນ Apache

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

    ເພື່ອປັບປຸງການທົດສອບ, ທ່ານອາດຈະພິຈາລະນາປ່ຽນເສັ້ນທາງ HTTP ກັບ HTTPS ໃນ Apache webserver. ນີ້ແມ່ນເພື່ອວ່າທຸກຄັ້ງທີ່ທ່ານຄົ້ນຫາໂດເມນໃນ HTTP ທຳ ມະດາ, ມັນຈະຖືກໂອນໄປຫາໂປໂຕຄອນ HTTPS ໂດຍອັດຕະໂນມັດ.

    ສະນັ້ນກວດເບິ່ງໂດເມນຫລື IP ຂອງເຄື່ອງແມ່ຂ່າຍຂອງທ່ານ

    https://domain_name/
    

    ທ່ານຈະໄດ້ຮັບການແຈ້ງເຕືອນທີ່ແຈ້ງໃຫ້ທ່ານຊາບວ່າການເຊື່ອມຕໍ່ບໍ່ປອດໄພດັ່ງທີ່ສະແດງໄວ້. ສິ່ງນີ້ຈະແຕກຕ່າງຈາກຕົວທ່ອງເວັບ ໜຶ່ງ ໄປອີກ. ດັ່ງທີ່ທ່ານອາດຈະຄາດເດົາໄດ້, ການແຈ້ງເຕືອນແມ່ນຍ້ອນວ່າໃບຢັ້ງຢືນ SSL ບໍ່ໄດ້ຖືກເຊັນໂດຍເຈົ້າ ໜ້າ ທີ່ໃບຢັ້ງຢືນແລະຕົວທ່ອງເວັບລົງທະບຽນນັ້ນແລະລາຍງານວ່າໃບຢັ້ງຢືນບໍ່ສາມາດເຊື່ອຖືໄດ້.

    ເພື່ອ ດຳ ເນີນການກັບເວັບໄຊທ໌ຂອງທ່ານ, ໃຫ້ຄລິກໃສ່ແຖບ 'ຂັ້ນສູງ' ດັ່ງທີ່ສະແດງຢູ່ຂ້າງເທິງ:

    ຕໍ່ໄປ, ເພີ່ມຂໍ້ຍົກເວັ້ນເຂົ້າໃນ browser.

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

    ມັນແມ່ນຄວາມຫວັງຂອງພວກເຮົາວ່າທ່ານປະຈຸບັນສາມາດ ດຳ ເນີນການແລະສ້າງແລະຕິດຕັ້ງໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງໃນເຊີຟເວີ Apache localhost ໃນ CentOS 8.