วิธีการติดตั้ง Fail2Ban บน CentOS

รู้เบื้องต้นเกี่ยวกับ Fail2Ban

โดยค่าเริ่มต้นไคลเอนต์เชื่อมต่อกับ SSH โดยใช้พอร์ต 22 เนื่องจากเป็นพอร์ตที่รู้จักกันดีการกำหนดค่าเริ่มต้นจึงมีความเสี่ยงต่อการโจมตีด้วยกำลังดุร้ายจำนวนมาก Fail2Ban เป็นวิธีการป้องกันเซิร์ฟเวอร์โดยอัตโนมัติจากการโจมตีเหล่านี้ โปรแกรมทำงานในพื้นหลังสแกนไฟล์บันทึกเพื่อตรวจสอบว่า IP ใดที่ถูกโจมตีและห้ามไม่ให้เข้าถึง SSH โดยอัตโนมัติ

การติดตั้ง Fail2Ban

ในบทช่วยสอนนี้เราจะติดตั้ง Fail2Ban บน CentOS 6 ผ่านที่เก็บ EPEL รันคำสั่งต่อไปนี้

yum install epel-release
yum install fail2ban

คำอธิบาย

  • yum install epel-release: ติดตั้งที่เก็บ EPEL (แพ็กเกจเสริมสำหรับ Enterprise Linux)
  • yum install fail2ban: ติดตั้ง Fail2Ban จากที่เก็บ EPEL

การกำหนดค่าการตั้งค่า Fail2Ban

เปิดไฟล์การกำหนดค่า Fail2Ban

nano /etc/fail2ban/jail.conf

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

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

คำอธิบาย

  • ignoreip: ห้ามแบนด์โฮสต์ที่ตรงกับที่อยู่ในรายการนี้ สามารถกำหนดที่อยู่ได้หลายรายการโดยใช้ตัวคั่นช่องว่าง เขียน IP ส่วนตัวของคุณในบรรทัดนี้
  • bantime: จำนวนวินาทีที่โฮสต์ถูกแบน
  • findtime: โฮสต์ถูกแบนหากมันถูกสร้างขึ้นmaxretryในช่วงที่ผ่านfindtimeมา
  • maxretry: จำนวนความล้มเหลวก่อนที่โฮสต์จะถูกแบน

การกำหนดค่า Fail2Ban เพื่อปกป้อง SSH

อันดับแรกเราต้องสร้างไฟล์กำหนดค่า

nano /etc/fail2ban/jail.local

คัดลอกบรรทัดด้านล่างและวางลงในไฟล์

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 5
  • enabled: เปิดใช้งานการป้องกัน หากคุณต้องการปิดใช้งานให้เปลี่ยนค่าเป็นเท็จ
  • filter: โดยปกติก็เป็นชุดที่จะ sshd /etc/fail2ban/filter.d/sshd.confซึ่งหมายถึงไฟล์
  • action: fail2ban จะห้าม IP /etc/fail2ban/action.d/iptables.confที่ตรงกับตัวกรอง หากคุณมีการเปลี่ยนแปลงพอร์ต SSH ก่อนที่จะเปลี่ยนไปยังพอร์ตใหม่ตัวอย่างเช่นport=ssh port=2222หากคุณใช้พอร์ต 22 คุณไม่จำเป็นต้องเปลี่ยนค่า
  • logpath: เส้นทางของไฟล์บันทึกที่ใช้โดย Fail2Ban
  • maxretry: จำนวนสูงสุดของการพยายามเข้าสู่ระบบล้มเหลว

เริ่มต้นบริการ Fail2Ban

เรียกใช้สองคำสั่งด้านล่างเพื่อเริ่มบริการ Fail2Ban:

chkconfig --level 23 fail2ban on
service fail2ban start

สุดท้ายตรวจสอบiptablesเพื่อดูว่ามีกฎเพิ่มโดย Fail2Ban

iptables -L

ผลลัพธ์จะมีลักษณะคล้ายกับเอาต์พุตนี้

Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

วิธีติดตามความพยายามในการเข้าสู่ระบบล้มเหลว

คุณสามารถใช้คำสั่งนี้เพื่อตรวจสอบว่าเซิร์ฟเวอร์ของคุณล้มเหลวในการพยายามเข้าสู่ระบบ (การโจมตีที่เป็นไปได้)

cat /var/log/secure | grep 'Failed password'

ผลลัพธ์จะมีลักษณะคล้ายกับบรรทัดเหล่านี้

Dec  6 22:47:12 vultr sshd[7942]: Failed password for root from 43.229.53.67 port 23021 ssh2
Dec  6 22:47:15 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:16 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:18 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:31 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:34 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:36 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:39 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:41 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:43 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:47 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2
Dec  6 22:47:49 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2

หากต้องการดูว่า IP ใดที่ถูกแบนให้ใช้คำสั่งต่อไปนี้

iptables -L -n

หากต้องการลบที่อยู่ IP จากรายการที่ถูกแบนให้เรียกใช้คำสั่งต่อไปนี้ เปลี่ยนbanned_ipเป็น IP ที่คุณต้องการยกเลิกการแบน

iptables -D f2b-SSH -s banned_ip -j DROP

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true