บทนำ

Let’s’s Encrypt เป็นผู้ออกใบรับรองอัตโนมัติ (CA) ที่เชื่อถือได้และเชื่อถือได้ซึ่งออกแบบโดยกลุ่มวิจัยความปลอดภัยทางอินเทอร์เน็ต (ISRG) ที่ไม่แสวงหาผลกำไร CA ใช้กระบวนการอัตโนมัติทั้งหมดในการส่งมอบใบรับรอง SSL / TLS ฟรีกำจัดความต้องการสร้างติดตั้งตรวจสอบและต่ออายุใบรับรอง SSL ด้วยตนเอง..


Let’s Encrypt ได้รับความเชื่อถือจากโปรแกรมชั้นนำเพียงเพราะปลอดภัยโปร่งใสร่วมมือและอัตโนมัติ CA มอบใบรับรองดิจิทัลที่จำเป็นสำหรับเปิดใช้งาน HTTPS สำหรับเว็บไซต์และสร้างเว็บที่เคารพความเป็นส่วนตัวและปลอดภัย.

บทช่วยสอนนี้จะช่วยให้คุณรักษาความปลอดภัยของบริการ Apache โดยใช้ Let’s Encrypt ผ่านเครื่องมือ certbot ที่เชื่อถือได้บน Ubuntu 18.04 VPS โฮสติ้งหรือเซิร์ฟเวอร์เฉพาะของคุณ.

พร้อมหรือยัง? มาเริ่มกันเลย!

ก่อนที่คุณจะเริ่ม

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

  • โดเมน
  • Apache ติดตั้งบนเซิร์ฟเวอร์ของคุณ
  • โฮสต์เสมือน Apache ที่กำหนดค่าอย่างสมบูรณ์สำหรับชื่อโดเมน คุณสามารถใช้คำแนะนำของเรา “ วิธีการตั้งค่า Apache Virtual Hosts บน Ubuntu 18.04” เพื่อกำหนดค่าโฮสต์เสมือน.

หากทุกอย่างอยู่ในสถานที่เราสามารถเริ่มดำเนินการติดตั้งได้แล้ว.

Step1 – การติดตั้ง Certbot

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

ขั้นแรกให้อัพเดตดัชนีแพ็กเกจโลคัล:

$ sudo apt update

จากนั้นดำเนินการคำสั่งด้านล่างเพื่อติดตั้ง Certbot:

$ sudo apt ติดตั้ง certbot

แค่นั้นแหละ! คุณติดตั้งเครื่องมือ certbot สำเร็จแล้ว.

ขั้นตอนที่ 2 – การสร้างกลุ่ม DH ที่แข็งแกร่ง

กลุ่ม DH หรือกลุ่ม Diffie Hellman เป็นกลุ่มการแลกเปลี่ยนคีย์ที่เชื่อถือได้ซึ่งสร้างสภาพแวดล้อมที่ปลอดภัยเพื่ออำนวยความสะดวกในการแลกเปลี่ยนคีย์การเข้ารหัสผ่านช่องทางการสื่อสารที่ไม่ปลอดภัย.

เรียกใช้คำสั่งด้านล่างเพื่อสร้างชุดอักขระ DH 2048 บิต:

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

บันทึก: หากคุณต้องการคุณสามารถแทนที่ขนาด 2048 ด้วย 4096 โดยทำเช่นนั้นคุณควรอดทนเพราะการสร้างพารามิเตอร์ DHT อาจใช้เวลาสามสิบนาทีหรือมากกว่านั้นขึ้นอยู่กับเอนโทรปีของระบบของคุณ.

ขั้นตอนที่ 3 – รับใบรับรอง SSL

เมื่อสร้างกลุ่ม Dh คุณสามารถรับใบรับรอง SSL ที่จำเป็นสำหรับโดเมนเฉพาะของคุณได้แล้ว ในบทช่วยสอนนี้เราจะใช้ example.com เป็นชื่อโดเมนของเรา อย่าลืมแทนที่ค่านี้ด้วยชื่อโดเมนที่แท้จริงของคุณ.

ในขั้นตอนนี้เราจะใช้ปลั๊กอิน Webroot เพื่อสร้างไฟล์ example.com ในไดเรกทอรี $ {webroot เส้นทาง} /. ที่รู้จักกันดี / จุดสุดยอดท้าทาย. เซิร์ฟเวอร์การตรวจสอบความถูกต้องสำหรับการเข้ารหัส Let ‘s จะทำให้การอุทธรณ์ HTTP เพื่อตรวจสอบว่า DNS ของโดเมนแก้ไขให้กับเซิร์ฟเวอร์ที่ใช้เครื่องมือ certbot.

เราเพียงแค่ทำแผนที่ขอร้อง HTTP สำหรับ .ที่รู้จักกันดี / จุดสุดยอดท้าทาย ถึง / var / lib / letsencrypt. ตอนนี้ให้รันคำสั่งด้านล่างเพื่อสร้างไดเรกทอรีที่จำเป็นและเปิดใช้งานมันเพื่อให้สามารถเขียนได้สำหรับเซิร์ฟเวอร์ Apache ของคุณ.

