วิธีสร้าง LetsEncrypt SSL Certificate โดยใช้ CloudFlare DNS-01 Challenge และใช้งานบน Synology NAS

Withi Srang Letsencrypt Ssl Certificate Doy Chi Cloudflare Dns 01 Challenge Laea Chi Ngan Bn Synology Nas



Disk Station Manager v7 (DSM 7) คือระบบปฏิบัติการของอุปกรณ์ Synology NAS คุณสามารถกำหนดค่าใบรับรอง Let's Encrypt SSL สำหรับ Synology NAS ของคุณได้จากเว็บอินเทอร์เฟซ DSM 7 ตามค่าเริ่มต้น Synology DSM 7 ใช้ความท้าทาย HTTP-01 เพื่อยืนยันความเป็นเจ้าของโดเมน (ที่คุณต้องการใช้สำหรับ Synology NAS ของคุณ) และออกใบรับรอง SSL สำหรับโดเมน แต่ความท้าทาย HTTP-01 จะไม่ทำงานเว้นแต่คุณจะมีที่อยู่ IP สาธารณะและคอมพิวเตอร์ของคุณสามารถเข้าถึงได้จากอินเทอร์เน็ต ดังนั้น หากคุณต้องการใช้ใบรับรอง Let’s Encrypt SSL สำหรับเครือข่ายในบ้านหรือเครือข่ายส่วนตัวของคุณ คุณต้องใช้ความท้าทาย DNS-01 แทน เมื่อใช้ความท้าทาย DNS-01 Let's Encrypt จะตรวจสอบความเป็นเจ้าของโดเมนโดยใช้เซิร์ฟเวอร์ DNS ของโดเมน ดังนั้นจึงใช้ได้กับเครือข่ายส่วนตัวเช่นกัน น่าเศร้าที่เว็บอินเทอร์เฟซของ Synology DSM 7 ไม่มีวิธีรับใบรับรอง Let's Encrypt SSL โดยใช้ความท้าทาย DNS-01

โชคดีที่สามารถติดตั้งโปรแกรม “acme.sh” บน Synology NAS ของคุณได้ และใช้เพื่อสร้างและต่ออายุใบรับรอง Let's Encrypt SSL โดยใช้ความท้าทาย DNS-01







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



  • วิธีติดตั้ง “sh” บน Synology NAS ของคุณ
  • วิธีใช้ “acme.sh” เพื่อสร้างใบรับรอง Let's Encrypt SSL (ผ่านการท้าทาย DNS-01) สำหรับชื่อโดเมนที่คุณใช้บน Synology NAS ของคุณ
  • วิธีติดตั้งใบรับรอง Let's Encrypt SSL ที่สร้าง “acme.sh” บน Synology NAS ของคุณ
  • วิธีกำหนดค่าระบบปฏิบัติการ DSM 7 ของ Synology NAS ของคุณให้ใช้ใบรับรอง Let's Encrypt SSL ที่สร้างขึ้น
  • วิธีกำหนดค่า Synology NAS ของคุณให้ต่ออายุใบรับรอง Let's Encrypt SSL ที่สร้างขึ้นโดยอัตโนมัติโดยใช้ “acme.sh”

ในบทความนี้ เราจะใช้เซิร์ฟเวอร์ CloudFlare DNS เพื่อการสาธิต คุณสามารถใช้อย่างอื่นได้ บริการ DNS ที่รองรับโดย acme.sh เช่นกัน. สิ่งที่คุณต้องทำคือทำการปรับเปลี่ยนที่จำเป็น



