ค้นหาเว็บไซต์

วิธีรักษาความปลอดภัย Nginx ด้วย Let's Encrypt บน CentOS 8


Let's Encrypt ก่อตั้งขึ้นในเดือนเมษายน 2016 โดย Electronic Frontier Foundation (EFF) เป็นใบรับรองดิจิทัลฟรีแบบอัตโนมัติที่ให้การเข้ารหัส TLS สำหรับเว็บไซต์โดยไม่มีค่าใช้จ่ายใดๆ เลย

วัตถุประสงค์ของใบรับรอง Let's Encrypt คือการตรวจสอบ การสร้าง การลงนาม และการต่ออายุใบรับรองความปลอดภัยโดยอัตโนมัติ ใบรับรองนี้เปิดใช้งานการเชื่อมต่อที่เข้ารหัสไปยังเว็บเซิร์ฟเวอร์โดยใช้โปรโตคอล HTTPS ในลักษณะที่เรียบง่าย ไม่ยุ่งยาก โดยไม่ซับซ้อนใดๆ ใบรับรองมีอายุเพียง 90 วันเท่านั้น ซึ่งสามารถเปิดใช้งานการต่ออายุอัตโนมัติได้

การอ่านที่แนะนำ:วิธีรักษาความปลอดภัย Apache ด้วย Let's Encrypt SSL Certificate บน CentOS 8

ในบทความนี้ เราจะสาธิตวิธีการติดตั้ง Let's Encrypt เพื่อรับใบรับรอง SSL ฟรีเพื่อรักษาความปลอดภัยเว็บเซิร์ฟเวอร์ Nginx บน CentOS 8 ( คำแนะนำเดียวกันนี้ยังใช้ได้กับ RHEL 8) เราจะอธิบายให้คุณทราบถึงวิธีการต่ออายุใบรับรอง SSL ของคุณโดยอัตโนมัติ

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะดำเนินการตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้ในการตรวจสอบ

1. ชื่อโดเมนแบบเต็ม (FQDN) ชี้ไปยังที่อยู่ IP เฉพาะของเว็บเซิร์ฟเวอร์ สิ่งนี้จำเป็นต้องได้รับการกำหนดค่าในพื้นที่ไคลเอนต์ของผู้ให้บริการโฮสต์เว็บ DNS ของคุณ สำหรับบทช่วยสอนนี้ เราใช้ชื่อโดเมน linuxtechwhiz ซึ่งชี้ไปยังที่อยู่ IP 34.70.245.117

2. คุณยังสามารถยืนยันสิ่งนี้ได้โดยดำเนินการค้นหาไปข้างหน้าโดยใช้คำสั่ง dig ดังที่แสดง

dig linuxtechwhiz.info

3. Nginx ติดตั้งและทำงานบนเว็บเซิร์ฟเวอร์ คุณสามารถยืนยันสิ่งนี้ได้โดยการเข้าสู่เทอร์มินัลแล้วรันคำสั่งด้านล่าง หากไม่ได้ติดตั้ง Nginx ให้ทำตามบทความของเราเพื่อติดตั้ง Nginx บน CentOS 8

sudo systemctl status nginx

4. คุณสามารถตรวจสอบได้โดยไปที่ URL ของเว็บเซิร์ฟเวอร์บนเว็บเบราว์เซอร์

http://server-IP-or-hostname

จาก URL เราจะเห็นได้อย่างชัดเจนว่าไซต์นั้นไม่ปลอดภัย ดังนั้นจึงไม่มีการเข้ารหัส นี่หมายความว่าคำขอใด ๆ ที่ส่งไปยังเว็บเซิร์ฟเวอร์สามารถดักจับได้ ซึ่งรวมถึงข้อมูลที่สำคัญและเป็นความลับ เช่น ชื่อผู้ใช้ รหัสผ่าน หมายเลขประกันสังคม และข้อมูลบัตรเครดิต และอีกมากมาย

ตอนนี้เรามาเริ่มกันเลยและติดตั้ง มาเข้ารหัสกันเถอะ

ขั้นตอนที่ 1 ติดตั้ง Certbot ใน CentOS 8

หากต้องการติดตั้งใบรับรอง Let’s Encrypt คุณต้องติดตั้ง certbot ก่อน นี่คือไคลเอ็นต์แบบขยายได้ที่ดึงใบรับรองความปลอดภัยจาก Let's Encrypt Authority และช่วยให้คุณสามารถตรวจสอบและกำหนดค่าใบรับรองโดยอัตโนมัติเพื่อใช้งานโดยเว็บเซิร์ฟเวอร์

ดาวน์โหลด certbot โดยใช้คำสั่ง curl

sudo curl -O https://dl.eff.org/certbot-auto