$ sudo mkdir -p /var/lib/letsencrypt/.well-known
$ sudo chgrp www-data / var / lib / letsencrypt
$ sudo chmod g + s / var / lib / letsencrypt

จากนั้นสร้างตัวอย่างการกำหนดค่าที่ไม่ซ้ำกันสองรายการเพื่อป้องกันการทำสำเนารหัส ก่อนอื่นให้เรียกใช้คำสั่งด้านล่างเพื่อเปิดไฟล์กำหนดค่าแรก:

$ sudo nano /etc/apache2/conf-available/letsencrypt.conf

เพิ่มเนื้อหาด้านล่างลงในไฟล์นี้:

/.well-known/acme-challenge/ นามแฝง "/var/lib/letsencrypt/.well-known/acme-challenge/"

AllowOverride None
ตัวเลือกหลายมุมมองดัชนี SymLinksIfOwnerMatch IncludeNoExec
ต้องการวิธีการรับ POST OPTIONS

บันทึกและออกจากไฟล์นี้.

จากนั้นดำเนินการคำสั่งด้านล่างเพื่อเปิดไฟล์กำหนดค่าที่สอง:

$ sudo /etc/apache2/conf-available/ssl-params.conf

คัดลอกและวางเนื้อหาด้านล่างลงในไฟล์นี้:

SSLCipherSuite EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder เปิด
ส่วนหัว setStrict-Transport-Security เสมอ"max-age = 63072000; includeSubDomains; พรีโหลด"
ส่วนหัวตั้งค่า X-Frame-Options DENY เสมอ
ส่วนหัวตั้งค่า nosniff X-Content-Type-Options เสมอ
# ต้องใช้ Apache >= 2.4
ปิดการบีบอัด SSLC
SSLUseStapling เปิด
SSLStaplingCache "shmcb: บันทึก / เย็บแคช (150000)"
# ต้องใช้ Apache >= 2.4.11
ปิด SSLSessionTickets

SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

บันทึกและออกจากไฟล์.

บันทึก: ตัวอย่างข้อมูลการกำหนดค่าที่สองใช้เครื่องย่อยที่ได้รับอนุญาตจาก HSTS (HTTP Strict Transport Security) และ Cipherli.st. ตัวอย่างบังคับใช้ส่วนหัว HTTP เป็นศูนย์กลางการรักษาความปลอดภัยและเปิดใช้งาน OCSP Stapling.

ตอนนี้ให้เรียกใช้คำสั่งด้านล่างเพื่อเปิดใช้งาน โมดูล Apache SSL และ mod_headers:

$ sudo a2enmod ssl
$ sudo a2enmod ส่วนหัว

จากนั้นดำเนินการคำสั่งด้านล่างเพื่อเปิดใช้งาน SSL Hos เสมือนทีและ SSL-params.conf ไฟล์:

$ sudo a2enconf letsencrypt
$ sudo a2enconf ssl-params

รีสตาร์ทการกำหนดค่า Apache ของคุณเพื่อใช้การเปลี่ยนแปลง:

$ sudo systemctl รีโหลด apache2

ขั้นตอนถูกตั้งค่าแล้วและตอนนี้คุณสามารถใช้ certbot โดยใช้ปลั๊กอิน Webroot เพื่อรับใบรับรอง SSL ของคุณ:

$ sudo certbot certonly –agree-tos –email [email protected] –webroot -w / var / lib / letsencrypt / -d example.com -d www.example.com

เมื่อได้รับใบรับรองคุณจะได้รับข้อความด้านล่าง:

หมายเหตุสำคัญ:
– ขอแสดงความยินดี! ใบรับรองและเครือข่ายของคุณได้รับการบันทึกที่:
/etc/letsencrypt/live/example.com/fullchain.pem
บันทึกไฟล์สำคัญของคุณที่:
/etc/letsencrypt/live/example.com/privkey.pem
ใบรับรองของคุณจะหมดอายุใน 2018-10-28 หากต้องการรับใหม่หรือปรับแต่ง
เวอร์ชันของใบรับรองนี้ในอนาคตเพียงเรียกใช้ certbot
อีกครั้ง หากต้องการต่ออายุใบรับรองทั้งหมดของคุณ * ให้ดำเนินการ
"ต่ออายุ certbot"
– หากคุณชอบ Certbot โปรดพิจารณาสนับสนุนงานของเราโดย:

บริจาคให้ ISRG / Let’s Encrypt: https://letsencrypt.org/donate
บริจาคให้กับ EFF: https://eff.org/donate-le

ขั้นตอนที่ 4 – แก้ไขการกำหนดค่าไฟล์โฮสต์เสมือน

ดำเนินการคำสั่งด้านล่างเพื่อเปิดไฟล์การกำหนดค่าสำหรับโดเมนที่ไม่ซ้ำกันของคุณ:

