WordPress XML-RPC เป็นฟังก์ชันที่ล้าสมัยใน WordPress CMS เป็นวิธีการสร้างมาตรฐานการสื่อสารระหว่างไซต์ WordPress กับเว็บหรือเทคโนโลยีมือถืออื่นๆ หากคุณเป็นผู้ใช้ WordPress บทช่วยสอนนี้จะบอกคุณว่า XML-RPC คืออะไร และเหตุใดจึงควรปิดการใช้งานเพื่อป้องกันตัวเอง
วิธีการทำงานของ XML-RPC
เว็บไซต์ WordPress ของคุณออกแบบมาเพื่อทำงานบนเว็บ ใช้เทคโนโลยีเว็บหลักเช่น HTML, CSS และ PHP ไฟล์ทั้งหมดเหล่านี้ถูกซ่อนไว้อย่างดีในโฟลเดอร์ภายในเซิร์ฟเวอร์โฮสติ้งของคุณ
เมื่อผู้เยี่ยมชมคลิกที่ชื่อโดเมนของคุณหรืออนุพันธ์ใด ๆ พวกเขาจะมาที่หน้าเว็บของคุณ โฟลเดอร์เฉพาะที่มีข้อมูลที่ต้องการดาวน์โหลดไปยังเบราว์เซอร์ ตอนนี้เบราว์เซอร์ตีความข้อมูลนี้และแสดงต่อพวกเขา
แต่ถ้าคุณไม่ต้องการเข้าถึงเว็บไซต์ของคุณโดยใช้เบราว์เซอร์ล่ะ จะทำอย่างไรถ้าคุณต้องการเข้าถึงจากซอฟต์แวร์ผู้ดูแลระบบที่กำหนดเองหรือแม้แต่แอปพลิเคชันมือถือ
WordPress XML-RPC ครอบคลุมปัญหานี้
XML-RPC เป็น API ที่รวมข้อมูลที่จำเป็นไว้ในไฟล์ XML อย่างง่าย และส่งไปยังแอพมือถือหรือซอฟต์แวร์ระยะไกล แอปพลิเคชันมือถือจะขยายข้อมูลนี้ด้วยการออกแบบที่กำหนดค่าไว้ล่วงหน้าของตัวเอง แอปมือถือในกรณีนี้ไม่จำเป็นต้องดาวน์โหลดไฟล์หน้าเว็บจำนวนมากอีกต่อไป และคุณยังสามารถเข้าถึงข้อมูลของคุณได้ในแอปที่ดี
ดีอย่างที่เห็น ปัญหาเดียวคือคุณจะต้องส่งชื่อผู้ใช้และรหัสผ่านของคุณทุกครั้งที่คุณต้องการตรวจสอบสิทธิ์ผ่าน XML-RPC ทำให้เสี่ยงต่อการโจมตีของแฮ็กเกอร์
วิธีที่ XML-RPC ทำให้คุณมีช่องโหว่
XML-RPC ทำให้ไซต์ของคุณเสี่ยงต่อการถูกโจมตีอย่างน้อยสองวิธี:การโจมตีด้วยกำลังดุร้าย และ ขโมยข้อมูลรับรองการเข้าสู่ระบบ .
1. การโจมตีด้วยกำลังเดรัจฉาน
ผู้โจมตีพยายามทำให้เว็บไซต์ของคุณติดเชื้อโดยใช้กำลังดุร้าย
การโจมตีด้วยกำลังเดรัจฉานเป็นเพียงเกมเดา ผู้โจมตีพยายามเดารหัสผ่านของคุณซ้ำแล้วซ้ำอีกจนกว่าจะสำเร็จ
ซึ่งเกิดขึ้นหลายพันครั้งต่อวินาที เพื่อให้พวกเขาสามารถลองชุดค่าผสมนับล้านในช่วงเวลาสั้นๆ
บนไซต์ WordPress คุณสามารถจำกัดการโจมตีด้วยกำลังเดรัจฉานโดยจำกัดความพยายามในการเข้าสู่ระบบสำหรับเว็บไซต์ของคุณ อย่างไรก็ตาม ปัญหาของ XML-RPC คือมันไม่ได้จำกัดความพยายามในการเข้าสู่ระบบบนไซต์ของคุณ
ผู้โจมตีสามารถคาดเดาได้โดยหลอกเซิร์ฟเวอร์ของคุณว่าพวกเขาเป็นผู้ดูแลระบบที่ต้องการดึงข้อมูลบางอย่าง และเนื่องจากไม่มีข้อมูลรับรองที่ถูกต้อง พวกเขาจึงยังไม่สามารถเข้าถึงไซต์ของคุณได้ ดังนั้นพวกเขาจึงพยายามหลายครั้งโดยไม่สิ้นสุด
เนื่องจากไม่มีการจำกัดจำนวนการทดลองใช้ จึงเป็นเพียงเรื่องของเวลาก่อนที่จะเข้าถึงได้ วิธีนี้แฮ็กเกอร์ยังสามารถนำไซต์ลงมาได้อย่างง่ายดายด้วยการโจมตี XML-RPC DDOS (โดยส่งคลื่นของคำขอ "pingback" ไปยัง XML-RPC เพื่อให้โอเวอร์โหลดและทำให้เซิร์ฟเวอร์ขัดข้อง)
2. การสกัดกั้น/ขโมยข้อมูลการเข้าสู่ระบบ
จุดอ่อนอีกประการของ XML-RPC คือระบบการตรวจสอบที่ไม่มีประสิทธิภาพ ทุกครั้งที่คุณส่งคำขอเพื่อเข้าถึงเว็บไซต์ของคุณ คุณต้องส่งข้อมูลรับรองการเข้าสู่ระบบของคุณด้วย ซึ่งหมายความว่าชื่อผู้ใช้และรหัสผ่านของคุณถูกเปิดเผย
แฮกเกอร์อาจซุ่มซ่อนอยู่ตรงหัวมุมเพื่อสกัดกั้นแพ็กเก็ตข้อมูลนี้ เมื่อพวกเขาประสบความสำเร็จ พวกเขาไม่ต้องฝ่าฟันความรุนแรงของการโจมตีด้วยกำลังเดรัจฉานอีกต่อไป พวกเขาเพียงแค่วอลทซ์เข้ามาในเว็บไซต์ของคุณโดยใช้ข้อมูลรับรองที่ถูกต้องของคุณ
ฉันควรปิดการใช้งาน XML-RPC ใน WordPress หรือไม่
ตั้งแต่ WordPress เวอร์ชัน 3.5 เป็นต้นไป มีการปรับปรุงโค้ด XML-RPC อย่างมาก ซึ่งทีม WordPress ถือว่าปลอดภัยพอที่จะเปิดใช้งานโดยค่าเริ่มต้น หากคุณกำลังใช้แอพมือถือหรือซอฟต์แวร์ระยะไกลในการจัดการไซต์ WordPress ของคุณ คุณไม่ควรปิดการใช้งาน XML-RPC
หากคุณตระหนักถึงความปลอดภัยของเซิร์ฟเวอร์เป็นอย่างมาก อาจเป็นการดีกว่าที่จะปิดการใช้งาน เนื่องจากเป็นการปกปิดวิธีหนึ่งที่แฮ็กเกอร์สามารถใช้เพื่อโจมตีเว็บไซต์ของคุณได้
วิธีปิดการใช้งาน XML-RPC ใน WordPress
XML-RPC ถูกเปิดใช้งานโดยค่าเริ่มต้นใน WordPress แต่มีหลายวิธีในการปิดการใช้งาน
หมายเหตุ :หากคุณใช้ปลั๊กอินยอดนิยมของ JetPack คุณจะไม่สามารถปิดใช้งาน XML-RPC ได้ เนื่องจากจำเป็นสำหรับ Jetpack เพื่อสื่อสารกับเซิร์ฟเวอร์ นอกจากนี้ ก่อนปิดใช้งาน XML-RPC ตรวจสอบให้แน่ใจว่าไม่มีปลั๊กอินหรือธีมใดใช้งานอยู่
ปิดการใช้งาน XML-RPC
1. ค้นหาโฟลเดอร์ธีมของคุณ (ปกติจะอยู่ใน “wp-content/themes/”) และเปิดไฟล์ “functions.php”
2. วางคำสั่งต่อไปนี้ที่ส่วนท้ายของไฟล์:
// Disable use XML-RPC add_filter( 'xmlrpc_enabled', '__return_false' );
บันทึกไฟล์ “functions.php” การดำเนินการนี้จะปิดฟังก์ชัน XML-RPC ใน WordPress โปรดทราบว่าวิธีนี้จะปิดการใช้งาน XML-RPC เท่านั้น แต่ไม่ได้หยุดแฮกเกอร์ไม่ให้โจมตีไซต์ของคุณ เนื่องจากไฟล์ xml-rpc.php อยู่ใกล้ๆ
การบล็อกการเข้าถึงไฟล์ XML-RPC
วิธีที่ดีที่สุดในการป้องกันไม่ให้แฮกเกอร์โจมตีคือการบล็อกการเข้าถึงไฟล์ xml-rpc
เซิร์ฟเวอร์ Apache
หากไซต์ WordPress ของคุณทำงานบนเซิร์ฟเวอร์ Apache (หากคุณเห็นไฟล์ ".htaccess" ในโฟลเดอร์การติดตั้ง WordPress คุณสามารถมั่นใจได้ว่าไซต์ของคุณโฮสต์บนเซิร์ฟเวอร์ Apache) ให้ทำตามขั้นตอนเหล่านี้
1. เข้าสู่ระบบ CPanel ของคุณ ค้นหาตัวจัดการไฟล์
2. เปิดตัวจัดการไฟล์ ไปที่โฟลเดอร์ “public_html” จากนั้นไปที่เอกสาร “.htaccess”
3. คลิกขวาเพื่อแก้ไขไฟล์
4. ที่ด้านล่างของไฟล์ให้วางโค้ดต่อไปนี้:
# Disallow all WordPress xmlrpc.php requests to this domain <Files xmlrpc.php> order deny,allow deny from all </Files>
5. บันทึกและออก
เซิร์ฟเวอร์ Nginx
สำหรับเซิร์ฟเวอร์ Nginx ให้วางโค้ดต่อไปนี้ลงในไฟล์กำหนดค่าเซิร์ฟเวอร์ของคุณ:
# nginx block xmlrpc.php requests location /xmlrpc.php { deny all; }
ตอนนี้ไซต์ของคุณปลอดภัยจากการโจมตี
อยู่ในช่วงสรุป
การโจมตีด้วยกำลังดุร้ายและการขโมยข้อมูลจะยังคงสร้างปัญหาให้กับเจ้าของไซต์ต่อไป เป็นหน้าที่ของคุณที่จะต้องตรวจสอบให้แน่ใจว่าไซต์ของคุณปลอดภัย การปิดใช้งาน XML-RPC เป็นวิธีหนึ่งที่มีประสิทธิภาพในการดำเนินการนี้ ทำตามคำแนะนำด้านบน และปกป้องเว็บไซต์และผู้เยี่ยมชมของคุณจากแฮกเกอร์ทันที