จากนั้น ย้ายใบรับรองไปยังไดเร็กทอรี /usr/local/bin

sudo mv certbot-auto /usr/local/bin/certbot-auto

จากนั้น กำหนดสิทธิ์ของไฟล์ให้กับไฟล์ certbot ดังที่แสดง

chmod 0755 /usr/local/bin/certbot-auto

ขั้นตอนที่ 2 กำหนดค่าบล็อกเซิร์ฟเวอร์ Nginx

บล็อกเซิร์ฟเวอร์ใน Nginx เทียบเท่ากับโฮสต์เสมือนใน Apache การตั้งค่าบล็อกเซิร์ฟเวอร์ไม่เพียงแต่ช่วยให้คุณตั้งค่าหลายเว็บไซต์ในเซิร์ฟเวอร์เดียว แต่ยังอนุญาตให้ Certbot พิสูจน์ความเป็นเจ้าของโดเมนให้กับ ผู้ออกใบรับรอง – CA

หากต้องการสร้างบล็อกเซิร์ฟเวอร์ ให้รันคำสั่งที่แสดง

sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info

อย่าลืมเปลี่ยนชื่อโดเมนด้วยชื่อโดเมนของคุณเอง จากนั้นวางการกำหนดค่าด้านล่าง

server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

บันทึกไฟล์และออกจากโปรแกรมแก้ไขข้อความ

ขั้นตอนที่ 3: ติดตั้ง Lets Encrypt Certificate บน CentOS 8

ตอนนี้ใช้คำสั่ง certbot เพื่อเริ่มต้นการดึงข้อมูลและการกำหนดค่าใบรับรองความปลอดภัย Let's Encrypt

sudo /usr/local/bin/certbot-auto --nginx

คำสั่งนี้จะรันและติดตั้งแพ็คเกจ Python หลายแพ็คเกจและการขึ้นต่อกันดังที่แสดง

หลังจากนั้นจะตามด้วยข้อความโต้ตอบดังที่แสดง:

หากทุกอย่างเป็นไปด้วยดี คุณน่าจะเห็นข้อความแสดงความยินดีในตอนท้าย

เพื่อยืนยันว่าไซต์ Nginx ของคุณได้รับการเข้ารหัส ให้โหลดหน้าเว็บซ้ำและสังเกตสัญลักษณ์รูปกุญแจที่จุดเริ่มต้นของ URL สิ่งนี้บ่งชี้ว่าไซต์นั้นปลอดภัยโดยใช้การเข้ารหัส SSL/TLS

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับใบรับรองความปลอดภัย ให้คลิกที่สัญลักษณ์รูปแม่กุญแจแล้วเลือกตัวเลือก "ใบรับรอง"

ข้อมูลเพิ่มเติมเกี่ยวกับใบรับรองความปลอดภัยจะแสดงดังที่แสดงด้านล่าง

นอกจากนี้ หากต้องการทดสอบความแข็งแกร่งของใบรับรองความปลอดภัย ให้ไปที่ https://www.ssllabs.com/ssltest/ และค้นหาการวิเคราะห์สถานะของใบรับรองความปลอดภัยที่แม่นยำและเจาะลึกมากขึ้น

ขั้นตอนที่ 4 การต่ออายุใบรับรอง Let's Encrypt

ดังที่เราเห็นก่อนหน้านี้ ใบรับรองความปลอดภัยจะใช้ได้ในระยะเวลา 90 วันเท่านั้น และจะต้องต่ออายุก่อนหมดอายุ

คุณสามารถจำลองหรือทดสอบกระบวนการต่ออายุใบรับรองได้โดยการรันคำสั่ง:

sudo /usr/local/bin/certbot-auto renew --dry-run

บทสรุป

นี่เป็นการสรุปบทช่วยสอนเกี่ยวกับการรักษาความปลอดภัย Nginx ด้วย มาเข้ารหัสกันเถอะ บน CentOS 8 มาเข้ารหัสกันเถอะ นำเสนอวิธีที่มีประสิทธิภาพและไม่ยุ่งยากในการรักษาความปลอดภัยเว็บเซิร์ฟเวอร์ Nginx ของคุณ ซึ่งหากไม่เช่นนั้นแล้วจะเป็นเรื่องที่ซับซ้อนหากต้องทำด้วยตนเอง

เว็บไซต์ของคุณควรได้รับการเข้ารหัสอย่างสมบูรณ์แล้ว ไม่กี่สัปดาห์ก่อนวันหมดอายุของใบรับรอง EFF จะแจ้งเตือนคุณทางอีเมลเพื่อต่ออายุใบรับรองเพื่อหลีกเลี่ยงการหยุดชะงักที่อาจเกิดขึ้นเนื่องจากใบรับรองหมดอายุ นั่นคือทั้งหมดสำหรับวันนี้!