คุณกำหนดค่า fail2ban สำหรับ WordPress (WP-Login, XMLRPC ได้อย่างไร)

ในระยะสั้นในบทช่วยสอนนี้คุณจะพบบรรทัดคำสั่งที่คุณสามารถติดตั้งและกำหนดค่า fail2ban สำหรับ WordPress รักษาความปลอดภัยการตรวจสอบ WordPress และ XMLRPC.PHP Gross Ass

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

ก่อนอื่นตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงเว็บเซิร์ฟเวอร์โดยการเชื่อมต่อ SSH และติดตั้งแอปพลิเคชัน fail2ban

การกำหนดค่า fail2ban สำหรับ WordPress บน Debian

1. ก่อนอื่นคุณต้องตรวจสอบให้แน่ใจว่าแอปพลิเคชัน fail2ban ติดตั้งและทำงานบนเซิร์ฟเวอร์ ดำเนินการบรรทัดคำสั่งด้านล่าง:

systemctl status fail2ban

ในผลลัพธ์คุณควรเห็นบางอย่างของแบบฟอร์ม:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-03-11 00:39:32 EET; 6 days ago
       Docs: man:fail2ban(1)
   Main PID: 917 (fail2ban-server)
      Tasks: 17 (limit: 76843)
     Memory: 33.2M
        CPU: 17min 1.752s
     CGroup: /system.slice/fail2ban.service
             └─917 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

หากไม่ได้ติดตั้ง fail2ban บนเซิร์ฟเวอร์คุณจะต้องติดตั้ง ดำเนินการบรรทัดคำสั่งสำหรับการติดตั้ง fail2ban บน debian / ubuntu:

sudo apt install fail2ban

2. ขั้นตอนต่อไปคือการสร้างตัวกรอง fail2ban สำหรับ WordPress ดำเนินการในเทอร์มินัลบรรทัดคำสั่งเพื่อสร้างและแก้ไขตัวกรอง wordpress.conf-

sudo nano /etc/fail2ban/filter.d/wordpress.conf

ในไฟล์ wordpress.conf ตั้งค่าตัวกรองการรับรองความถูกต้องของ WordPress และการตรวจสอบไฟล์ xmlrpc.phpดังนี้:

[Definition]
failregex = ^<HOST> -.*"(GET|POST).*(/wp-login.php|/xmlrpc.php).*" 200
ignoreregex =

ซึ่งหมายความว่าโดยวิธีใด ๆ GET หรือ POSTจะเข้าถึงไฟล์ wp-login.php หรือ xmlrpc.php ซึ่งเป็นกฎสำหรับ Fail2ban สามารถสร้างได้ เงื่อนไขคือไฟล์เหล่านี้มีอยู่และสามารถเข้าถึงได้โดยผู้โจมตี นั่นคือการส่งคืนรหัส 200 (ตกลง) เพื่อเข้าถึง

บันทึกไฟล์ /etc/fail2ban/filter.d/wordpress.conf-

3. ขั้นตอนต่อไปคือการกำหนดค่า “คุก” สำหรับ WordPress ในขั้นตอนนี้ผู้ใช้ส่วนใหญ่สับสนเนื่องจากกฎจะต้องมีการกำหนดแตกต่างกันไปขึ้นอยู่กับระบบการจัดการโฮสติ้ง (ถ้ามีอยู่) หรือการกำหนดค่าเว็บเซิร์ฟเวอร์

หากคุณใช้ hestiacp, vestacp หรือ myVesta ให้สร้างและแก้ไขไฟล์ /etc/fail2ban/jail.local-

nano /etc/fail2ban/jail.local

เพิ่มในไฟล์นี้บรรทัดด้านล่าง:

[wordpress]
enabled  = true
port     = http,https
filter   = wordpress
logpath  = /var/log/nginx/domains/*.log #or apache2.
maxretry = 5
findtime = 1800
bantime  = 3600
action   = hestia[name=WEB] #hestacp action.

ปรับพารามิเตอร์ข้างต้นตามความต้องการของคุณ ในการกำหนดค่าที่ฉันได้รับหากภายในปี 1800 มีความพยายาม 5 ครั้งจาก IP เดียวกันมันจะถูกบล็อกเป็นเวลา 3600 นาทีด้วยความช่วยเหลือของเว็บ hestiacp -hestia[name=WEB]- ที่นี่คุณจะต้องช่วยตามระบบที่คุณมีบนเซิร์ฟเวอร์

นอกจากนี้ยังมีความสำคัญมากและ “logpath“- จากบันทึกเหล่านี้จะถูกแยกข้อมูลบนพื้นฐานของการกระทำที่จะดำเนินการ ตรวจสอบให้แน่ใจว่าตำแหน่งถูกต้อง

หากคุณไม่มีระบบการจัดการที่ติดตั้งคุณจะต้องมีการดำเนินการบล็อก IPS ด้วย Fail2ban เพื่อให้ WordPress ทำโดยตรงโดย iptables- บรรทัดสำหรับการดำเนินการจะเป็นดังนี้:

action   = iptables-multiport[name=wordpress, port="80,443", protocol=tcp]

เป็นวงเล็บแทนที่จะเป็น /etc/fail2ban/jail.local คุณยังสามารถใช้ไฟล์กำหนดค่าแยกต่างหากเช่น: /etc/fail2ban/jail.d/wordpress.conf-

หลังจากที่คุณทำการปรับเปลี่ยนแล้วให้ใช้การเปลี่ยนแปลง

sudo systemctl restart fail2ban

4. หลังจากรีสตาร์ทตรวจสอบว่า fail2ban สำหรับ WordPress Works:

fail2ban-client status wordpress
Status for the jail: wordpress
|- Filter
|  |- Currently failed:	355
|  |- Total failed:	33873
|  `- File list: (log files per domain)
- Actions
   |- Currently banned:	127
   |- Total banned:	680
   `- Banned IP list:

หลังจากพบในรายการนี้บล็อก IPS ตรวจสอบให้แน่ใจว่าพวกเขาถูกบล็อกและใน iptables- ฉันได้พบกับสถานการณ์ที่เกิดจากการกำหนดค่าที่ไม่ถูกต้องใน Fail2ban เพื่อดูว่ามันเป็น IP ที่ถูกบล็อก แต่ในความเป็นจริงมันยังสามารถเข้าถึงได้ wp-login.php หรือ xmlrpc.php-

หากต้องการตรวจสอบว่าทุกอย่างทำงานได้อย่างถูกต้องให้เลือก IP ที่ถูกบล็อกจากรายการ fail2ban และค้นหาใน iptables

ดำเนินการบรรทัดคำสั่ง:

iptables -L -v -n --line-numbers

หากพบ IP ที่ปรากฏโดย fail2ban ในรายการนี้ก็หมายความว่าคุณได้กำหนดค่า Fail2ban ที่ถูกต้องสำหรับ WordPress

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

ในเวลาเดียวกันขอแนะนำให้ตรวจสอบบันทึกด้วยการกระทำที่ล้มเหลว 2ban:

sudo tail -f /var/log/fail2ban.log

ที่ถูกกล่าวว่าหากคุณมีข้อกังวลหรือต้องการความช่วยเหลือพวกเขาสามารถช่วยคุณในความคิดเห็น

หลงใหลเกี่ยวกับเทคโนโลยีฉันเขียนด้วยความยินดีกับ stealthsetts.com เริ่มต้นด้วยปี 2549 ฉันมีประสบการณ์มากมายในระบบปฏิบัติการ: MacOS, Windows และ Linux แต่ยังอยู่ในภาษาการเขียนโปรแกรมและแพลตฟอร์มบล็อก (WordPress) และสำหรับร้านค้าออนไลน์ (Woocommerce, Magento, Presashop)

บ้าน แหล่งที่มาของคุณบทเรียนเคล็ดลับและข่าวที่เป็นประโยชน์ คุณกำหนดค่า fail2ban สำหรับ WordPress (WP-Login, XMLRPC ได้อย่างไร)
แสดงความคิดเห็น