หัวข้อเนื้อหา:

  1. การสร้างผู้ใช้ Certadmin บน Synology NAS
  2. การกำหนดค่าเซิร์ฟเวอร์ CloudFlare DNS สำหรับ LetsEncrypt DNS-01 Challenge
  3. การกำหนดค่าบริการ DNS อื่น ๆ สำหรับ LetsEncrypt DNS-01 Challenge
  4. การเข้าถึงเทอร์มินัล Synology NAS ผ่าน SSH
  5. กำลังดาวน์โหลด Acme.sh บน Synology NAS ของคุณ
  6. การติดตั้ง Acme.sh บน Synology NAS ของคุณ
  7. การสร้าง Let's Encrypt SSL Certificate โดยใช้ Acme.sh สำหรับ Synology NAS ของคุณ
  8. การติดตั้ง Let's Encrypt SSL Certificate บน Synology NAS ของคุณโดยใช้ Acme.sh
  9. การตั้งค่า Let's Encrypt SSL Certificate เป็นค่าเริ่มต้นบน Synology NAS ของคุณ
  10. กำหนดค่า Synology NAS ให้ต่ออายุอัตโนมัติมาเข้ารหัสใบรับรอง SSL โดยใช้ Acme.sh
  11. บทสรุป
  12. อ้างอิง

การสร้างผู้ใช้ Certadmin บน Synology NAS

ขั้นแรก คุณควรสร้างผู้ใช้ผู้ดูแลระบบรายใหม่บน Synology NAS ของคุณเพื่อสร้างและต่ออายุใบรับรอง Let's Encrypt SSL





หากต้องการสร้างผู้ใช้ผู้ดูแลระบบรายใหม่บน Synology NAS ให้คลิกที่ แผงควบคุม [1] - ผู้ใช้และกลุ่ม [2] จากเว็บอินเตอร์เฟส DSM 7



คลิกที่ 'สร้าง' จากแท็บ 'ผู้ใช้'

พิมพ์ “certadmin” เป็นชื่อผู้ใช้ [1] คำอธิบายสั้นๆ ที่ไม่บังคับสำหรับผู้ใช้ [2] , รหัสผ่านเข้าสู่ระบบของผู้ใช้ [3] และคลิกที่ “ถัดไป” [4] -

หากต้องการสร้างผู้ใช้ที่เป็นผู้ดูแลระบบ ให้ทำเครื่องหมายที่กลุ่ม “ผู้ดูแลระบบ” จากรายการ [1] และคลิกที่ “ถัดไป” [2] -

คลิกที่ 'ถัดไป'

คลิกที่ 'ถัดไป'

คลิกที่ 'ถัดไป'

คลิกที่ 'ถัดไป'

คลิกที่ 'เสร็จสิ้น'

ที่ ผู้ดูแลระบบ ตอนนี้ควรสร้างผู้ใช้บน Synology NAS ของคุณแล้ว

การกำหนดค่าเซิร์ฟเวอร์ CloudFlare DNS สำหรับ Let's Encrypt DNS-01 Challenge

หากต้องการใช้เซิร์ฟเวอร์ CloudFlare DNS สำหรับความท้าทาย Let's Encrypt DNS-01 คุณต้องสร้างโทเค็น CloudFlare DNS คุณสามารถสร้างโทเค็นเซิร์ฟเวอร์ CloudFlare DNS ได้จากแดชบอร์ด CloudFlare สำหรับข้อมูลเพิ่มเติม, อ่านบทความนี้ -

การกำหนดค่าบริการ DNS อื่น ๆ สำหรับ Let's Encrypt DNS-01 Challenge

“Acme.sh” รองรับบริการ DNS อื่นๆ หากคุณไม่ต้องการใช้ CloudFlare DNS คุณสามารถใช้หนึ่งในบริการ DNS ที่รองรับ “acme.sh” ได้ การกำหนดค่าจะแตกต่างกันเล็กน้อยสำหรับบริการ DNS ที่แตกต่างกัน สำหรับข้อมูลเพิ่มเติม, ตรวจสอบคู่มือ DNS API “acme.sh” -

การเข้าถึงเทอร์มินัล Synology NAS ผ่าน SSH

หากต้องการติดตั้ง “acme.sh” รวมถึงสร้างและติดตั้งใบรับรอง Let’s Encrypt SSL บน Synology NAS ของคุณ คุณจะต้องเข้าถึง Terminal ของ Synology NAS ของคุณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปิดใช้การเข้าถึง SSH บน Synology NAS ของคุณและการเข้าถึง Terminal ของ Synology NAS ของคุณ อ่านบทความนี้ -

เมื่อคุณเปิดใช้งานการเข้าถึง SSH บน Synology NAS ของคุณแล้ว ให้เปิดแอปเทอร์มินัลบนคอมพิวเตอร์ของคุณและเรียกใช้คำสั่งต่อไปนี้:

