วันจันทร์ที่ 12 กรกฎาคม พ.ศ. 2553

Fail2ban

http://www.cpeclub.com/board/server/fail2ban-ubuntu-9-04/

another good website explaining postfix fail2ban
http://www.howtoforge.com/forums/showthread.php?t=28781



การติดตั้ง Fail2ban บน Ubuntu 9.04


Fail2ban เป็นโปรแกรมตรวจสอบ log files และแบน IP ที่ล็อกอินผิดหลายๆครั้ง โดยสนับสนุน Service หลายตัวเช่น apache, vsftpd, proftpd, postfix, couriersmtp, named (DNS),ssl เป็นต้น

มีหลักการทำงานดังนี้ โปรแกรม Fail2ban จะตรวจสอบ Log Files เป็นระยะ ว่ามี IP ที่ล๊อคอินเข้าระบบแล้ว Fail ติดๆกัน ครบตามจำนวนที่ตั้งไว้ในไฟล์คอนฟิก จะแบน IP หมายเลขนั้นโดยไปกำหนดที่ iptable ให้ Block IP Address เมื่อแบน IP ครบตามกำหนดเวลาที่ตั้งไว้ในไฟล์คอนฟิก Fail2ban จะไปแก้ไข iptable ให้ IP Address นั้นสามารถใช้งานได้ตามเดิม

Login เป็น Root

ในการติดตั้ง Fail2ban ให้ติดตั้ง openssh ก่อน เพราะในการทดสอบ Fail2ban จะล็อกอินผ่าน openssh เพื่อทดสอบว่า Fail2ban บล็อกไอพีที่ล๊อคอินผิดเกินกว่าที่กำหนดไว้

ติดตั้ง Fail2ban โดยใช้คำสั่ง

sudo apt-get install fail2ban

โค๊ด:



ทำ การแก้ไขไฟล์คอนฟิค

โค๊ด:



cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local



โค๊ด:



nano /etc/fail2ban/jail.local





แก้ไข ไฟล์ /etc/fail2ban/jail.local ดังนี้

โค๊ด:



[DEFAULT]

ignoreip = 127.0.0.1 //กำหนด IP Address ที่ไม่มีการ Ban

bantime = 600 //กำหนดเวลา Ban IP 600 วิ = 10 นาที

//ถ้ากำหนดเป็น -1 จะหมายถึง Ban IP จนกว่าจะ Reboot

maxretry = 3 //กำหนดจำนวนครั้งของการล๊อคอินที่ผิดพลาด

destemail = mooglom@eng-ru.com //กำหนดให้ส่ง mail แจ้งเตือนไปเมล์ชื่อ mooglom@eng-ru.com



[ssh]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 3 //แก้จำนวนครั้งของการล๊อคอินที่ผิดพลาดจาก 6 เป็น 3



//Fail2ban สามารถตรวจสอบ Process ของโปรแกรมอื่นได้ด้วย ถ้าต้องการให้ตรวจสอบโปรแกรมใด

ให้ตั้งค่า enabled = true ตรงโปรแกรมนั้น ตัวอย่างเช่น



[ssh-ddos] //ตัวอย่างการกำหนดให้ Fail2ban ตรวจสอบ Service SSH DDos

enabled = true //เปลี่ยนจาก false เป็น true เพื่อตรวจสอบ SSH DDos

port = ssh, sftp

filter = sshd-ddos

logpath = /var/log/auth.log

maxretry = 3 //แก้จำนวนครั้งของการล๊อคอินที่ผิดพลาดจาก 6 เป็น 3



[Apache] //ในหัวข้อ Apache ให้กำหนด enabled = false

enabled = false





เมื่อ แก้ไขไฟล์ /etc/fail2ban/jail.local เสร็จ ให้บันทึกไฟล์โดยกดปุ่ม Ctrl + O แล้วกดปุ่ม Enter จากนั้นออกจากโปรแกรม nano โดยกดปุ่ม Ctrl + X

รีสตา ร์ท Fail2ban โดยใช้คำสั่ง



โค๊ด:



sudo /etc/init.d/fail2ban restart



ตรวจ สอบการทำงานของ Fail2ban

ใช้โปรแกรม PuTTY ssh เข้าไปที่เครื่องเซิพเวอร์ที่ติดตั้ง Fail2ban ลองทำการ Login โดยกรอก user และ Password ที่ผิด ตามจำนวนครั้งที่ตั้งให้แบน

ตรวจสอบ log ของ Fail2ban โดยใช้คำสั่ง

โค๊ด:



tail /var/log/fail2ban.log





จะ แสดง log ของ fail2ban



คุณไม่มีสิทธิ ในการดูไฟล์ภาพนะจ้ะ

Please register or login



จาก Log ระบบสามารถทำงานได้ปกติ โดย WARNING [ssh] Ban 192.168.130.1 คือ IP ที่ถูกแบน

ตรวจสอบไอพีที่ถูกแบนโดยใช้คำสั่ง



โค๊ด:



iptables -n -L



จะ แสดง IPtables จะพบว่า 192.168.130.1 ถูกแบนใน iptable



คุณไม่มี สิทธิ ในการดูไฟล์ภาพนะจ้ะ

Please register or login



จาก นั้นระบุ IP ที่ต้องการยกเลิกแบนไอพี โดยใช้คำสั่ง

โค๊ด:



iptables -D fail2ban-ssh -s 192.168.130.1 -j DROP



ตรวจสอบว่าได้ยกเลิกแบนไอพีหรือยัง โดยใช้คำสั่ง

โค๊ด:



iptables -n -L





จะ แสดง IPtables



คุณไม่มีสิทธิ ในการดูไฟล์ภาพนะจ้ะ

Please register or login



จะ สังเกตว่า IP 192.168.130.1 ถูกลบจาก IPtables แล้ว สามารถ login ได้ตามปกติ



เอกสารอ้างอิง

คุณไม่สามารถมองเห็นลิ้งได้.

Register or Login

ไม่มีความคิดเห็น: