Cách cài đặt Fail2Ban trên CentOS 7

5
(3)

Tại sao phải cài đặt Fail2Ban?

Nếu bạn là người quản trị VPS thì khi đăng nhập bằng SSH thì bạn sẽ thấy dòng thông báo sau:

There were xxxxx failed login attempts since the last successful login.
Last login: Wed Jul 10 07:50:17 2019 from xxx.xxx.xxx.xxx

Với xxxxx là một con số khá lớn, nó thể hiện số lần đăng nhập thất bại kể từ lần đăng nhập thành công gần nhất.

Thông báo số lần đăng nhập thất bại từ lần đăng nhập thành công lần cuối.
Thông báo số lần đăng nhập thất bại từ lần đăng nhập thành công lần cuối.

Chính vì nó mà server bạn có thể chậm đi vì bị tấn công liên tục. Vì vậy điều bạn cần làm ngay đó là dựng lên một luật lệ để ngăn cản hành động dò password này lên con server của bạn bằng Fail2ban.

Fail2ban quét các tệp nhật ký và cấm IP hiển thị các dấu hiệu độc hại – quá nhiều lỗi mật khẩu, tìm cách khai thác, v.v.

Lệnh cài đặt Fail2ban trên Centos 7

Các lệnh được thực thi với quyền root.

Cập nhật các gói phần mềm trong hệ thống bằng lệnh

#yum update -y

Bây giờ cài đặt fail2ban trong máy chủ đang chạy lệnh dưới đây,

#yum install fail2ban fail2ban-systemd
Cài đặt Fail2Ban trên CentOS 7
Cài đặt Fail2Ban trên CentOS 7

Cập nhật chính sách selinux bằng cách

#yum update -y selinux-policy*

Sau khi cài đặt, bạn phải định cấu hình và tùy chỉnh phần mềm với tệp cấu hình jail.local, do đó, mặc dù jail.conf mặc định được sửa đổi bởi gói nâng cấp, các thay đổi của bạn sẽ an toàn.

Tất cả các tùy chọn mặc định sẽ được lấy từ tệp jail.conf và tất cả những gì bạn muốn ghi đè sẽ được lấy từ tệp jail.local.

#cp -pf /etc/fail2ban/jail.conf  /etc/fail2ban/jail.local

Lệnh hỏi có ghi đè không thì Enter.

Mở jail.local bằng trình soạn thảo vim và bạn có thể đặt giới hạn để ngăn cấm một hoặc nhiều địa chỉ IP, đặt thời lượng tạm thời, v.v. Ví dụ được đưa ra dưới đây.

#vim /etc/fail2ban/jail.local hoặc nano /etc/fail2ban/jail.local

Nếu bạn không quen sửa bằng lệnh thì bạn có thể dùng trình FTP để sửa cho trực quan:

Sửa file jail.local để cấu hình Fail2Ban
Sửa file jail.local để cấu hình Fail2Ban
# "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 (and/or comma) separator.
ignoreip = 127.0.0.1/8

# External command that will take an tagged arguments to ignore, e.g. <ip>,
# and return true if the IP is to be ignored. False otherwise.
#
# ignorecommand = /path/to/command <ip>
ignorecommand =

# "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 = 5

Dùng lệnh :wq để thoát khỏi trình chỉnh sửa. Hoặc bạn có thể dùng các trình FTP để sửa trực quan hơn tại: /etc/fail2ban/ Hoặc đơn giản hơn là để mặc định. Nếw dùng lệnh nano để chỉnh sửa thì Ctrl+O Enter Ctrl+X để thoát ra.

Thêm một tập tin để bảo vệ SSH.

Tạo một tập tin /etc/fail2ban/jail.d/sshd.local bằng cách sử dụng vim và thêm các dòng sau vào tệp.

#vim /etc/fail2ban/jail.d/sshd.local hoặc nano etc/fail2ban/jail.d/sshd.local
[sshd]
enabled = true
port = ssh
#action = firewallcmd-ipset
logpath = %(sshd_log)s
maxretry = 3
bantime = 7200

Bây giờ kích hoạt và bắt đầu fail2ban bằng cách thực hiện các lệnh bên dưới,

#systemctl enable fail2ban
#systemctl start fail2ban

Để theo dõi các lần đăng nhập thất bại, hãy sử dụng lệnh đã cho,

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

Và chúng ta sẽ nhận được một đầu ra như thế này:

Apr 19 13:08:48 server sshd[21017]: Failed password for root from 10.0.0.110 port 53188 ssh2
Apr 19 13:08:55 server sshd[21017]: Failed password for root from 10.0.0.110 port 53188 ssh2
Apr 19 13:08:59 server sshd[21017]: Failed password for root from 10.0.0.110 port 53188 ssh2

Lệnh kiểm tra trạng thái của Fail2Ban:

# fail2ban-client status
hoặc lệnh chi tiết để xem bao nhiêu ip đã bị ban.
# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     41
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 9
   |- Total banned:     15
   `- Banned IP list:   183.109.88.165 122.195.200.148 222.186.15.110 153.36.240.126 222.186.52.123 183.131.82.99 153.36.236.242 153.36.232.139 153.36.242.143

Chúng ta có thể loại bỏ lệnh cấm của địa chỉ IP bằng lệnh

#fail2ban-client set sshd unbanip ‘IPADDRESS’

Sửa IPADDRESS thành ip bạn muốn gỡ lệnh cấm.

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 3

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.