$ ssh certadmin@

คุณจะถูกขอให้พิมพ์รหัสผ่านเข้าสู่ระบบของ ผู้ดูแลระบบ ผู้ใช้ พิมพ์รหัสผ่านเข้าสู่ระบบของ ผู้ดูแลระบบ ผู้ใช้ Synology NAS ของคุณแล้วกดเปิด <ป้อน> - คุณควรเข้าสู่ระบบ Synology NAS ของคุณเป็น ผู้ดูแลระบบ ผู้ใช้

กำลังดาวน์โหลด Acme.sh บน Synology NAS ของคุณ

หากต้องการดาวน์โหลดไคลเอนต์ “acme.sh” เวอร์ชันล่าสุด ให้รันคำสั่งต่อไปนี้:

$ wget -O /tmp/acme.sh.zip https://github.com/acmesh-official/acme.sh/archive/master.zip

ควรดาวน์โหลดไฟล์เก็บถาวรไคลเอนต์ “acme.sh” “acme.sh.zip” เวอร์ชันล่าสุดในไดเรกทอรี “/tmp” ของ Synology NAS ของคุณ

การติดตั้ง Acme.sh บน Synology NAS ของคุณ

หากต้องการแยกไฟล์เก็บถาวร “/tmp/acme.sh.zip” ในไดเร็กทอรี “/usr/local/share” ของ Synology NAS ของคุณ ให้รันคำสั่งต่อไปนี้แล้วพิมพ์รหัสผ่านเข้าสู่ระบบของผู้ใช้ certadmin แล้วกด <ป้อน> เมื่อได้รับแจ้งให้ใส่รหัสผ่าน ไฟล์เก็บถาวร “/tmp/acme.sh.zip” ควรถูกแตกออกมาในไดเร็กทอรี “/usr/local/share/acme.sh-master”

$ sudo 7z x -o /usr/local/share /tmp/acme.sh.zip

เพื่อความง่าย ให้เปลี่ยนชื่อไดเร็กทอรี “acme.sh-master” เป็น “acme.sh” ด้วยคำสั่งต่อไปนี้:

$ sudo mv -v /usr/local/share/acme.sh-master /usr/local/share/acme.sh

เพื่อให้ ผู้ดูแลระบบ เจ้าของผู้ใช้ไดเร็กทอรี “/usr/local/share/acme.sh” และเนื้อหา ให้รันคำสั่งต่อไปนี้:

$ sudo chown - ใบรับรอง Rfv /usr/local/share/acme.sh

การสร้าง Let's Encrypt SSL Certificate โดยใช้ Acme.sh สำหรับ Synology NAS ของคุณ

หากต้องการสร้างใบรับรอง Let's Encrypt SSL สำหรับชื่อโดเมนที่คุณใช้บน Synology NAS ของคุณ ให้ไปที่ไดเร็กทอรี “/usr/local/share/acme.sh” ดังนี้:

$ ซีดี /usr/local/share/acme.sh

ตอนนี้ คุณต้องส่งออกตัวแปรสภาพแวดล้อมโทเค็น DNS API ที่จำเป็น เราใช้ CloudFlare DNS เพื่อจัดการชื่อโดเมนที่เราใช้บน Synology NAS ของเรา ดังนั้นสำหรับเรา สิ่งที่เราต้องทำคือส่งออกตัวแปรสภาพแวดล้อม CF_Token ด้วยค่าของโทเค็น CloudFlare DNS API หากคุณกำลังใช้บริการ DNS อื่น ๆ ตรวจสอบเอกสารประกอบ DNS API “acme.sh” เพื่อดูตัวแปรที่คุณต้องการส่งออก เพื่อให้ “acme.sh” ทำงานร่วมกับบริการ DNS ของคุณ

$ ส่งออก CF_Token='<โทเค็น CloudFlare DNS API>'

นอกจากนี้ ให้ส่งออกตัวแปรสภาพแวดล้อม Synology ที่จำเป็นเพื่อให้ “acme.sh” สามารถติดตั้งใบรับรอง SSL ที่สร้างขึ้นบน Synology NAS ของคุณ

