วิธีป้องกันการโจมตี XML-RPC ใน WordPress

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

ก่อนปิดหรือจำกัด XML-RPC ควรตรวจสอบก่อนว่ามีแอปหรือปลั๊กอินใดในเว็บไซต์ใช้งานอยู่หรือไม่ เพื่อป้องกันไม่ให้ฟีเจอร์ที่จำเป็นหยุดทำงาน

❶ ตรวจสอบว่าเว็บไซต์จำเป็นต้องใช้ XML-RPC หรือไม่

พิจารณาว่าเว็บไซต์เชื่อมต่อกับแอป WordPress รุ่นเก่า บริการจัดการเว็บไซต์จากภายนอก หรือปลั๊กอินที่ต้องเรียกใช้ XML-RPC หรือไม่ หากไม่มีการใช้งาน สามารถพิจารณาปิดหรือจำกัดการเข้าถึงได้

① ตรวจสอบปลั๊กอินและบริการที่เชื่อมต่อ

อ่านเอกสารการตั้งค่าของปลั๊กอินหรือบริการที่ใช้อยู่ และทดสอบบนเว็บไซต์สำเนาหรือช่วงเวลาที่มีผู้ใช้งานน้อยก่อนปรับการตั้งค่า

② ตรวจสอบผลหลังเปลี่ยนการตั้งค่า

หลังปิดหรือจำกัด XML-RPC ให้ทดสอบงานที่เชื่อมต่อกับบริการภายนอก เช่น การเผยแพร่เนื้อหาหรือการจัดการเว็บไซต์ หากฟังก์ชันใดหยุดทำงาน ให้ตรวจว่าฟังก์ชันนั้นต้องใช้ XML-RPC หรือไม่

❷ ลดความเสี่ยงจากการเดารหัสผ่าน

XML-RPC อาจถูกใช้ส่งคำขอตรวจรหัสผ่านซ้ำ ๆ ได้ จึงควรป้องกันบัญชี WordPress ควบคู่กัน แม้จะมีการปิด XML-RPC แล้วก็ตาม

① ใช้รหัสผ่านที่คาดเดายากและไม่ซ้ำ

ตั้งรหัสผ่านผู้ดูแลให้ยาวและไม่ใช้ซ้ำกับบริการอื่น หลีกเลี่ยงชื่อเว็บไซต์ ชื่อผู้ใช้ หรือข้อมูลส่วนตัวที่เดาได้ง่าย

② เปิดใช้การยืนยันตัวตนสองขั้นตอน

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

③ จำกัดคำขอเข้าสู่ระบบ

ใช้ปลั๊กอินความปลอดภัยหรือ WAF ที่รองรับการจำกัดคำขอผิดปกติ และตั้งค่าอย่างระมัดระวังเพื่อไม่ให้ผู้ใช้จริงถูกบล็อก ComSiam แนะนำให้ตรวจบันทึกการบล็อกหลังตั้งค่า เพื่อปรับเกณฑ์ให้เหมาะกับการใช้งานจริง

❸ ใช้ WAF หรือระบบป้องกันที่โฮสติ้ง

WAF สามารถช่วยกรองคำขอที่มีรูปแบบผิดปกติก่อนถึง WordPress ได้ ตรวจสอบว่า WAF หรือระบบป้องกันของโฮสติ้งรองรับการจำกัดคำขอไปยัง XML-RPC หรือไม่ หากมีตัวเลือกนี้ ให้ตั้งค่าตามคำแนะนำของผู้ให้บริการและติดตามผลหลังเปิดใช้

① จำกัดเฉพาะการใช้งานที่จำเป็น

หากมีบริการที่ต้องใช้ XML-RPC ให้สอบถามผู้ให้บริการว่าจำกัดแหล่งที่มา ความถี่ หรือรูปแบบคำขอได้หรือไม่ หลีกเลี่ยงการเปิดข้อยกเว้นกว้างเกินไป

② เฝ้าดูการใช้งานทรัพยากร

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

❹ ปิด XML-RPC เมื่อไม่ได้ใช้งาน

หากยืนยันแล้วว่าเว็บไซต์ไม่ต้องใช้ XML-RPC สามารถปิดผ่านปลั๊กอินความปลอดภัยหรือ WAF ที่เชื่อถือได้ หรือขอให้โฮสติ้งช่วยตั้งค่าการจำกัดการเข้าถึง วิธีที่เหมาะสมขึ้นอยู่กับระบบเซิร์ฟเวอร์และบริการที่เชื่อมต่ออยู่

① ทดสอบหลังปิดใช้งาน

ตรวจว่าการเข้าสู่ระบบ หน้าสำคัญ และบริการที่เชื่อมต่อกับเว็บไซต์ยังทำงานตามปกติ หากมีปลั๊กอินหรือแอปใช้งานไม่ได้ ให้ตรวจการตั้งค่าก่อนเปิด XML-RPC กลับ

② หลีกเลี่ยงการแก้ไฟล์เซิร์ฟเวอร์โดยไม่เข้าใจ

การเพิ่มกฎผิดตำแหน่งอาจทำให้เว็บไซต์เกิดข้อผิดพลาดหรือบล็อกการทำงานอื่น หากไม่แน่ใจ ให้ใช้เครื่องมือที่มีเอกสารชัดเจนหรือขอความช่วยเหลือจากโฮสติ้ง

❺ ตรวจสอบและดูแลความปลอดภัยอย่างต่อเนื่อง

อัปเดต WordPress ธีม และปลั๊กอินที่ใช้งานอยู่ ลบบัญชีผู้ใช้และปลั๊กอินที่ไม่จำเป็น ตรวจบันทึกการเข้าสู่ระบบและแจ้งเตือนจากระบบป้องกันเป็นระยะ การปิด XML-RPC เพียงอย่างเดียวไม่สามารถทดแทนการดูแลบัญชี รหัสผ่าน และส่วนประกอบของเว็บไซต์ได้

หากเว็บไซต์มีการใช้งาน XML-RPC จริง ให้จัดทำรายการบริการที่พึ่งพาฟังก์ชันนี้และทดสอบหลังปรับทุกครั้ง ComSiam แนะนำให้ตรวจการตั้งค่าร่วมกับโฮสติ้ง เพื่อเลือกมาตรการที่ลดคำขออันตรายโดยไม่กระทบการทำงานที่จำเป็น