เว็บไซต์ของคุณช้าลงและทรัฟฟิกลดลงโดยไม่มีเหตุผล? เว็บไซต์ของคุณแสดงโฆษณาที่ไม่พึงประสงค์? เห็นโป๊ปอัพที่คุณไม่ได้ใส่? คุณอาจต้องการ X-XSS-protection ใน WordPress
นี่อาจเป็นผลของการโจมตี XSS บนเว็บไซต์ WordPress ของคุณ การโจมตีเหล่านี้ค่อนข้างพบได้บ่อย แต่มีผลกระทบที่ร้ายแรง
CVE Details บันทึกการโจมตี XSS ระดับใหญ่ 9,903 ครั้งตั้งแต่ปี 2009 แตไม่มีใครรู้ว่ามีการโจมตีกี่ครั้งที่ไม่ได้รายงาน
แฮ็กเกอร์ใช้ช่องโหว่ XSS เพื่อขโมยข้อมูล แสดงโฆษณาของตัวเอง (มักเป็นยาเสพติดหรือเนื้อหาผู้ใหญ่) ลừาลูกค้าของคุณ รวมถึงรายการกิจกรรมอันตรายยาวนาน
แตคุณไม่ต้องกังวล เพราะมีวิธีปกป้องเว็บไซต์ของคุณต่อต้าน XSS ได้ง่าย วันนี้ เราจะดูวิธีเพิ่ม Heder การตอบสนอง X-XSS ใน WordPress เพราะมันจะบล็อกการพยายาม XSS อย่างบังคับ
คุณจะได้เรียนรู้ว่าหัวข้อการตอบสนองเหล่านี้คืออะไร และวิธีนำไปใช้ หลังจากนั้น เราจะให้คุณเคล็ดลับความปลอดภัย WordPress อีกนิดหน่อย เพื่อทำให้เว็บไซต์ WordPress ของคุณแข็งแกร่งต่อต้าน XSS และการโจมตีอื่นๆ!
TL;DR: ปกป้องเว็บไซต์ WordPress ของคุณจากการโจมตี XSS และมัลแวร์ทุกรูปแบบด้วยโซลูชันความปลอดภัยครบวงจร MalCare ติดตั้งปลั๊กอินบนเว็บไซต์ WordPress และนั่งใจได้ว่าเว็บไซต์ของคุณถูกติดตามและสแกนเป็นประจำเพื่อปกป้องต่อต้านการโจมตีอันตรายใดๆ
XSS (Cross-Site Scripting) ใน WordPress คืออะไร?
Cross-site scripting (XSS) เป็นประเภทของการโจมตีแบบฉีดรหัส (Injection Attack) ที่แฮ็กเกอร์ใช้ประโยชน์จากช่องโหว่ด้านความปลอดภัยที่เริ่มต้นจากข้อมูลนำเข้า (User Inputs) บนเว็บไซต์ ข้อมูลนำเข้าของผู้ใช้ อาจเป็นพื้นที่ใดๆ ที่ยอมรับข้อมูลจากผู้ใช้เว็บไซต์ เช่น แถบค้นหาเว็บไซต์ ส่วนความคิดเห็น ฟอร์มติดต่อ หรือช่องล็อกอิน
พวกเขาเอาเปรียบจากประเภทข้อมูลที่ผู้ใช้สามารถป้อนเข้าไปในฟิลด์เหล่านี้ได้หลายวิธี ดังนั้น จึงมีประเภทการโจมตี Cross-site scripting หลายประเภท ที่นี่ เราจะรายละเอียด 2 ประเภทการโจมตี XSS ที่พบบ่อยที่สุด:
การโจมตี XSS แบบจัดเก็บ (Stored Or Persistent XSS Attack)
ประเภทการโจมตีนี้เป้าหมายผู้เยี่ยมชมของเว็บไซต์ มาดูว่ามันเกิดขึ้นอย่างไร
สมมติว่า examplesite.com ยอมรับข้อมูลนำเข้าบนเว็บไซต์ในรูปแบบความคิดเห็นบนโพสต์บล็อก ผู้เยี่ยมชมสามารถแชร์ความคิดและถามคำถามโดยการทิ้งความคิดเห็นบนโพสต์ หลังจากส่งความคิดเห็นแล้ว มันจะถูกส่งไปยังฐานข้อมูลและจัดเก็บ
โดยปกติ ฟิลด์ความคิดเห็นนี้ควรมีการตั้งค่าเพื่อตรวจสอบข้อมูลก่อนส่งไปยังฐานข้อมูล
แต่หากการตั้งค่าไม่ถูกต้อง มันจะไม่สามารถแยกแยะระหว่างความคิดเห็นข้อความทั่วไปและบรรทัดโค้ดได้
ดังนั้น สมมติว่าแฮ็กเกอร์ค้นพบว่าส่วนความคิดเห็นของเว็บไซต์นี้ยอมรับอินพุตใดๆ พวกเขาสามารถป้อนโค้ด JavaScript ได้ แตเอาต์พุทจะดูเหมือนความคิดเห็นทั่วไป
สิ่งที่เจ้าของเว็บไซต์อาจไม่สังเกตคือ แฮ็กเกอร์สามารถใส่ปุ่ม "Click me" ได้เช่นกัน ซึ่งในทางที่ถูกต้องไม่ควรอนุญาต
ต่อมา ผู้เยี่ยมชมทั่วไป (เป้าหมาย) ของเว็บไซต์มาถึงหน้านี้ หากผู้ใช้คลิกที่ปุ่ม โค้ดอันตรายจะทำงานและติดเชื้อเบราว์เซอร์ของผู้เยี่ยมชม แฮ็กเกอร์จะสามารถดึงข้อมูลจากคุกกี้เบราว์เซอร์ของผู้เยี่ยมชมได้
คุกกี้จัดเก็บข้อมูลหลากหลาย เช่น ข้อมูลประจำตัวล็อกอินที่บันทึกไว้ ข้อมูลบัตรเครดิต หรือข้อมูลส่วนตัว เมื่อคุณล็อกอินเข้าสู่เว็บไซต์ คุณจะเห็นป๊อปอัพแบบนี้ ถามว่าคุณต้องการให้เบราว์เซอร์จดจำรหัสผ่านหรือไม่:
ตอนนี้ ผู้ใช้ทั่วไป (เป้าหมาย) มักจะมีแท็บเปิดหลายแท็บบนเบราว์เซอร์ เช่น Facebook, อีเมล, เว็บช้อปปิ้ง, เว็บงาน, YouTube เป็นต้น หากแฮ็กเกอร์สามารถรันการโจมตี XSS ได้ พวกเขาจะขโมยคุกกี้ของทุกเว็บไซต์ที่เปิดอยู่บนเบราว์เซอร์ นี่คือเหตุผลที่เรียกว่า 'cross-site' (ข้ามเว็บไซต์) พวกเขาใช้ข้อมูลนี้เพื่อหลอกลวงลูกค้าหรือรันการโจมตีใหญ่กว่า
แม้การโจมตีนี้ไม่ส่งผลต่อเว็บไซต์ของคุณโดยตรง แตมีผลกระทบรุนแรง มันทำให้ผู้เยี่ยมชมทุกคนของคุณอยู่ในอันตราย นอกจากนี้ Google จะเร่งใส่เว็บไซต์ของคุณในรายชื่อดำ และโฮสต์เว็บจะระงับบัญชีโฮสติ้งของคุณ
การโจมตี XSS แบบสะท้อน (Reflective Or Non-Persistent XSS Attack)
ในการโจมตีนี้ แฮ็กเกอร์เป้าหมายเว็บไซต์เองเพื่อเข้าถึง มาแสดงวิธีการทำงาน:
สมมติว่าเว็บไซต์ของคุณมีแท็บค้นหา ที่ลูกค้าสามารถค้นหาสิ่งที่ต้องการได้อย่างรวดเร็ว แท็บนี้ควรยอมรับเฉพาะตัวอักษร แต่ไม่ได้ตั้งค่าอย่างถูกต้อง และยอมรับตัวอักษรพิเศษและตัวเลขด้วย เครื่องมือค้นหาของเว็บไซต์จะไม่สามารถแยกแยะระหว่างอินพุตข้อความจากผู้ใช้และโค้ดอันตรายจากแฮ็กเกอร์ได้
เมื่อถูกใส่เข้าไป โค้ดอันตรายจะเดินทางไปยังฐานข้อมูลของเว็บไซต์และถูกดำเนินการ เมื่อสิ่งนั้นเกิดขึ้น แฮ็กเกอร์จะได้เข้าถึงเว็บไซต์และเริ่มรันกิจกรรมอันตรายของพวกเขา! แย่กว่านั้น พวกเขาอาจใช้เว็บไซต์ของคุณเปิดตัวการโจมตีแฮ็กใหญ่กว่าอย่าง DDoS attack
ตอนนี้เรารู้แล้วว่าการโจมตี XSS ร้ายแรงแค่ไหน และเราต้องปกป้องเว็บไซต์ของเราจากมัน 所以 让我们深入了解为什么 HTTP 安全标头可以防止 XSS 攻击。
HTTP Security Headers (ส่วนหัวความปลอดภัย HTTP) คืออะไร?
HTTP ย่อมาจาก Hypertext Transfer Protocol และกำหนดว่าข้อความถูกจัดรูปแบบและส่งผ่านอินเทอร์เน็ตอย่างไร
เบราว์เซอร์เว็บสมัยใหม่ เช่น Google Chrome หรือ Mozilla Firefox มีส่วนหัวการตอบสนอง HTTP (HTTP Response Headers) เข้ารหัสอยู่ในตัว ส่วนหัว HTTP ที่ปลอดภัยเหล่านี้ปกติประกอบด้วยข้อมูลเมตา – เช่น รหัสสถานะข้อผิดพลาด content-encoding ความปลอดภัยเนื้อหา และการควบคุมแคช
ส่วนหัวการตอบสนองสั่งเบราว์เซอร์ว่าควรทำอย่างไรเมื่อโต้ตอบกับเว็บไซต์ ตัวอย่างเช่น ผู้ใช้เปิด Google Chrome และเยี่ยมชมเว็บไซต์ ส่วนหัว HTTP มีบทบาทที่นี่ในการกำหนดว่าเบราว์เซอร์ เว็บไซต์ และเว็บเซิร์ฟเวอร์สื่อสารอย่างไร
เราจะอธิบายส่วนหัวการตอบสนอง HTTP หนึ่งตัวเพื่อช่วยให้คุณเข้าใจดีขึ้น
หากคุณตั้งค่าใบรับรอง SSL หรือ TLS บนเว็บไซต์ของคุณ หมายความว่าเว็บไซต์ของคุณเข้าถึงได้เฉพาะผ่าน HTTPS (ซึ่งเป็นการเชื่อมต่อที่ปลอดภที่เข้ารหัสข้อมูลระหว่างการถ่ายโอน) แต่แฮ็กเกอร์สามารถหาวิธีเข้าถึงเว็บไซต์ของคุณผ่าน HTTP ได้ มีสคริปต์สำเร็จรูปหลายตัวบนอินเทอร์เน็ตที่แฮ็กเกอร์สามารถใช้เพื่อเปิดเว็บไซต์ของคุณผ่าน HTTP และขโมยข้อมูล
เพื่อเสริมสร้างใบรับรอง SSL ของคุณและรับรองว่าเว็บไซต์ของคุณไม่ถูกเข้าถึงผ่าน HTTP คุณสามารถเพิ่มส่วนหัวการตอบสนองที่เรียกว่า 'strict transport security' นี่จะบังคับเบราว์เซอร์ล่าสุดทั้งหมด เช่น Safari, Chrome และ Firefox ให้สื่อสารกับเว็บไซต์ของคุณผ่าน HTTPS เท่านั้น นี่กำจัดความเป็นไปได้ของการดักฟังเนื้อหา (Content Sniffing) และการดักฟังแพ็กเก็ต (Packet Sniffing)
หากโจมตีพยายามเปิดเว็บไซต์ของคุณผ่าน HTTP เบราว์เซอร์จะไม่โหลดหน้าเว็บ
มีส่วนหัวความปลอดภัย HTTP ที่แตกต่างกันหลายตัวที่คุณสามารถเพิ่มลงในเว็บไซต์ WordPress ของคุณ วันนี้ เราจะเน้นที่ X-XSS Protection ที่จะลดทอน/ป้องกัน Cross-site scripting
วิธีตั้งค่า X-XSS Protection ใน HTTP Security Header
เพื่อตั้งค่า HTTP Security Headers คุณต้องเข้าถึงและแก้ไขไฟล์ .htaccess และเพิ่มบรรทัดโค้ด การเปลี่ยนแปลงไฟล์ WordPress ในเวลาใดเวลาหนึ่งมีความเสี่ยงสูง ข้อผิดพลาดเล็กน้อยอาจนำไปสู่เว็บไซต์ที่เสียหายโดยสมบูรณ์
ดังนั้น เรา แนะนำอย่างยิ่งให้สำรองข้อมูลเว็บไซต์ WordPress ให้ครบถ้วน คุณสามารถใช้ปลั๊กอิน BlogVault เพื่อสำรองข้อมูลเว็บไซต์เต็มรูปแบบภายในไม่กี่นาที หากมีอะไรผิดพลาดระหว่างกระบวนการนี้ คุณสามารถกู้คืนเว็บไซต์กลับสู่สภาพปกติได้อย่างรวดเร็ว
สำรองข้อมูลเว็บไซต์ WordPress ก่อนแก้ไขไฟล์ WordPress คุณสามารถได้รับการสำรองข้อมูลที่น่าเชื่อถือด้วย BlogVault Click to Tweet
ขั้นตอนที่ 1: สแกนเว็บไซต์เพื่อตรวจสอบว่ามี Header อยู่แล้วหรือไม่
เราแนะนำให้ตรวจสอบว่าเว็บไซต์ของคุณมี Header นี้เปิดใช้งานอยู่แล้วหรือไม่ คุณสามารถตรวจสอบกับโฮสต์ WordPress ที่จัดการ (Managed WordPress Host) หรือใช้เว็บไซต์อย่าง securityheaders.com
ใส่ URL ของเว็บไซต์ของคุณและสแกนตอนนี้ คุณจะเห็นรายงานแบบนี้:
เราสามารถมั่นใจได้ว่าไม่มีการตั้งค่า X-XSS protection header
หมายเหตุ: เบราว์เซอร์ส่วนใหญ่มีการป้องกัน X-XSS เปิดใช้งานโดยค่าเริ่มต้น แตการเพิ่มส่วนหัวความปลอดภัยนี้ลงใน WordPress จะสั่งให้เบราว์เซอร์บล็อกการพยายามแฮ็ก XSS
ขั้นตอนที่ 2: เข้าถึงไฟล์ .htaccess ของ WordPress
ล็อกอินเข้าสู่บัญชีโฮสติ้ง WordPress ของคุณ ที่นี่ ไปที่ cPanel > File Manager
ภายใน คุณจะพบรายการโฟลเดอร์ บนแผงด้านขวา ให้ค้นหาโฟลเดอร์ public_html คุณจะพบไฟล์ .htaccess ที่นี่
เคล็ดลับ: หากคุณไม่เห็นไฟล์ .htaccess ให้ไปที่ Settings และเลือก "show hidden files" (แสดงไฟล์ซ่อน)
ขั้นตอนที่ 3: แทรก WordPress Security Header
เพื่อแก้ไขไฟล์นี้ ให้คลิกขวาที่มัน และคุณจะเห็นตัวเลือกแก้ไข
เพิ่มบรรทัดโค้ดต่อไปนี้ที่ท้ายไฟล์ .htaccess ของคุณ:
Header set X-XSS-Protection "1; mode=block"
บันทึกไฟล์
ขั้นตอนที่ 4: ตรวจสอบว่า HTTP Response Header ทำงานหรือไม่
เราแนะนำให้เยี่ยมชม securityheaders เพื่อสแกนเว็บไซต์ของคุณ เพื่อตรวจสอบว่า Header ทำงานหรือไม่
และแค่นี้ก็เสร็จแล้ว คุณได้เพิ่มชั้นความปลอดภัยให้เว็บไซต์ของคุณสำเร็จแล้ว โดยการนำส่วนหัวความปลอดภัยมาใช้เพื่อบล็อกการโจมตี XSS
ฉันตั้งค่าส่วนหัวความปลอดภัยบนเว็บไซต์ WordPress ได้อย่างง่ายดายเพื่อบล็อกการโจมตี X-XSS ด้วยคู่มือนี้จาก MalCare Click to Tweet
สรุป: การป้องกันต่อต้านการโจมตีทุกประเภท
หลังจากนำส่วนหัวความปลอดภัย WordPress นี้ไปใช้แล้ว เรามั่นใจว่าเว็บไซต์ของคุณปลอดภัยต่อต้านการโจมตี XSS แล้ว แต XSS ไม่ใช่ช่องโหว่เดียวที่ต้องกังวล เว็บไซต์ของคุณอยู่ในโลกดิจิทัลที่โฉมอยู่ภายใต้ความเสี่ยงมหาศาล เช่น การแฮ็กและการติดเชื้อมัลแวร์
คุณต้องใช้มาตรการความปลอดภัยเพียงพอเพื่อบล็อกการพยายามแฮ็กและรักษาความปลอดภัยเว็บไซต์ของคุณ ติดตั้ง MalCare เพื่อรับการปกป้องครบวงจรสำหรับเว็บไซต์ WordPress ของคุณ มันจะสแกนและติดตามเว็บไซต์ของคุณเป็นประจำ มันยังมีไฟร์วอลล์ที่จะบล็อกที่อยู่ IP อันตราย ด้วย MalCare ติดตั้ง คุณสามารถนั่งใจได้ว่าเว็บไซต์ของคุณปลอดภัย คุณสามารถตรวจสอบคู่มือของเราเกี่ยวกับวิธีรักษาความปลอดภัยเว็บไซต์ WordPress
ปกป้องเว็บไซต์ WordPress ของคุณด้วย MalCare!