WordPress HTTPS, SSL & TLS – คู่มือสำหรับผู้ดูแลเว็บไซต์

เผยแพร่แล้ว: 2021-02-01

เมื่อคุณเยี่ยมชมเว็บไซต์ เบราว์เซอร์ของคุณ (หรือที่เรียกว่า ไคลเอนต์ ) จะส่ง คำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ เมื่อเว็บเซิร์ฟเวอร์ส่งการ ตอบสนอง HTTP เบราว์เซอร์จะสามารถแสดงหน้าไปยังหน้าจอของคุณได้ อย่างไรก็ตาม ทราฟฟิก HTTP มีปัญหา มันเป็นโปรโตคอลข้อความธรรมดา ทำให้เสี่ยงต่อการสอดแนมและเข้าไปยุ่งเกี่ยว

หากผู้โจมตีอยู่ในเครือข่ายเดียวกับคุณ พวกเขาสามารถสกัดกั้นและอ่านการรับส่งข้อมูล HTTP ของคุณได้ พวกเขาอาจแก้ไขทั้งคำขอของคุณไปยังเซิร์ฟเวอร์ รวมถึงการตอบกลับของเซิร์ฟเวอร์กลับมาหาคุณ สิ่งนี้เรียกว่าการโจมตีแบบ Man-in-the-Middle (MitM) สิ่งนี้สามารถเกิดขึ้นได้อย่างง่ายดายบน WiFi สาธารณะ เช่น ในล็อบบี้ของโรงแรมและพื้นที่สาธารณะ

นั่นคือเหตุผลที่เว็บไซต์ควรอยู่บน HTTPS ดังนั้นจึงไม่สามารถสกัดกั้นการรับส่งข้อมูลได้ บทความนี้อธิบายว่า HTTPS, SSL และ TLS คืออะไร นอกจากนี้ยังอธิบายวิธีที่คุณสามารถกำหนดค่าเว็บไซต์ WordPress ของคุณให้ทำงานบน HTTPS

สารบัญ

  • SSL และ TLS คืออะไร?
  • HTTPS คืออะไร?
    • HTTPS ทำงานอย่างไร
      • การจับมือกันของ TLS
      • กุญแจสาธารณะและส่วนตัว (คู่กุญแจ)
  • ฉันต้องการ HTTPS บนเว็บไซต์ WordPress ของฉันจริงหรือ
    • รับใบรับรอง HTTPS TLS (หรือที่เรียกว่าใบรับรอง SSL)
    • HTTPS บนโฮสติ้ง WordPress ที่แชร์และจัดการ
  • การกำหนดค่า WordPress HTTPS
    • การกำหนดค่าเว็บเซิร์ฟเวอร์
    • การกำหนดค่า WordPress URL เป็น HTTPS
    • การบังคับใช้ TLS บนแดชบอร์ด WordPress (เคล็ดลับโบนัส)
  • การเพิ่ม HTTP Strict Transport Security (HSTS)
    • การกำหนดค่า HSTS บนเว็บเซิร์ฟเวอร์
    • รหัส TLS
    • WordPress ของฉันทำงานบน HTTPS ปลอดภัยไหม

SSL และ TLS คืออะไร?

เมื่ออินเทอร์เน็ตเริ่มเติบโต เห็นได้ชัดว่าเราต้องการกลไกในการถ่ายโอนข้อมูลอย่างปลอดภัยระหว่างไคลเอนต์และเซิร์ฟเวอร์โดยไม่มีใครสามารถดักฟังหรือแก้ไขการรับส่งข้อมูล — ป้อน SSL หรือ Secure Socket Layer SSL เป็นโปรโตคอลความปลอดภัยทางอินเทอร์เน็ต พัฒนาขึ้นครั้งแรกโดย Netscape ในปี 2538 เพื่อแก้ปัญหานี้

โดยเฉพาะอย่างยิ่ง SSL มุ่งมั่นที่จะบรรลุสิ่งต่อไปนี้:

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

อย่างไรก็ตาม เมื่อเวลาผ่านไปนักวิจัยด้านความปลอดภัยได้ระบุปัญหาด้านความปลอดภัยจำนวนหนึ่งใน SSL ดังนั้น SSL จึงถูกแทนที่โดย TLS (โปรโตคอล Transport Layer Security) แม้ว่าความแตกต่างระหว่าง SSL และ TLS จะแตกต่างกันอย่างมาก แต่จุดประสงค์ของ TLS ก็ยังคงเหมือนเดิมเป็นส่วนใหญ่

