ฉันจะตั้งค่าการตรวจสอบ MySQL ด้วย Fail2ban ได้อย่างไร


13

การค้นหาอินเทอร์เน็ตด้วยเครื่องมือค้นหาบน MySQL และ fail2ban ให้ผลลัพธ์จำนวนมากในการวาง fail2ban ของคุณลงใน MySQL แต่ฉันต้องการตรวจสอบความล้มเหลวของ MySQL พยายามที่จะเข้าสู่ระบบและห้าม IP ของเหล่านั้น

แอปพลิเคชันของฉันต้องการให้ฉันเปิดพอร์ตไว้สำหรับ MySQL แต่ฉันได้เปลี่ยนพอร์ตเริ่มต้นเพื่อเพิ่มความปลอดภัย เพื่อความปลอดภัยเพิ่มเติม แต่ฉันต้องการตรวจสอบล็อก MySQL ด้วย fail2ban

ใครบ้างมีคำแนะนำอย่างรวดเร็วในการกำหนดค่า fail2ban สำหรับ MySQL? ฉันได้ทำการติดตั้งและทำงานกับบริการอื่น ๆ แล้วดังนั้นคุณสามารถข้ามส่วนการติดตั้งและข้ามไปทางขวาเพื่อกำหนดค่าไฟล์ปรับแต่งหรืออะไรก็ตามที่จำเป็น

คำตอบ:


6

ตามที่ผู้ชายคนนี้ ( http://forums.mysql.com/read.php?30,205612,205612 ) สิ่งที่คุณพยายามทำนั้นเป็นไปไม่ได้

นอกจากนี้: «การใช้ mysql.log นั้นถูกอธิบายว่าเป็นนักฆ่าประสิทธิภาพและฉันได้ยินมาว่ามันควรจะล้าสมัยในรุ่นต่อไปของ Mysql »

ฉันกำลังมองหาสิ่งเดียวกัน ขอแนะนำให้คุณบล็อกพอร์ต 3306 บนไฟร์วอลล์ของคุณ หากไม่ใช่ตัวเลือกโชคดี


4

คุณสามารถเปิดใช้งานการบันทึก mysql:

[mysqld]
log = /var/log/mysql/access.log
log_error = /var/log/mysql/error.log
log_warnings = 2

ดังนั้นข้อผิดพลาดการสื่อสารจะปรากฏขึ้นในบันทึกแล้วตรวจสอบไฟล์นั้นด้วย fail2ban

http://dev.mysql.com/doc/refman/5.1/en/communication-errors.html


รายละเอียดที่สำคัญ: หากคุณใช้ MySQL 5.6 ขึ้นไปคุณต้องใช้ Fail2ban 0.9.4 ขึ้นไป ในขณะนี้มันอยู่ใน repo การทดสอบของ EPEL:yum install fail2ban --enablerepo=epel-testing
maliayas

1

นี่คือการกำหนดค่าของฉันใน debian 8 และทำงานได้อย่างสมบูรณ์ นอกจากนี้ฉันต้องการให้คุณดูสคริปต์ที่ฉันสร้างขึ้นเพื่อลงทะเบียนความล้มเหลวในการเข้าสู่ระบบฐานข้อมูล mysql กับที่ตั้งของ IP ด้วย

https://elayo.mx/registrar-ataques-fail2ban-con-geolocalizacion-en-mysql/

[mysqld-auth]

enabled = true
filter   = mysqld-auth
port     = 3306
logpath  = /var/log/mysql/error.log
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.