$ ส่งออก SYNO_Username = 'certadmin'
$ ส่งออก SYNO_Password = 'Your_certadmin_login_Password'
$ ส่งออก SYNO_Certificate = 'มาเข้ารหัสกันเถอะ'
$ ส่งออก SYNO_Create=1

วิธีสร้างใบรับรอง Let's Encrypt SSL สำหรับชื่อโดเมน “*.nodekite.com” (wildcard) โดยใช้ปลั๊กอิน CloudFlare DNS ( –dns dns_cf ) ให้รันคำสั่งต่อไปนี้:

$ ./acme.sh --server ให้การเข้ารหัส --issue --dns dns_cf --home $PWD -d '*.nodekite.com'

หากคุณใช้บริการ DNS อื่น คุณจะต้องเปลี่ยนปลั๊กอิน DNS (–dns ) ในคำสั่งก่อนหน้าตามลำดับ สำหรับข้อมูลเพิ่มเติม, ตรวจสอบเอกสารประกอบ DNS API “acme.sh” -

กำลังสร้างใบรับรอง Let's Encrypt SSL ใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์

ณ จุดนี้ ควรสร้างใบรับรอง Let's Encrypt SSL

การติดตั้ง Let's Encrypt SSL Certificate บน Synology NAS ของคุณโดยใช้ Acme.sh

เมื่อใบรับรอง Let’s Encrypt SSL ถูกสร้างขึ้นสำหรับชื่อโดเมน (*.nodekite.com ในกรณีนี้) ของ Synology NAS ของคุณ คุณสามารถติดตั้งใบรับรองดังกล่าวบน Synology NAS ของคุณด้วยคำสั่งต่อไปนี้:

$ ./acme.sh -d '*.nodekite.com' --deploy --deploy-hook synology_dsm --home $PWD

หากคุณเปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำหรับ ผู้ดูแลระบบ ผู้ใช้บริการจะได้รับรหัส OTP คุณต้องพิมพ์รหัส OTP แล้วกด <ป้อน> -

หากคุณไม่ได้เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำหรับ ผู้ดูแลระบบ ผู้ใช้ให้ปล่อยว่างไว้แล้วกด <ป้อน> -

กด <ป้อน> -

ควรติดตั้งใบรับรอง Let's Encrypt SSL ที่สร้างขึ้นบน Synology NAS ของคุณ

เมื่อติดตั้งใบรับรอง Let's Encrypt SSL บน Synology NAS ของคุณแล้ว ใบรับรองนั้นจะแสดงบน แผงควบคุม - ความปลอดภัย - ใบรับรอง ของเว็บอินเทอร์เฟซ DSM 7 ของ Synology NAS ของคุณ

การตั้งค่า Let's Encrypt SSL Certificate เป็นค่าเริ่มต้นบน Synology NAS ของคุณ

หากต้องการจัดการใบรับรอง SSL ของ Synology NAS ของคุณ ให้ไปที่ แผงควบคุม - ความปลอดภัย - ใบรับรอง จากเว็บอินเทอร์เฟซ DSM 7 ของ Synology NAS ของคุณ

หากต้องการตั้งค่าใบรับรอง Let's Encrypt SSL ที่ติดตั้งใหม่เป็นค่าเริ่มต้น เพื่อให้บริการเว็บที่ติดตั้งใหม่บน Synology NAS ของคุณใช้งานได้ตามค่าเริ่มต้น ให้เลือกใบรับรอง Let's Encrypt SSL แล้วคลิก การกระทำ - แก้ไข -

ทำเครื่องหมายที่ “ตั้งเป็นใบรับรองเริ่มต้น” [1] และคลิกที่ 'ตกลง' [2] -

ใบรับรอง Let's Encrypt SSL ควรได้รับการตั้งค่าเป็นใบรับรองเริ่มต้นสำหรับ Synology NAS ของคุณ

หากต้องการกำหนดค่าบริการเว็บที่มีอยู่ของ Synology NAS ของคุณให้ใช้ใบรับรอง Let's Encrypt SSL ให้คลิกที่ 'การตั้งค่า'

