วิธีการติดตั้ง Fail2ban บนเซิร์ฟเวอร์ Ubuntu 18.04
ทำให้ดีขึ้น ความปลอดภัยของเซิร์ฟเวอร์ Ubuntu ผ่านการเพิ่มระบบตรวจจับการบุกรุก เพื่อที่คุณอาจจะต้องการหันไป Fail2ban. Fail2ban ตรวจสอบไฟล์บันทึกเฉพาะ (พบภายในไฟล์ /var/log ไดเรกทอรี) สำหรับการพยายามเข้าสู่ระบบที่ล้มเหลวหรือการโจมตีอัตโนมัติ เมื่อ Fail2ban ตรวจพบการพยายามประนีประนอมจากที่อยู่ IP มันจะบล็อกที่อยู่ IP (โดยการเพิ่มสายโซ่ใหม่ให้กับระบบรักษาความปลอดภัย iptables) จากการเข้าสู่เซิร์ฟเวอร์
ในการติดตั้ง Fail2ban คุณต้องเข้าถึงเชลล์บน Ubuntu Server เวอร์ชันใดก็ได้ที่รองรับ ด้วยบัญชีที่มีสิทธิ์ sudo ซึ่งทำให้สามารถติดตั้งแพ็คเกจซอฟต์แวร์ใหม่ได้

วิธีการติดตั้ง Fail2ban
ติดตั้ง Fail2ban โดยใช้ Apt. วิธีที่ดีที่สุดคือทำการติดตั้งบนแพลตฟอร์มเซิร์ฟเวอร์ที่อัปเดตใหม่ และหากเวอร์ชันเคอร์เนลอัปเดต ให้รีบูตเซิร์ฟเวอร์ก่อนที่คุณจะติดตั้ง Fail2ban
หลังจากการติดตั้งเสร็จสิ้น ให้เริ่มต้นและเปิดใช้งาน Fail2ban ด้วยคำสั่งสองคำสั่งต่อไปนี้:
sudo systemctl start fail2ban
sudo systemctl เปิดใช้งาน fail2ban
Fail2ban กำลังทำงานอยู่บนระบบและพร้อมที่จะกำหนดค่า
กำหนดค่า Fail2ban
Fail2ban ได้รับการกำหนดค่าโดยใช้คุก คุกกำหนดวิธีที่บริการตรวจสอบและวิธีดำเนินการกับการโจมตีอย่างรวดเร็ว
นอกกรอบระบบปลอดภัยอยู่แล้ว อย่างไรก็ตาม ยังมีความยืดหยุ่นสูงอีกด้วย ไฟล์กำหนดค่าหลักคือ /etc/fail2ban/jail.conf. อย่าแก้ไขไฟล์นั้น ให้สร้างไฟล์ใหม่ที่มีนามสกุล .local แทน Fail2ban อ่านไฟล์ .conf ก่อนเสมอ และไฟล์ .local เป็นอันดับสอง การกำหนดค่าใดๆ ที่อ่านในไฟล์ .local จะแทนที่การกำหนดค่าที่คล้ายกันในไฟล์ .conf
ตัวอย่างการกำหนดค่า
สมมติว่าคุณต้องการสร้างคุกแบบกำหนดเองสำหรับ Secure Shell daemon ที่จะ:
- มอนิเตอร์ /var/log/auth.log
- ใช้ตัวกรอง sshd ของ fail2ban เริ่มต้น
- ตั้งค่าพอร์ต SSH เป็น 22
- ตั้งค่าการลองใหม่สูงสุดเป็น 3
การปรับแต่ง ssh ใน .local jail จะแทนที่การกำหนดค่าที่คล้ายกันที่พบในไฟล์การกำหนดค่าหลัก jail.conf (เช่น การลองใหม่สูงสุดเริ่มต้นใน jail.conf ตั้งไว้ที่ 5) ด้วยคุกนี้ในสถานที่ถ้าบุคคล (หรือบอท) ล้มเหลวและ เข้าสู่ระบบ SSH พยายามสามครั้งต้นกำเนิด ที่อยู่ IP จะถูกห้าม
ในการกำหนดค่านี้ ให้ออกคำสั่ง:
sudo nano /etc/fail2ban/jail.local.
ในไฟล์ใหม่นี้ ให้วางเนื้อหาต่อไปนี้:
[sshd]
เปิดใช้งาน = จริง
พอร์ต = 22
ตัวกรอง = sshd
logpath = /var/log/auth.log
แม็กซ์เรทรี่ = 3
บันทึกและปิดไฟล์ จากนั้นรีสตาร์ท Fail2ban ด้วยคำสั่ง:
sudo systemctl รีสตาร์ท fail2ban
ทดสอบ Fail2ban
หากต้องการทดสอบ Fail2ban ให้ไปที่เครื่องอื่นที่มีที่อยู่ IP อื่น และเริ่มเซสชัน Secure Shell ในเซิร์ฟเวอร์ ทุกครั้งที่พิมพ์รหัสผ่านผู้ใช้ไม่ถูกต้อง หลังจากการเข้าสู่ระบบล้มเหลวครั้งที่สาม บัญชีผู้ใช้นั้นจะถูกแบน

แม้ว่าคุณจะพยายาม SSH กลับเข้ามาในเซิร์ฟเวอร์จากที่อยู่ IP เดียวกัน การเข้าถึงก็ยังถูกปฏิเสธ
เลิกบล็อกที่อยู่ IP
เลิกแบน IP ด้วยคำสั่ง fail2ban-client (ซึ่งติดตั้งพร้อมกับ fail2ban) ดังนี้:
sudo fail2ban-client ตั้งค่า sshd unbanip 192.168.1.100