หมายเหตุ: คุณอาจเห็นบ่อยครั้งที่ใช้ SSL เพื่ออ้างถึง TLS SSL เป็นโปรโตคอลดั้งเดิมและไม่ปลอดภัยในการใช้งานอีกต่อไป อย่างไรก็ตาม เนื่องจากความนิยม หลายคนยังคงใช้ SSL เป็นตัวย่อ แต่หมายถึง TLS

HTTPS คืออะไร?

HTTPS หรือ Hypertext Transfer Protocol Secure เป็นเวอร์ชันที่ปลอดภัยของโปรโตคอล HTTP HTTPS อาศัย Transport Layer Security (TLS) ซึ่งเป็นโปรโตคอลที่ได้รับการปรับปรุงและมีความปลอดภัยมากกว่าที่เคยใช้ Secure Socket Layer (SSL) TLS ให้การเข้ารหัส การตรวจสอบความถูกต้อง และความสมบูรณ์ของคำขอและการตอบกลับ HTTPS

คุณสามารถคิดว่า HTTPS เป็น HTTP (นั่นคือเวอร์ชันข้อความธรรมดาของโปรโตคอล) คำขอและการตอบสนองที่ส่งผ่านช่องสัญญาณ TLS ศัพท์เทคนิคสำหรับสิ่งนี้คือการ ห่อหุ้ม โปรดทราบว่า TLS อาจใช้เพื่อห่อหุ้มโปรโตคอลอื่นๆ ไม่ใช่แค่ HTTP

คุณสามารถระบุเว็บไซต์ที่ใช้ HTTPS ได้โดยดูที่ส่วนต้นของ URL (เริ่มต้นด้วย HTTPS) ในแถบการนำทางของเบราว์เซอร์หรือโดยแม่กุญแจสีเขียว หากคุณกำลังเรียกดูเว็บไซต์บน HTTP เบราว์เซอร์จะทำเครื่องหมายว่า ไม่ปลอดภัย

เว็บไซต์ HTTP ถูกทำเครื่องหมายว่าไม่ปลอดภัย

HTTPS ทำงานอย่างไร

เมื่อคุณขอหน้าเว็บโดยใช้ HTTPS เบราว์เซอร์และเว็บเซิร์ฟเวอร์ของคุณจะเริ่มกระบวนการที่เรียกว่า TLS handshake TLS handshake เป็นวิธีที่ลูกค้าและเซิร์ฟเวอร์ตัดสินใจว่าควรสื่อสารหรือไม่และอย่างไร ในระหว่างการแฮนด์เชค TLS ลูกค้าและเซิร์ฟเวอร์ทำสิ่งต่อไปนี้:

  • ตัดสินใจเกี่ยวกับเวอร์ชันของโปรโตคอล TLS ที่จะใช้ (TLS 1.0, 1.2, 1.3…),
  • ตกลงว่าจะใช้ชุดการเข้ารหัสใด (ชุดของอัลกอริธึมการเข้ารหัสที่ใช้ในการสร้างการสื่อสารที่ปลอดภัย) ที่จะใช้
  • ตรวจสอบตัวตนของเซิร์ฟเวอร์
  • สร้างคีย์การเข้ารหัสเพื่อใช้หลังจากการจับมือกันเสร็จสิ้น เพื่อที่จะสื่อสารได้อย่างปลอดภัย

การจับมือกันของ TLS

ในระหว่างการแฮนด์เชค TLS เซิร์ฟเวอร์จะส่งใบรับรองไปยังไคลเอ็นต์เพื่อให้ไคลเอ็นต์ตรวจสอบว่าสามารถรับรองความถูกต้องของเซิร์ฟเวอร์ได้ ใบรับรองคล้ายกับหนังสือเดินทาง — ออกโดยหน่วยงานกลางที่ เชื่อถือได้ ซึ่งเรียกว่าผู้ออกใบรับรอง (CA) ซึ่งกำหนดข้อมูลประจำตัวของเว็บไซต์อย่างอิสระซึ่งจะสามารถพิสูจน์ได้ต่อเบราว์เซอร์ของคุณ