อย่างที่คุณเห็น บริการบนเว็บทั้งหมดใช้ใบรับรอง SSL ที่ลงนามด้วยตนเองของ Synology

หากต้องการเปลี่ยนใบรับรอง SSL สำหรับบริการบนเว็บ ให้คลิกที่เมนูแบบเลื่อนลงที่เกี่ยวข้องจากด้านขวา

จากนั้นเลือกใบรับรอง Let's Encrypt SSL ที่คุณต้องการใช้สำหรับบริการเว็บจากเมนูแบบเลื่อนลง

ในทำนองเดียวกัน ให้เลือกใบรับรอง Let's Encrypt SSL สำหรับบริการเว็บที่ติดตั้งทั้งหมดของ Synology NAS ของคุณ แล้วคลิก 'ตกลง'

คลิกที่ 'ใช่'

กำลังใช้การเปลี่ยนแปลง ใช้เวลาไม่กี่วินาทีในการดำเนินการให้เสร็จสิ้น

เมื่อนำใบรับรอง Let's Encrypt SSL ไปใช้กับบริการเว็บทั้งหมดของ Synology NAS ของคุณแล้ว ให้รีเฟรชหน้าเว็บและอินเทอร์เฟซเว็บ DSM 7 ของคุณควรใช้ใบรับรอง Let's Encrypt SSL

การกำหนดค่า Synology NAS ให้ต่ออายุใบรับรอง SSL เข้ารหัสอัตโนมัติโดยใช้ Acme.sh

หากต้องการกำหนดค่า Synology NAS ของคุณให้ต่ออายุใบรับรอง Let's Encrypt SSL โดยอัตโนมัติ ให้ไปที่ แผงควบคุม - ตัวกำหนดเวลางาน จากเว็บอินเตอร์เฟส DSM 7

จาก Task Scheduler ให้คลิกที่ สร้าง - งานที่กำหนดเวลาไว้ - สคริปต์ที่ผู้ใช้กำหนด -

จากแท็บ 'ทั่วไป' ให้พิมพ์ 'ต่ออายุใบรับรอง SSL' ในส่วน 'งาน' [1] และเลือก “certadmin” จากเมนูแบบเลื่อนลง “ผู้ใช้” [2] -

จากแท็บ 'กำหนดการ' เลือก 'ดำเนินการในวันที่ต่อไปนี้' [1] และเลือก 'ทำซ้ำทุกเดือน' จากเมนูแบบเลื่อนลง 'ทำซ้ำ' [2] -

ไปที่แท็บ 'การตั้งค่างาน' พิมพ์คำสั่งต่อไปนี้ในส่วน 'สคริปต์ที่ผู้ใช้กำหนด' [1] และคลิกที่ “ตกลง” [2] -

/usr/local/share/acme.sh/acme.sh –ต่ออายุ –เซิร์ฟเวอร์อนุญาตให้เข้ารหัส -d “*.nodekite.com” –home /usr/local/share/acme.sh

ควรสร้างงานใหม่ งาน “ต่ออายุใบรับรอง SSL” จะทำงานทุกเดือนและตรวจสอบให้แน่ใจว่าใบรับรอง Let's Encrypt SSL ได้รับการต่ออายุก่อนที่จะหมดอายุ

บทสรุป

ในบทความนี้ เราได้แสดงวิธีติดตั้งและใช้ไคลเอนต์ ACME “acme.sh” เพื่อสร้างใบรับรอง Let's Encrypt SSL ผ่านทางความท้าทาย DNS-01 บน Synology NAS ของคุณ นอกจากนี้เรายังแสดงวิธีติดตั้งใบรับรอง Let's Encrypt SSL ที่สร้างขึ้นบน Synology NAS ของคุณและกำหนดค่าบริการเว็บของ Synology NAS ของคุณเพื่อใช้งาน สุดท้ายนี้ เราได้แสดงวิธีกำหนดค่างานที่กำหนดเวลาไว้บน Synology NAS ของคุณเพื่อต่ออายุใบรับรอง Let's Encrypt SSL โดยอัตโนมัติก่อนที่จะหมดอายุ

อ้างอิง: