14 KiB
คู่มือการต่ออายุ Wildcard Certificate
โรงเรียนสาธิตจุฬาลงกรณ์มหาวิทยาลัย ฝ่ายมัธยม
คู่มือปฏิบัติการ IT
ภาพรวม
คู่มือนี้ให้คำแนะนำทีละขั้นตอนสำหรับการต่ออายุ wildcard certificate ประจำปีที่ใช้ในโครงสร้างเครือข่ายของโรงเรียน Certificate นี้ต้องต่ออายุทุกปีและต้องติดตั้งในสองตำแหน่งที่สำคัญ
ข้อมูล Certificate
- ผู้ให้บริการ: https://www.hostneverdie.com/
- วันหมดอายุปัจจุบัน: 21 พฤศจิกายน 2025
- กำหนดการต่ออายุ: ทุกปี (ขึ้นอยู่กับเวลาที่ทำการต่ออายุ)
- ประเภท Certificate: Wildcard SSL Certificate
ข้อกำหนดเบื้องต้น
- สิทธิ์ผู้ดูแลระบบในการเข้าถึง FortiGate (10.0.98.1)
- สิทธิ์ SSH/ผู้ดูแลระบบในการเข้าถึง Reverse Proxy server (10.3.2.10)
- ไฟล์ certificate ใหม่ (.crt และ .key) ที่ได้จาก hostneverdie.com
ส่วนที่ 1: การจัดหา Certificate
ขั้นตอนที่ 1: รับ Certificate ใหม่จากผู้ให้บริการ
- ติดต่อผู้ให้บริการ hostneverdie.com เพื่อขอต่ออายุ certificate
- รอรับไฟล์ certificate ใหม่ทางอีเมล์:
- ไฟล์ Certificate (.crt)
- ไฟล์ Private key (.key)
ขั้นตอนที่ 2: ตรวจสอบไฟล์ Certificate
- ตรวจสอบให้แน่ใจว่าคุณมีทั้งสองไฟล์:
domain.crt
(ไฟล์ certificate)domain.key
(ไฟล์ private key)
- จดบันทึกวันหมดอายุใหม่สำหรับเอกสาร
ส่วนที่ 2: การติดตั้งใน FortiGate (10.0.98.1)
ขั้นตอนที่ 3: เข้าถึง FortiGate Management Interface
- เปิดเว็บเบราว์เซอร์และไปที่:
https://10.0.98.1
- เข้าสู่ระบบด้วยข้อมูลประจำตัวผู้ดูแลระบบ
- ตรวจสอบให้แน่ใจว่าคุณอยู่ใน root VDOM (ตรวจสอบมุมบนขวา)
ขั้นตอนที่ 4: นำเข้า Certificate ใหม่
- ไปที่ System → Certificates
- คลิกปุ่ม Create/Import
- เลือก Certificate จาก dropdown
-
เลือก Import Certificate
-
ใน Certificate import dialog:
- คลิก Browse ข้างช่อง Certificate
- เลือกไฟล์
.crt
ของคุณ - คลิก Browse ข้างช่อง Private Key
- เลือกไฟล์
.key
ของคุณ
- คลิก Create เพื่อนำเข้า certificate
ขั้นตอนที่ 5: อัปเดต Authentication Settings
-
ไปที่ User & Authentication → Authentication Settings
-
ในส่วน Certificate เลือก certificate ที่เพิ่งนำเข้ามา
- คลิก Apply เพื่อบันทึกการเปลี่ยนแปลง
ขั้นตอนที่ 6: อัปเดต SSL/SSH Inspection Profile
⚠️ สำคัญ: ลบ certificate เก่าออกก่อนที่จะเพิ่ม certificate ใหม่
-
ไปที่ Security Profiles → SSL/SSH Inspection
-
ค้นหาและแก้ไข profile "reverse-proxy"
- ในส่วน Server Certificate:
- ขั้นแรก: ลบ certificate เก่าโดยคลิกปุ่ม X หรือ Remove
- จากนั้น: เลือก certificate ที่เพิ่งนำเข้ามา
- คลิก OK เพื่อบันทึกการเปลี่ยนแปลงของ profile
ส่วนที่ 3: การติดตั้งใน Reverse Proxy (10.3.2.10)
ขั้นตอนที่ 7: เข้าถึง Reverse Proxy Server
-
เชื่อมต่อไปยัง reverse proxy server ผ่าน SSH:
ssh cud@10.3.2.10
-
ไปยัง certificate directory:
cd /etc/nginx/certs/
ขั้นตอนที่ 8: สำรองข้อมูล Certificate ที่มีอยู่
-
สร้างการสำรองข้อมูลของ certificate ปัจจุบัน:
sudo cp satitm.crt satitm.crt.backup.$(date +%Y%m%d) sudo cp satitm.key satitm.key.backup.$(date +%Y%m%d)
-
แสดงรายการไฟล์เพื่อตรวจสอบการสร้างข้อมูลสำรอง:
ls -la
ขั้นตอนที่ 8: อัปโหลดไฟล์ Certificate ด้วย WinSCP
-
ดาวน์โหลดและติดตั้ง WinSCP จาก https://winscp.net/eng/downloads.php (หากยังไม่ได้ติดตั้ง)
-
เปิดโปรแกรม WinSCP
- สร้างการเชื่อมต่อใหม่:
- Host name: 10.3.2.10
- User name: cud
- Password: [รหัสผ่าน]
- Port: 22
-
คลิก Login เพื่อเชื่อมต่อ
-
หากเป็นการเชื่อมต่อครั้งแรก จะมีป๊อปอัปขอยืนยัน SSH key คลิก Accept เพื่อยอมรับ (ขั้นตอนนี้เป็นทางเลือก)
-
ในหน้าต่าง WinSCP:
- ด้านซ้าย: ไฟล์ในเครื่อง Windows ของคุณ
- ด้านขวา: ไฟล์ในเซิร์ฟเวอร์ Linux
-
นำทางไปยังโฟลเดอร์ที่มีไฟล์ certificate ใหม่ (ด้านซ้าย)
-
นำทางไปยังโฟลเดอร์ home directory เช่น
/home/cud/
(ด้านขวา) -
ลากไฟล์ certificate (.crt) และ private key (.key) จากด้านซ้ายไปด้านขวา
-
ตรวจสอบว่าไฟล์ถูกอัปโหลดสำเร็จแล้ว
ขั้นตอนที่ 9: ติดตั้งไฟล์ Certificate ใหม่
-
คัดลอกไฟล์ certificate จาก
/home/cud/
ไปยังตำแหน่งที่ถูกต้อง:หมายเหตุ: ชื่อไฟล์ที่คุณได้รับอาจแตกต่างกัน เพื่อความสะดวกในการคัดลอกคำสั่ง ควรเปลี่ยนชื่อไฟล์ให้เป็น
certificate.crt
และprivate.key
ก่อนsudo cp /home/cud/certificate.crt /etc/nginx/certs/satitm.crt sudo cp /home/cud/private.key /etc/nginx/certs/satitm.key
-
กำหนดสิทธิ์ที่ถูกต้อง:
sudo chmod 644 /etc/nginx/certs/satitm.crt sudo chmod 600 /etc/nginx/certs/satitm.key sudo chown root:root /etc/nginx/certs/satitm.*
ขั้นตอนที่ 10: รีสตาร์ท Nginx Service
-
ทดสอบการกำหนดค่า Nginx:
sudo nginx -t
ผลลัพธ์ที่คาดหวัง:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
-
หากการทดสอบการกำหนดค่าผ่าน ให้รีสตาร์ท Nginx:
sudo service nginx restart
-
ตรวจสอบว่า Nginx กำลังทำงาน:
sudo service nginx status
ผลลัพธ์ที่คาดหวัง (ดูที่บรรทัด Active):
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2025-08-27 06:04:11 UTC; 4 days ago Docs: man:nginx(8) Main PID: 11527 (nginx) Tasks: 49 (limit: 4548) Memory: 129.1M
สำคัญ: ตรวจสอบให้แน่ใจว่าบรรทัด "Active" แสดงสถานะ "active (running)"
ส่วนที่ 4: การตรวจสอบและทดสอบ
ขั้นตอนที่ 11: ตรวจสอบการติดตั้ง Certificate
-
ทดสอบ FortiGate Certificate:
- เข้าถึง web interface ของ FortiGate
- ตรวจสอบว่าเบราว์เซอร์แสดง certificate ที่ถูกต้อง
- ตรวจสอบวันหมดอายุในรายละเอียด certificate ของเบราว์เซอร์
-
ทดสอบ Reverse Proxy Certificate:
- เข้าถึงบริการผ่าน reverse proxy
- ตรวจสอบ SSL certificate ในเบราว์เซอร์
- ตรวจสอบรายละเอียด certificate สำหรับวันหมดอายุที่ถูกต้อง
ขั้นตอนที่ 12: อัปเดตเอกสาร
- บันทึกวันหมดอายุ certificate ใหม่
- อัปเดตระบบตรวจสอบ/ติดตาม certificate
- ตั้งการแจ้งเตือนในปฏิทินสำหรับการต่ออายุปีหน้า (แนะนำ 30-60 วันก่อนหมดอายุ)
การแก้ไขปัญหา
ปัญหาที่พบบ่อย
การนำเข้า Certificate ใน FortiGate ล้มเหลว
- ตรวจสอบรูปแบบไฟล์ certificate และ key
- ตรวจสอบให้แน่ใจว่าคุณอยู่ใน root VDOM
- ตรวจสอบว่า certificate และ private key ตรงกัน
Nginx ไม่สามารถเริ่มต้นหลังจากติดตั้ง Certificate
- รัน
sudo nginx -t
เพื่อตรวจสอบ syntax ของการกำหนดค่า - ตรวจสอบสิทธิ์ไฟล์ certificate (644 สำหรับ .crt, 600 สำหรับ .key)
- ตรวจสอบว่าไฟล์ certificate ไม่เสียหาย
Certificate แสดงเป็น Invalid ในเบราว์เซอร์
- ตรวจสอบว่าการติดตั้ง certificate สำเร็จแล้ว
- ล้าง cache และ cookies ของเบราว์เซอร์
- ตรวจสอบวันหมดอายุและระยะเวลาที่ certificate ใช้ได้
การคืนค่าในกรณีฉุกเฉิน
หากเกิดปัญหาหลังจากการติดตั้ง certificate:
การคืนค่า FortiGate:
- เปลี่ยนกลับไปใช้ certificate ก่อนหน้าใน SSL/SSH Inspection profile
- อัปเดต Authentication Settings เพื่อใช้ certificate ก่อนหน้า
การคืนค่า Reverse Proxy:
- กู้คืน certificate สำรอง:
sudo cp satitm.crt.backup.YYYYMMDD satitm.crt sudo cp satitm.key.backup.YYYYMMDD satitm.key
- รีสตาร์ท Nginx:
sudo service nginx restart
ข้อมูลการติดต่อ
สำหรับความช่วยเหลือในการต่ออายุ certificate:
- ผู้ให้บริการ Certificate: https://www.hostneverdie.com/
- ติดต่อฉุกเฉิน: ศิวัช ศิริชัย 086-789-5193
เวอร์ชันเอกสาร: 1.0
อัปเดตล่าสุด: 31 สิงหาคม 2025
ทบทวนครั้งต่อไป: 31 สิงหาคม 2026