Tuesday, 30 November 2021

wordfence user.ini แก้ปัญหา Scan แล้วเจอปัญหา

Wordfence Security
Wordfence Security

wordfence user.ini สำหรับคนที่ใช้งาน WordPress และใช้ WAF อย่าง wordfence และใช้ Web Server อย่าง nginx เมื่อติดตั้ง Plugin เสร็จแล้ว พอถึงรอบสแกนของโปรแกรมกลับพบว่ามีปัญหา error เกี่ยวกับ user.ini วันนี้ทางอินดี้ได้มีวิธีการแก้ไขมาอธิบายในบทความนี้

wordfence user.ini มารู้ถึงสาเหตุของปัญหา

หากคนที่ใช้งาน Apache แน่นอนการที่ WordPress WAF จะทำการ Config ให้แบบ Auto ซึ่งไม่ค่อยเจอปัญหาหาอะไร แต่ส่วนคนที่ใช้งาน Web Server ที่เป็น nginx แล้ว โดยส่วนมากมักจะเจอปัญหาดังกล่าว โดยจะมี Error ประมาณดังรูป และ มี error ดังรายละเอียด

wordfence user.ini

Publicly accessible config, backup, or log file found: .user.ini
Type: Publicy accessible config/Backup/log

สาเหตุเพราะไฟล์ .user.ini ของเรามีการ Public และ เสี่ยงต่อการ Hack ดังนั้นจะต้องทำการ Hide ออกจาก Public ของ Website เรา โดยบทความการแก้ไขนี้จะอ้างอิงการแก้ไขที่ nginx และ ใช้ control panel ของ hestiacp เท่านั้น บทความเก่าของทางอินดี้ได้แนะนำ HestiaCP สามารถลองไปหาอ่านได้ แนะนำ HestiaCP สำหรับสาย VestaCP EP1

ขั้นตอนการแก้ไข wordfence user.ini

  • SSH เข้าไปที่ Host ของเราผ่านทาง putty หรือ เครื่องมืออื่นๆที่ถนัด
  • กรณีใช้ HestiaCP ให้ใช้ nano /etc/nginx/conf.d/domains/*.conf
nano /etc/nginx/conf.d/domains/*.conf
  • หา Website ของเรา กรณีมีหลายเว็บไซต์ สามารถทำทีละเว็บไซต์ได้ และ แนะนำให้ทำทั้ง Port 80 http และ 443 https
  • กรณีมีหลายเว็บไซต์ ให้กด Ctrl+X เพื่อเปลี่ยนหน้า (เนื่องจากทาง Indy ยังไม่ชำนาญ Debian Linux อาจจะมีวิธีที่ดีกว่านี้)
  • ใส่ code เพื่อทำการแก้ไข nginx และ ให้ nginx ทำการ deny path .user.ini
location ~ ^/\.user\.ini {
deny all;
}
  • ดำเนินการใส่ code ยกตัวอย่างดังรูป และ ขอเซ็นเซอร์ข้อมูลสำคัญของเว็บ
wordfence user.ini
  • แนะนำให้ใส่ที่ domain ของเว็บของเราทั้ง 80 และ 443
  • ใช้ Ctrl+X และ กด Y เพื่อ Save และกด Ctra+C เพื่อออกจากหน้าที่เข้าไป edit
  • วาง code ตรงไหนก็ได้ พยายามหาที่เกี่ยวข้องกับ Location
  • ตรวจสอบให้เรียบร้อยและดำเนินการ Reboot Server

ขั้นตอนการตรวจสอบผล

  • เมื่อดำเนินการ Reboot server ของเราเสร็จแล้วให้ทดสอบ SSH Login อีกครั้งว่าเรียบร้อยไหม
  • ดำเนินการเข้าใช้งานทดสอบ Website
  • เข้าหน้า Admin ของ HestiaCP ว่าทุก Service Start ครบหรือไม่
wordfence waf user.ini
  • ใช้ Wordfence Scan ดูผลอีกรอบ หากทำถูกต้อง Scan แล้วจะไม่มี error

สรุป

เนื่องจากทาง อินดี้เองก็ยังไม่ถนัด Debian linux มากนัก ดังนั้นบางบทความที่แชร์ อาจจะมีข้อมูลผิดบ้าง ต้องขออภัย แต่บทความที่เขียนก็ทดสอบแล้วว่าสามารถแก้ไขปัญหาได้จริงๆ ข้อสังเกตของ WordPress WAF คือ ถ้าเราสั่ง deny ที่ nginx แล้วอนาคตจะแก้ไขไม่ได้ แนะนำให้ WF ดำเนินการ Config ให้แล้วเสร็จก่อนแล้วค่อยไป run code ป้องกัน

แหล่งอ้างอิง wordfence