กุญแจสาธารณะและส่วนตัว (คู่กุญแจ)

ใบรับรอง TLS (มักเรียกว่าใบรับรอง SSL) ที่เว็บเซิร์ฟเวอร์ส่งไปยังไคลเอ็นต์มี คีย์สาธารณะ คีย์สาธารณะ เป็นหนึ่งในสองคีย์พิเศษที่เรียกว่าคีย์ แพร์ คู่ กุญแจ ประกอบด้วยสองปุ่ม คีย์สาธารณะ และ คีย์ส่วนตัว แม้ว่า คีย์สาธารณะ จะถูกแชร์กับไคลเอ็นต์ คีย์ส่วนตัว จะถูกเก็บไว้เป็นความลับบนเซิร์ฟเวอร์และจะไม่เปิดเผย คู่ กุญแจ ถูกหลอมรวมเข้าด้วยกัน

คู่คีย์สาธารณะและคีย์ส่วนตัวมีความสัมพันธ์ที่น่าสนใจเป็นพิเศษ — โดยที่ไม่รู้ว่าคีย์ส่วนตัวของเซิร์ฟเวอร์ (นี่เป็นความลับและมีเพียงเซิร์ฟเวอร์เท่านั้นที่รู้) ลูกค้าสามารถ เข้ารหัส ข้อมูลโดยใช้คีย์ สาธารณะ ของเซิร์ฟเวอร์ ซึ่งเซิร์ฟเวอร์อาจ ถอดรหัส โดยใช้คีย์ ส่วนตัว .

หากฟังดูสับสน ให้คิดว่าสิ่งนี้เหมือนกับว่า "เซิร์ฟเวอร์" ส่ง "เบราว์เซอร์" ของคุณเป็นกระเป๋าเดินทางแบบเปิด (กุญแจสาธารณะ) ที่ป้องกันด้วยแม่กุญแจ เมื่อคุณวางของบางอย่างในกระเป๋าเดินทางและล็อคแม่กุญแจ เฉพาะ “เซิร์ฟเวอร์” ที่มี กุญแจแม่กุญแจ (กุญแจส่วนตัว) สามารถมองเห็นสิ่งที่อยู่ข้างใน

ฉันต้องการ HTTPS บนเว็บไซต์ WordPress ของฉัน จริง หรือ

ใช่. ไม่ว่าเว็บไซต์ของคุณจะให้บริการในรูปแบบใด (ไม่ว่าจะเป็นข้อมูลส่วนบุคคลที่สามารถระบุตัวตนได้ (PII) ข้อมูลผู้ถือบัตร หรือรูปภาพแมว) ไม่มีเหตุผล ใดเลยที่คุณไม่ควรให้บริการเว็บไซต์ของคุณผ่าน HTTPS

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

นอกจากประโยชน์ด้านความปลอดภัยและประสบการณ์ผู้ใช้ที่ดีขึ้นแล้ว โปรโตคอล HTTP/2 ใหม่ซึ่งให้ประโยชน์ด้านประสิทธิภาพหลายประการไม่สามารถใช้งานได้หากไม่มี TLS ภายในเว็บเบราว์เซอร์ นอกจากนี้ HTTPS ยังมีประโยชน์ในการเพิ่มประสิทธิภาพกลไกค้นหา (SEO) และเป็นส่วนหนึ่งของอัลกอริทึมการจัดอันดับการค้นหาของ Google

รับใบรับรอง HTTPS TLS (หรือที่เรียกว่าใบรับรอง SSL)

ในการตั้งค่า HTTPS คุณจะต้องมีใบรับรอง TLS หากคุณตั้งค่าทุกอย่างด้วยตัวเอง แม้ว่าคุณจะเห็นข้อเสนอใบรับรอง TLS แบบชำระเงินหลายสิบรายการ คุณสามารถรับใบรับรอง TLS ฟรีจากผู้ออกใบรับรองที่ไม่แสวงหากำไรที่ชื่อ Let's Encrypt ไม่มีอะไรแตกต่างไปจากใบรับรองที่คุณได้รับจาก Let's Encrypt ฟรีและใบรับรองที่คุณจ่ายไป