$ sudo nano /etc/apache2/sites-available/example.com.conf

เพิ่มเนื้อหาด้านล่างลงในไฟล์นี้

ServerName example.com
ServerAlias ​​www.example.com

เปลี่ยนเส้นทางถาวร / https://example.com/

ServerName example.com
ServerAlias ​​www.example.com

เปลี่ยนเส้นทางถาวร / https://example.com/

DocumentRoot /var/www/example.com/public_html
ErrorLog $ {} APACHE_LOG_DIR /example.com-error.log
CustomLog $ {APACHE_LOG_DIR} /example.com-access.log รวมกัน

SSLEngineOn
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

# การกำหนดค่า Apache อื่น ๆ

ถัดไปโหลดบริการ Apache ของคุณอีกครั้ง:

$ sudo systemctl รีโหลด apache2

เปิดเว็บไซต์ของคุณและตรวจสอบว่าคุณจะเห็นไอคอนล็อคสีเขียว

ขั้นตอนที่ 5 – การตั้งค่าต่ออายุอัตโนมัติ

ใบรับรอง SSL ที่เพิ่งติดตั้งใหม่นั้นมีอายุ 90 วันเท่านั้น คุณสามารถตั้งค่าแพ็คเกจ Certbot เพื่อต่ออายุใบรับรอง SSL ของคุณโดยอัตโนมัติก่อนวันหมดอายุ แพ็คเกจสร้าง cronjob ที่รันสองครั้งต่อวันต่ออายุใบรับรองหนึ่งเดือนก่อนที่จะหมดอายุ.

ทุกครั้งที่ใบรับรอง SSL ได้รับการต่ออายุโดยอัตโนมัติ Apache Service จะต้องโหลดใหม่ หากต้องการเปิดใช้งานให้แก้ไข /etc/cron.d/certbot ไฟล์ด้วย –ต่ออายุเบ็ด "systemctl รีโหลด apache2", ตะขอ.

ไฟล์นี้จะมีลักษณะดังนี้:

0 * / 12 * * * การทดสอบรูท -x / usr / bin / certbot -a! -d / run / systemd / system && perl -e ‘sleep int (rand (3600))’ && certbot -q การต่ออายุ –renew-hook "systemctl รีโหลด apache2"

ถัดไปเรียกใช้คำสั่งด้านล่างเพื่อยืนยันการต่ออายุอัตโนมัติ:

 $ sudo certbot ต่ออายุ – ทำงานแห้ง

หากคุณไม่มีข้อผิดพลาดกระบวนการตั้งค่าการต่ออายุใบรับรอง SSL อัตโนมัติจะถูกต้อง.

ข้อสรุป

แค่นั้นแหละ! คุณใช้เครื่องมือ certbot สำเร็จแล้วและให้การเข้ารหัสเพื่อรับใบรับรอง SSL สำหรับชื่อโดเมนเฉพาะของคุณ.

ลองดูบริการโฮสติ้ง Linux 3 อันดับแรกเหล่านี้

FastComet

ราคาเริ่มต้น:
$ 2.95


ความเชื่อถือได้
9.7


การตั้งราคา
9.5


เป็นมิตรกับผู้ใช้
9.7


สนับสนุน
9.7


คุณสมบัติ
9.6

อ่านความคิดเห็น

เยี่ยมชม FastComet

Hostinger

ราคาเริ่มต้น:
$ 0.99


ความเชื่อถือได้
9.3


การตั้งราคา
9.3


เป็นมิตรกับผู้ใช้
9.4


สนับสนุน
9.4


คุณสมบัติ
9.2

อ่านความคิดเห็น

เยี่ยมชม Hostinger

ChemiCloud

ราคาเริ่มต้น:
$ 2.76


ความเชื่อถือได้
10


การตั้งราคา
9.9


เป็นมิตรกับผู้ใช้
9.9


สนับสนุน
10


คุณสมบัติ
9.9

อ่านความคิดเห็น

เยี่ยมชม ChemiCloud

บทความเชิงปฏิบัติที่เกี่ยวข้อง

  • วิธีการติดตั้ง WordPress Multisite บน Ubuntu 18.04 ด้วย Apache Web Server
    สื่อกลาง
  • วิธีกำหนดการตั้งค่า KeepAlive สำหรับ Apache ที่ทำงานบน Ubuntu 18.04 VPS
    สื่อกลาง
  • วิธีการเปิดใช้งาน Apache Mod_Rewrite บน Ubuntu 18.04 VPS หรือเซิร์ฟเวอร์เฉพาะ
    ผู้เชี่ยวชาญ
  • วิธีใช้ไฟล์. htaccess ใน Ubuntu 18.04
    มือใหม่
  • วิธีการติดตั้ง Apache, MySQL & PHP บน Ubuntu 18.04 VPS หรือเซิร์ฟเวอร์เฉพาะ
    สื่อกลาง
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me