มาเข้ารหัสใบรับรอง SSL: อะไร ทำไม และอย่างไร
เผยแพร่แล้ว: 2016-04-20ปัญหาที่ใหญ่ที่สุดประการหนึ่งของ WordPress คือมีความเสี่ยงที่จะถูกแฮ็กเกอร์และการโจมตี แต่ไม่ได้หมายความว่า WordPress นั้นไม่ปลอดภัยอย่างสมบูรณ์ อันที่จริง CMS มาพร้อมกับคุณสมบัติความปลอดภัยมากมาย นอกจากนี้ ผู้ใช้ WordPress ยังมีการแก้ไขและแก้ไขปัญหาด้านความปลอดภัยจำนวนมากบนพื้นฐานที่สอดคล้องกันเพื่อจัดการกับภัยคุกคามและช่องโหว่ด้านความปลอดภัย อย่างไรก็ตาม ความนิยมของ CMS คือสิ่งที่ทำให้มันตกเป็นเป้าหมายของแฮกเกอร์บ่อยครั้ง
แม้ว่าจะมีหลายวิธีที่สามารถช่วยรักษาไซต์ของคุณให้ได้รับการปกป้องจากช่องโหว่ต่างๆ แต่คุณอาจไม่ได้พิจารณาเพิ่มใบรับรอง SSL เพื่อรักษาความปลอดภัยให้กับไซต์ของคุณ ไม่น่าแปลกใจเลยที่คุณยังไม่ได้พิจารณาใช้ใบรับรอง SSL เมื่อพิจารณาจากข้อเท็จจริงที่ว่ามันอาจยุ่งยากและมีราคาแพง แต่สถานการณ์นี้ดูเหมือนจะเปลี่ยนไปด้วยการแนะนำผู้ออกใบรับรองโอเพนซอร์สที่เรียกว่า Let's Encrypt
ฉันจะพูดถึงว่า "Let's Encrypt" คืออะไร เหตุใดคุณจึงควรใช้ และช่วยในการติดตั้งใบรับรอง SSL ในส่วนหลังของไซต์ WordPress ได้อย่างไร
ทำความรู้จัก Let's Encrypt SSL Certificates: อะไรและทำไม
ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ในโพสต์นี้ Let's Encrypt เป็นผู้ออกใบรับรองโอเพ่นซอร์ส เปิดตัวโดย Internet Security Research Group (ISRG) Let's Encrypt สร้างขึ้นเพื่อวัตถุประสงค์เดียวในการมอบ ใบรับรอง SSL ฟรี แก่ผู้ใช้ และที่สำคัญช่วยทำให้ขั้นตอน การติดตั้งใบรับรองเป็นแบบอัตโนมัติ
หากคุณได้ลองตั้งค่าไซต์ WordPress ที่ปลอดภัยโดยใช้ใบรับรอง SSL คุณจะต้องรู้ว่าการได้รับใบรับรองที่ออกและบำรุงรักษานั้นยากเพียงใด แต่ Let's Encrypt ช่วยคุณขจัดความเจ็บปวดจากการติดตั้งใบรับรอง SSL โดยช่วยเจ้าของเว็บไซต์ในการเปิดและจัดการ HTTP โดยใช้คำสั่งง่ายๆ
Let's Encrypt เปิดให้บุคคลทั่วไปใช้ในรูปแบบของซอฟต์แวร์เบต้าที่มีข้อบกพร่องมากมาย ดังนั้น ขอแนะนำว่า คุณต้องทดสอบซอฟต์แวร์อย่างละเอียดก่อนใช้งานกับระบบที่ใช้งานจริง ผู้ออกใบรับรองโอเพนซอร์ส Let's Encrypt ได้รับการสนับสนุนจากบริษัทเฉพาะกลุ่ม เช่น Sucuri, Cisco, Mozilla, Automattic และอีกมากมาย สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ Let's Encrypt โปรดดูที่ลิงค์ https://letsencrypt.org/
ดังนั้น เมื่อคุณได้ทราบแล้วว่า Let's Encrypt คืออะไรและมีจุดประสงค์เพื่อแก้ปัญหาอะไร ให้ไปที่หัวข้อถัดไปเพื่อเรียนรู้ขั้นตอนการติดตั้งใบรับรอง SSL โดยใช้ Let's Encrypt
แต่ก่อนที่คุณจะเริ่ม
แน่นอน คุณต้องทำความคุ้นเคยกับข้อกำหนดพื้นฐานของเซิร์ฟเวอร์ก่อนที่จะเริ่มติดตั้งใบรับรอง SSL ตามเอกสารของ Let's Encrypt Client คุณต้องปฏิบัติตามข้อกำหนดของระบบต่อไปนี้เพื่อเรียกใช้ไคลเอ็นต์:
- ก่อนอื่นคุณต้องมี Unix-ish Oses รวมถึง Python 2.6 หรือ 2.7 เวอร์ชันสำหรับการรัน Let's Encrypt Client
- ประการที่สอง คุณต้องมีการเข้าถึงรูทเพื่อดำเนินการเขียน “/etc/letsencrypt”, “/var/log/letsencrypt”, “/var/lib/letsencrypt” ในกรณีที่คุณไม่สามารถเข้าถึงรูท คุณยังสามารถดำเนินการติดตั้งใบรับรองต่อไปได้โดยใช้ตัวเลือก เช่น 'sudo' หรือ 'yum'
- ตรวจสอบให้แน่ใจว่าผู้ให้บริการโฮสติ้งของคุณสามารถให้การเข้าถึง SSH แก่คุณได้
- นอกจากนี้ ให้ตรวจสอบว่าเวอร์ชันของเซิร์ฟเวอร์ PHP, Python และ Apache เป็นเวอร์ชันล่าสุดใน cPanel คุณสามารถตรวจสอบรายละเอียดเวอร์ชันของ PHP และ Apache โดยเข้าสู่ระบบ cPanel ของคุณและกดลิงก์ 'ข้อมูลเซิร์ฟเวอร์' ทางด้านซ้ายในเมนู:
ในทางกลับกัน หากต้องการดูเวอร์ชันของ Python คุณจะต้องลงชื่อเข้าใช้เว็บเซิร์ฟเวอร์โดยใช้คำสั่ง SSH โปรดจำไว้ว่ามีบางโฮสต์ที่มีแพ็คเกจ Let's Encrypt ติดตั้งอยู่บนเซิร์ฟเวอร์ของคุณแล้ว แต่ถ้าผู้ให้บริการโฮสต์ของคุณไม่มีแพ็คเกจดังกล่าว คุณก็สามารถติดตั้งมันได้ สำหรับสิ่งนี้ คุณจะต้องทำการติดตั้ง Git บนรูทของเซิร์ฟเวอร์ของคุณ
หมายเหตุ: สิ่งสำคัญประการหนึ่งที่ควรสังเกตคือ คุณจะต้องระงับเครือข่ายการจัดส่งเนื้อหา (aka CDN) ที่เปิดใช้งานสำหรับเว็บไซต์ WordPress ของคุณระหว่างการติดตั้ง Let's Encrypt ถ้าไม่เช่นนั้น คุณอาจพบข้อผิดพลาดหลายประการ นอกจากนี้ คุณต้องหยุดกระบวนการทั้งหมดที่ใช้พอร์ต '80' และ '443' เพื่อป้องกันข้อผิดพลาดขณะติดตั้งใบรับรอง
ดังนั้น เมื่อคุณมีความรอบรู้กับข้อกำหนดพื้นฐานของเซิร์ฟเวอร์ที่จำเป็นสำหรับการใช้งาน Let's Encrypt Client แล้ว มาดำเนินการต่อและทำความเข้าใจกระบวนการจริงที่คุณต้องปฏิบัติตามสำหรับการติดตั้งใบรับรอง SSL ที่ Let's Encrypt จัดเตรียมไว้ในไซต์ WordPress ของคุณ
วิธีการติดตั้ง Let's Encrypt SSL Certificate?
ในส่วนนี้ เราจะพูดถึงวิธีการติดตั้ง Let's Encrypt SSL Certificate ในไซต์ WP ของคุณให้เสร็จสมบูรณ์โดยใช้ขั้นตอนต่อไปนี้:
ขั้นตอนที่ 1: ติดตั้ง Let's Encrypt
ขั้นตอนนี้ใช้กับผู้ใช้ WordPress ที่ใช้เซิร์ฟเวอร์ที่มาพร้อมกับแพ็คเกจ Let's Encrypt ในตัว กล่าวโดยสรุป ถ้าแพ็คเกจสำหรับ Let's Encrypt ติดตั้งอยู่บนเซิร์ฟเวอร์ของคุณแล้ว ก็เพียงแค่ติดตั้งแพ็คเกจจากที่นั่น และใช้คำสั่งต่อไปนี้เพื่อเริ่มการติดตั้ง Let's Encrypt:
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto –help
คำสั่งแรกทำการเรียกแพ็คเกจ Let's Encrypt ที่ติดตั้งบนเซิร์ฟเวอร์ของคุณบน GitHub โดยใช้คำสั่ง Git คำสั่งที่สองแสดงไฟล์ Let's Encrypt ที่คุณจะติดตั้งโดยใช้คำสั่งแรก และสุดท้าย letsencrypt-auto ถูกใช้เพื่อทำการติดตั้ง Let's Encrypt ให้เสร็จสิ้น
ขั้นตอนที่ 2: การใช้ Let's Encrypt Client
คุณอาจเข้าใจขั้นตอนการติดตั้ง Let's Encrypt Client แล้ว แต่นั่นไม่ใช่จุดสิ้นสุดของเส้นทางสู่การติดตั้งใบรับรอง SSL แน่นอน คุณจะต้องเรียนรู้เกี่ยวกับวิธีการใช้ประโยชน์จากไคลเอนต์บนไซต์ของคุณ
ดังนั้น เมื่อคุณได้ติดตั้งไคลเอนต์แล้ว ขั้นตอนต่อไปของคุณควรคือการเรียกใช้ไคลเอนต์ Let's Encrypt และติดตั้งใบรับรอง SSL เพื่อตอบสนองความต้องการดังกล่าว ไคลเอนต์ Let's Encrypt อนุญาตให้ใช้ “ปลั๊กอิน” ที่แตกต่างกันมากมาย – ซึ่งพิสูจน์ได้ว่ามีประโยชน์ในการรับและ/หรือติดตั้งใบรับรอง SSL มาดูตัวเลือกบางอย่างที่สามารถช่วยคุณในการบรรลุความต้องการดังกล่าว:
- ในกรณีที่คุณเรียกใช้ Apache บนระบบปฏิบัติการที่ใช้ Debian เวอร์ชันล่าสุด คุณสามารถเลือกใช้ปลั๊กอิน Apache เพื่อติดตั้งใบรับรองได้ สิ่งที่ดีที่สุดเกี่ยวกับปลั๊กอิน Apache คือช่วยให้กระบวนการรับและติดตั้งใบรับรองเป็นไปโดยอัตโนมัติ:
letsencrypt –apache
- โปรดทราบว่าการติดตั้งอัตโนมัติยังไม่พร้อมใช้งานบนเซิร์ฟเวอร์ทั้งหมด ดังนั้น สำหรับการติดตั้งใบรับรองโดยใช้ปลั๊กอิน คุณจะต้องใช้คำสั่ง "certonly" ด้านล่างนี้ คุณจะพบตัวอย่างบางส่วนที่สาธิตวิธีการติดตั้งใบรับรองโดยใช้ปลั๊กอินและคำสั่ง certonly:
1) หากคุณใช้ไดเร็กทอรี webroot ของซอฟต์แวร์เว็บเซิร์ฟเวอร์ใด ๆ ในการรับใบรับรอง คุณจะต้องใช้ปลั๊กอิน "webroot":
letsencrypt certonly –webroot -w /var/www/yourwebsite -d yourwebsite.com -d www.yourwebsite.com -w /var/www/thing -d thing.is -d m.thing.is
คำสั่งข้างต้นจะช่วยในการรับใบรับรองเดียวสำหรับไซต์ yourwebsite.com, www.yourwebsite.com, thing.is และ m.thing.is; นอกจากนี้ คำสั่งจะวางไฟล์ไว้ด้านล่าง /var/www/yourwebsite เพื่อให้คุณสามารถควบคุมสองโดเมนแรกได้ และจะวางไฟล์ที่เหลือไว้ใต้ /var/www/thing
2) ถัดไป สำหรับการขอรับใบรับรองสำหรับเซิร์ฟเวอร์แบบสแตนด์อโลนสำหรับไซต์ yourwebsite.com และ www.yourwebsite.com ให้ใช้คำสั่งต่อไปนี้:
letsencrypt certonly –standalone -d yourwebsite.com -d www.yourwebsite.com
หมายเหตุ: เมื่อคุณจำเป็นต้องติดตั้งใบรับรอง สำหรับเซิร์ฟเวอร์แบบสแตนด์อโลน คุณจะต้องหยุดเว็บเซิร์ฟเวอร์ปัจจุบันของคุณ นอกจากนี้ อย่าลืมแทนที่ชื่อโดเมน 'yourwebsite' ที่ใช้ในบรรทัดโค้ดด้านบนด้วยชื่อโดเมนของเว็บไซต์ของคุณ
เอาท์พุท:
นี่คือตัวอย่างเว็บไซต์ที่ใช้ SSL:
ขั้นตอนที่ 3: การเพิกถอนใบรับรอง
สองขั้นตอนข้างต้นจะช่วยคุณติดตั้งใบรับรองบนไซต์ของคุณ แต่ในบางครั้ง คุณอาจต้องเพิกถอนใบรับรอง โดยเฉพาะอย่างยิ่งในกรณีที่เว็บไซต์ของคุณถูกแฮ็ก ในกรณีนั้น สิ่งที่คุณต้องการคือการใช้คำสั่งเดียว
ในกรณีที่คุณได้ติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ของคุณที่ติดตั้งแพ็คเกจ Let's Encrypt แล้ว เพียงใช้คำสั่งด้านล่างในไคลเอนต์ SSH ของคุณเพื่อเพิกถอนใบรับรอง:
letsencrypt เพิกถอน –cert-path yourwebsite-cert.pem
แต่ถ้าคุณต้องติดตั้งใบรับรองด้วยตัวเอง ให้ใช้คำสั่งต่อไปนี้ (แทนคำสั่งด้านบน):
letsencrypt-auto เพิกถอน –cert-path yourwebsite-cert.pem
สรุป
หากคุณประสบปัญหาในการติดตั้งใบรับรอง SSL ลงในไซต์ WordPress คุณต้องลองใช้ Let's Encrypt ก่อน เป็นซอฟต์แวร์ที่ยอดเยี่ยมที่ช่วยขจัดความเครียดที่เกี่ยวข้องกับการติดตั้งใบรับรอง SSL โดยทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติ เมื่อพูดถึงการติดตั้งใบรับรองผ่าน Let's Encrypt คุณจะพบปลั๊กอินหลายตัวที่ชุมชน Let's Encrypt จัดเตรียมไว้ให้เพื่อให้งานสำเร็จลุล่วงได้อย่างมีประสิทธิภาพ คุณสามารถค้นหารายการปลั๊กอินทั้งหมดที่ชุมชน Let's Encrypt เปิดให้ใช้งานบน GitHub
หากคุณตัดสินใจใช้ปลั๊กอิน โปรดใช้มาตรการรักษาความปลอดภัยและข้อควรระวังที่จำเป็นเพื่อหลีกเลี่ยงความปลอดภัยของไซต์ของคุณที่ถูกบุกรุก เนื่องจากคุณไม่สามารถรับประกันได้ว่าปลั๊กอินจะปลอดภัยหรือไม่
ชีวประวัติผู้แต่ง:
Sarah Parker เป็นนักพัฒนา HTML สำหรับ WordPress ใน D2H เธอมีประสบการณ์อย่างมากในการเขียนทางเทคนิคและการพัฒนาเว็บไซต์และธีม WP ต่างๆ เธอเป็นคนจู้จี้จุกจิกและอารมณ์ดี เธอยังชอบอ่านเกี่ยวกับสิ่งใหม่ๆ ใน WordPress