HTTPS บนโฮสติ้ง WordPress ที่แชร์และจัดการ

โปรดทราบว่าสำหรับโซลูชันโฮสติ้งที่มีการจัดการหรือที่ใช้ร่วมกัน ผู้ให้บริการโฮสติ้งของคุณอาจเรียกเก็บเงินหรือไม่ก็ได้สำหรับการเพิ่ม HTTPS — หากเป็นกรณีนี้ ก่อนจ่ายเงินสำหรับใบรับรอง โปรดสอบถามฝ่ายสนับสนุนลูกค้าว่าคุณสามารถใช้ใบรับรอง Let's Encrypt กับพวกเขาได้หรือไม่ บริการแทน. ฟอรัมชุมชน Let's Encrypt เป็นแหล่งข้อมูลที่ดีที่อาจช่วยคุณได้

การกำหนดค่า WordPress HTTPS (บังคับใช้ TLS ทั่วทั้งไซต์ WordPress ของคุณ)

มีสองสามวิธีในการบังคับใช้ TLS ในเว็บไซต์ WordPress ของคุณ ขึ้นอยู่กับการตั้งค่าของคุณ ในกรณีส่วนใหญ่ คุณจะกำหนดค่าเว็บเซิร์ฟเวอร์ของคุณให้เปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ทั้งหมดไปยัง HTTPS (ดูที่ตัวสร้างการกำหนดค่า SSL ของ Mozilla

คุณต้องกำหนดค่า WordPress เพื่อฟังบน HTTPS คุณสามารถทำได้ด้วยปลั๊กอิน เช่น Really Simple SSL หรือ WP force SSL ในตัวอย่างนี้ เราจะมาดูวิธีการทำโดยไม่ต้องใช้ปลั๊กอินเพิ่มเติม

การกำหนดค่าเว็บเซิร์ฟเวอร์

หัวขึ้น

  • โปรดใช้ความระมัดระวังในการคัดลอก/วางการกำหนดค่าเว็บเซิร์ฟเวอร์ และตรวจสอบให้แน่ใจว่าคุณรู้ว่าพวกเขากำลังทำอะไรอยู่โดยศึกษาจากเอกสารประกอบของเว็บเซิร์ฟเวอร์ของคุณ
  • คุณอาจพบตัวอย่างมากมายทางออนไลน์โดยใช้ %{HTTP_HOST} (เซิร์ฟเวอร์ Apache HTTP) หรือ $http_host (Nginx) ซึ่งทั้งสองอย่างนี้อาจทำให้เว็บไซต์ของคุณอ่อนไหวต่อการโจมตีส่วนหัวของโฮสต์ HTTP แทน ให้พิมพ์ชื่อโฮสต์ของคุณในการกำหนดค่าตามที่เห็น ด้านล่าง.

หากคุณกำลังใช้ Nginx คุณสามารถกำหนดค่าต่อไปนี้:

server {
  listen 80;
  server_name example.com www.example.com;
  return 301 https://example.com$request_uri;
}

หรือหากคุณใช้ Apache HTTP Server คุณสามารถกำหนดค่าต่อไปนี้:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [L,R=301]
<IfModule>

การกำหนดค่า WordPress URL เป็น HTTPS

เมื่อคุณเปิดใช้งาน HTTPS บนเว็บเซิร์ฟเวอร์แล้ว คุณจะต้องตั้งค่า WordPress ด้วย ตามทฤษฎีแล้ว คุณสามารถทำได้ด้วยตนเอง: เพียงเปลี่ยนที่อยู่ WordPress และที่อยู่เว็บไซต์ในการตั้งค่าทั่วไปของ WordPress คุณต้องทำการค้นหาและแทนที่ในฐานข้อมูลเพื่อเปลี่ยนลิงก์เว็บไซต์ของคุณทั้งหมดจาก HTTP เป็น HTTPS

[ภาพหน้าจอ]

เป็นไปได้มากว่าการใช้ปลั๊กอินเพื่อเปลี่ยนเว็บไซต์ WordPress ของคุณเป็น HTTPS อาจง่ายกว่ามาก คุณสามารถใช้ปลั๊กอินยอดนิยมอย่าง Really Simple SSL เพื่อช่วยคุณตลอดกระบวนการ

การบังคับใช้ TLS บนแดชบอร์ด WordPress

TLS จะมีประโยชน์ก็ต่อเมื่อมีการใช้ TLS เท่านั้น ดังนั้น คุณต้องแน่ใจว่าไซต์ WordPress ของคุณไม่เพียงแค่รองรับ TLS เท่านั้น แต่ยังบังคับใช้ด้วย เนื่องจากต้องเข้าถึงแดชบอร์ดของ WordPress ผ่าน HTTPS เสมอ WordPress จึงมีตัวเลือกการกำหนดค่าพิเศษ FORCE_SSL_ADMIN ซึ่งสามารถตั้งค่าเป็นจริงได้ใน wp-config.php

define('FORCE_SSL_ADMIN', true);

หัวขึ้น

  • ขึ้นอยู่กับการตั้งค่าและการกำหนดค่าเว็บไซต์ของคุณ (โดยเฉพาะหากคุณใช้ reverse-proxy) สิ่งนี้อาจทำให้คำขอไปยังแดชบอร์ด WordPress ของคุณเพื่อเข้าสู่การวนรอบการเปลี่ยนเส้นทางที่ไม่มีที่สิ้นสุด สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีแก้ไขปัญหานี้ โปรดดูเอกสารประกอบของ WordPress และทดสอบการเปลี่ยนแปลงของคุณในสภาพแวดล้อมการจัดเตรียมก่อนเริ่มใช้งานจริง
  • นอกจากนี้ ตรวจสอบให้แน่ใจว่าคุณได้กำหนดค่า TLS แล้วและทำงานอย่างถูกต้องก่อนที่จะตั้งค่า FORCE_SSL_ADMIN เป็นจริง

เคล็ดลับโบนัส 1: การเพิ่ม HTTP Strict Transport Security (HSTS)

แม้ว่าการเปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดของคุณไปยัง HTTPS เป็นการเคลื่อนไหวที่ดี แต่น่าเสียดายที่ผู้โจมตีอาจมีกลอุบายเล็กน้อย การโจมตีที่เรียกว่าแถบ SSL จะทำให้ผู้โจมตีหลอกให้เบราว์เซอร์เรียกดูไซต์ใน HTTP แทนการใช้ HTTPS ที่ปลอดภัย เอาชนะการทำงานหนักของคุณโดยสิ้นเชิง

สำหรับรายละเอียดเพิ่มเติม (ทางเทคนิคขั้นสูง) เกี่ยวกับการโจมตีแถบ SSL โปรดดูการพูดคุยของ Moxie Marlinspike ด้านล่าง

ด้วยเหตุนี้ เบราว์เซอร์จึงใช้ HTTP Strict Transport Security หรือ HSTS HSTS ไม่ได้เป็นเพียงส่วนหัว HTTP ธรรมดาที่บอกเบราว์เซอร์ว่าไม่ควรเข้าถึงเว็บไซต์นี้ผ่าน HTTP ซึ่งเอาชนะการโจมตีแถบ SSL ใดๆ

การกำหนดค่า HSTS บนเว็บเซิร์ฟเวอร์

หัวขึ้น

  • อย่าเปิดใช้งาน HSTS จนกว่าคุณจะมั่นใจใน HTTPS — ผู้เยี่ยมชมที่ได้รับส่วนหัว HTTP นี้จะสามารถดูเว็บไซต์ของคุณผ่าน HTTPS เท่านั้น
  • ตั้งค่าแอตทริบิวต์อายุสูงสุด เสมอ — หรือคุณอาจเลือกที่จะตั้งค่าต่ำในครั้งแรกที่คุณปรับใช้ HSTS (เพื่อจำกัดปัญหาที่อาจเกิดขึ้น) และเพิ่มเมื่อคุณมั่นใจมากขึ้นในการใช้ HSTS

หากคุณกำลังใช้ Nginx คุณสามารถกำหนดค่าต่อไปนี้ภายในบล็อกเซิร์ฟเวอร์ที่รับฟังพอร์ต 443:

# HSTS (ngx_http_headers_module is required) (63072000 seconds)
add_header Strict-Transport-Security "max-age=63072000" always;

หรือถ้าคุณใช้ Apache HTTP Server คุณสามารถกำหนดค่าสิ่งต่อไปนี้ภายใน VirtualHost ของคุณกำลังฟังบนพอร์ต 443:

# HTTP Strict Transport Security (mod_headers is required) 
(63072000 seconds)
Header always set Strict-Transport-Security "max-age=63072000"

เคล็ดลับโบนัส 2: การกำหนดค่า TLS Ciphers

เพื่อให้แน่ใจว่าการถ่ายโอนข้อมูลระหว่างเบราว์เซอร์และเซิร์ฟเวอร์มีความปลอดภัย ทั้งสองฝ่ายตกลงที่จะใช้สิ่งที่เรียกว่าชุดการเข้ารหัส ซึ่งเป็นการรวมกันของอัลกอริธึมการพิสูจน์ตัวตน การเข้ารหัส และรหัสตรวจสอบข้อความ (MAC) เพื่อเจรจาการตั้งค่าความปลอดภัย ตลอดจนการถ่ายโอนข้อมูลอย่างปลอดภัย

น่าเสียดายที่การเข้ารหัสแบบเดิมจำนวนมากมีช่องโหว่ด้านความปลอดภัยและไม่ปลอดภัยสำหรับการใช้งานอีกต่อไป ในขณะที่ตัดสินใจว่าจะใช้รหัสลับใดเป็นธุรกิจที่ยุ่งยาก Mozilla SSL Configuration Generator ทำให้การเลือกชุดการเข้ารหัส TLS ที่เหมาะสมกับความต้องการของคุณเป็นเรื่องง่าย หากเป็นไปได้ ลองใช้โปรไฟล์ที่ทันสมัยหรือปานกลาง อย่างไรก็ตาม ขึ้นอยู่กับกรณีการใช้งานของคุณ โดยเฉพาะอย่างยิ่งหากคุณต้องการสนับสนุนเบราว์เซอร์รุ่นเก่าหรือปฏิบัติตามข้อกำหนดและข้อกำหนด คุณอาจต้องใช้การกำหนดค่าชุดการเข้ารหัสที่แตกต่างกันเล็กน้อย

หากคุณใช้ Nginx คุณสามารถกำหนดค่าการเข้ารหัส TLS ต่อไปนี้ได้ (ตามโปรไฟล์ระดับกลางของ Mozilla SSL Configuration Generator):

 # intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES25
6-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDH
E-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

หรือหากคุณใช้ Apache HTTP Server คุณต้องกำหนดค่าการเข้ารหัส TLS ต่อไปนี้ (ตามโปรไฟล์กลางของ Mozilla SSL Configuration Generator):

# intermediate configuration
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

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

WordPress ของฉันทำงานบน HTTPS ปลอดภัยไหม

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

HTTPS เป็นเพียงส่วนเล็กๆ ของการรักษาความปลอดภัย WordPress: ช่วยให้ผู้เยี่ยมชมสามารถเรียกดูเว็บไซต์ของคุณผ่านการ เชื่อมต่อที่ปลอดภัย อย่างไรก็ตาม มันไม่ได้ปกป้องเว็บไซต์ของคุณเหมือนกับไฟร์วอลล์ของ WordPress หรือทำให้มีความปลอดภัยมากขึ้น ไม่ได้หมายความว่ามีความปลอดภัยมากกว่าเว็บไซต์ที่ทำงานบน HTTP เช่นกัน เช่นเดียวกับการป้องกันความปลอดภัยอื่นๆ HTTPS ช่วยแก้ปัญหา บางส่วน

กล่าวอีกนัยหนึ่ง ในขณะที่คุณควรใช้และบังคับใช้ HTTPS อย่างแน่นอน ไม่ได้หมายความว่าคุณสามารถพักผ่อนได้อย่างสบายใจและไม่ต้องกังวลเรื่องความปลอดภัยอีกต่อไป คุณยังควร:

  • เพิ่มการตรวจสอบสิทธิ์แบบสองปัจจัย
  • ติดตั้งปลั๊กอินตรวจสอบความสมบูรณ์ของไฟล์
  • บังคับใช้นโยบายรหัสผ่าน WordPress ที่รัดกุม
  • เก็บบันทึกกิจกรรมของ WordPress เป็นบันทึกการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นบนเว็บไซต์ของคุณ
  • ใช้ไฟร์วอลล์ที่ดี