ວິທີການສ້າງໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນໃນ CentOS 8
SSL (Secure Socket Layer), ແລະເວີຊັນທີ່ໄດ້ຮັບການປັບປຸງ, TLS (Transport Socket Layer) ແມ່ນໂປໂຕຄອນດ້ານຄວາມປອດໄພທີ່ຖືກ ນຳ ໃຊ້ເພື່ອຮັບປະກັນການເຂົ້າຊົມເວັບທີ່ສົ່ງຈາກຕົວທ່ອງເວັບຂອງລູກຄ້າໄປຫາເຄື່ອງແມ່ຂ່າຍເວັບ.
ໃບຢັ້ງຢືນການ SSL ແມ່ນໃບຢັ້ງຢືນດິຈິຕອນທີ່ສ້າງຊ່ອງທາງທີ່ປອດໄພລະຫວ່າງຕົວທ່ອງເວັບຂອງລູກຄ້າແລະເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌. ການເຮັດດັ່ງນັ້ນ, ຂໍ້ມູນທີ່ລະອຽດອ່ອນແລະເປັນຄວາມລັບເຊັ່ນຂໍ້ມູນບັດເຄດິດ, ຂໍ້ມູນການເຂົ້າສູ່ລະບົບແລະຂໍ້ມູນສ່ວນຕົວທີ່ສູງອື່ນໆແມ່ນຖືກເຂົ້າລະຫັດ, ປ້ອງກັນບໍ່ໃຫ້ແຮກເກີລັກລອບເຂົ້າແລະລັກຂໍ້ມູນຂອງທ່ານ.
ໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ລົງນາມດ້ວຍຕົນເອງ, ບໍ່ຄືກັບໃບຢັ້ງຢືນ SSL ອື່ນໆທີ່ໄດ້ຖືກເຊັນແລະໄວ້ວາງໃຈໂດຍອົງການໃບຢັ້ງຢືນ (CA), ແມ່ນໃບຢັ້ງຢືນທີ່ເຊັນໂດຍບຸກຄົນທີ່ເປັນເຈົ້າຂອງ.
ມັນບໍ່ເສຍຄ່າທັງ ໝົດ ທີ່ຈະສ້າງແບບ ໜຶ່ງ ແລະເປັນວິທີທີ່ລາຄາຖືກຂອງການເຂົ້າລະຫັດເວັບເຊີຟເວີເວັບທີ່ທ່ານຈັດຢູ່ໃນທ້ອງຖິ່ນ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ການ ນຳ ໃຊ້ໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງແມ່ນມີຄວາມທໍ້ຖອຍໃຈໃນສະພາບແວດລ້ອມການຜະລິດດ້ວຍເຫດຜົນຕໍ່ໄປນີ້:
<
ທີ່ເວົ້າວ່າ, ການໃຊ້ໃບຢັ້ງຢືນ SSL ທີ່ໄດ້ເຊັນດ້ວຍຕົນເອງບໍ່ແມ່ນຄວາມຄິດທີ່ບໍ່ດີ ສຳ ລັບການທົດສອບການບໍລິການແລະການ ນຳ ໃຊ້ໃນເຄື່ອງຈັກທ້ອງຖິ່ນທີ່ຕ້ອງການການເຂົ້າລະຫັດ TLS/SSL.
ໃນຄູ່ມືນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຕິດຕັ້ງໃບຢັ້ງຢືນ SSL ທີ່ເຊັນດ້ວຍຕົນເອງໃນທ້ອງຖິ່ນໃນເຊີຟເວີ Apache localhost ໃນລະບົບເຊີຟເວີຂອງ CentOS 8.
ກ່ອນທີ່ຈະເລີ່ມຕົ້ນ, ຮັບປະກັນວ່າທ່ານມີຄວາມຕ້ອງການພື້ນຖານດັ່ງຕໍ່ໄປນີ້:
<
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.