Cách cài đặt fail2ban đúng cách trên VPS của Bandwagon Host để ngăn chặn các cuộc tấn công SSH - b66.club game đổi thưởng

Trải nghiệm trò chơi đổi thưởng tại b66.club để khám phá thế giới giải trí mới lạ và hấp dẫn.

Lưu ý: Tôi chỉ đã thử nghiệm trên ba nhà cung cấp VPS khác nhau. Trong số đó, VPS từ Alibaba Cloud ECS và Hosteons hoạt động tốt mà không gặp vấn đề nào, dù sử dụng CentOS 6 hay 7. Tuy nhiên, VPS của Bandwagon Host lại khá đặc biệt – tôi không thể cài đặt fail2ban một cách dễ dàng. Mỗi lần thử cài đặt đều nhận được thông báo “No package fail2ban available.” Sau nhiều giờ tìm kiếm trên mạng, cuối cùng tôi cũng tìm thấy giải pháp trên một trang web tiếng Anh (rất tiếc là tôi đã vô tình xóa bộ nhớ cache của trình duyệt nên không thể tìm lại địa chỉ này). Dưới đây là hướng dẫn chi tiết.

Thực tế, nếu bạn chuyển sang đăng nhập SSH bằng khóa riêng thay vì mật khẩu, bạn sẽ không cần phải lo lắng về việc cài đặt fail2ban. Nhưng đôi khi chúng ta vẫn muốn thử sức với những thách thức nhỏ, phải không? Vậy thì bắt đầu thôi!

Bằng mặc định, kho lưu trữ của CentOS không bao gồm fail2ban, vì vậy bạn cần thêm nguồn trước khi tiến hành cài đặt.

1
rpm -Uvh install fail2ban

Khi thực hiện lệnh yum -y install fail2ban, bạn có thể nhận được kết quả như sau:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[root@host ~]# yum -y install fail2ban
Đã tải các plugin: fastestmirror
Cấu hình quá trình cài đặt
Đang tải tốc độ từ hostfile bộ nhớ đệm...
* base: centos.mirror.ndchost.com
* elrepo-kernel: repos.lax-noc.com
* extras: centos.sonn.com
* updates: mirror.scalabledns.com
Không có gói fail2ban khả dụng.
Lỗi: Không có gì để làm.

Rõ ràng rằng việc cài đặt fail2ban thất bại. Bây giờ, hãy kiểm tra xem nguồn đã được cài đặt chính xác chưa:

1
yum install -y epel-release

Kết quả:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[root@host ~]# yum install -y epel-release
Đã tải các plugin: fastestmirror
Cấu hình quá trình cài đặt
Đang tải tốc độ từ hostfile bộ nhớ đệm...
* base: mirror.scalabledns.com
* elrepo-kernel: repos.lax-noc.com
* extras: mirrors.xmission.com
* updates: centos.mirror.lstn.net
Gói epel-release-6-8.noarch đã được cài đặt và phiên bản mới nhất.
Không có gì để làm.

Tiếp theo, hãy kiểm tra xem EPEL đã được kích hoạt hay chưa:

1
yum repolist enabled

Kết quả:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[root@host ~]# yum repolist enabled
Đã tải các plugin: fastestmirror
Đang tải tốc độ từ hostfile bộ nhớ đệm...
* base: mirror.hostduplex.com
* elrepo-kernel: repos.lax-noc.com
* extras: mirrors.xmission.com
* updates: mirror.rackspace.com
repo id repo name status
base CentOS-6 - Base 6,710+3
elrepo-kernel ELRepo.org Community Enterprise Linux Kernel Repository - el6 25
extras CentOS-6 - Extras 31
updates CentOS-6 - Updates 43
repolist: 6,809

Chỉnh sửa tệp /etc/yum.repos.d/epel.repo và thay đổi phần [epel] từ enabled=0 thành enabled=1.

Sau khi hoàn tất, hãy thử cài đặt fail2ban lại. Tôi sử dụng một kịch bản tự động “một cú click” để cài đặt và cấu hình fail2ban, giúp bảo vệ SSH khỏiB 52 Game Game Bài Online Chơi Cùng Bạn Bè các cuộc tấn công bạo lực. Kịch bản này cho phép bạn tùy chỉnh thời gian phong tỏa IP và số lần thử tối đa.

1
2
3
4
// Cài đặt
wget fail2ban.sh
// Gỡ bỏ
wget uninstallfail2ban.sh

Kết quả:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[root@host ~]# wget www.seeit.life/fail2ban.sh
16:15:46-- www.seeit.life...
Connecting to www.seeit.life|47.52.170.67|:80... connected.
Yêu cầu HTTP đã gửi, đang chờ phản hồi... 200 OK
Độ dài: 5700 (5.6K) [application/octet-stream]
Lưu vào: “fail2ban.sh”
100%[==========================================================================================>] 5,700 --.-K/s trong 0s
2018-07-15 16:15:47 (207 MB/s) - “fail2ban.sh” đã được lưu [5700/5700]

[root@host ~]# bash fail2ban.sh
Chào mừng đến với Fail2ban!
Kịch bản Shell này có thể bảo vệ máy chủ của bạn khỏi các cuộc tấn công SSH nhờ sự hỗ trợ của Fail2ban và iptables.
Bạn có muốn thay đổi cổng SSH không? [y/n]: y
Vui lòng nhập cổng SSH (Mặc định: 12345): 12345
Nhập số lần thử tối đa [2-10]: 3
Nhập thời gian phong tỏa IP [giờ]: 9600

Đã tải các plugin: fastestmirror
Cấu hình quá trình cài đặt
Đang tải tốc độ từ hostfile bộ nhớ đệm...
* base: mirror.hostduplex.com
* elrepo-kernel: repos.lax-noc.com
* epel: mirrors.develooper.com
* extras: mirrors.xmission.com
* updates: mirror.rackspace.com
Gói epel-release-6-8.noarch đã được cài đặt và phiên bản mới nhất.
Không có gì để làm.

Đã tải các plugin: fastestmirror
Cấu hình quá trình cài đặt
Đang tải tốc độ từ hostfile bộ nhớ đệm...
* base: mirror.hostduplex.com
* elrepo-kernel: repos.lax-noc.com
* epel: mirrors.develooper.com
* extras: mirrors.xmission.com
* updates: mirror.rackspace.com
Gói fail2ban-0.9.6-1.el6.1.noarch đã được cài đặt và phiên bản mới nhất.
Không có gì để làm.

Dừng fail2ban: [ OK ]
Khởi động fail2ban: [ OK ]
Hoàn thành cài đặt! Khởi động lại sshd ngay bây giờ!
ssh: dịch vụ không được nhận diện
Github: is now runing on this server[Benvip Club Game Bài Nổ Hũ Uy Tín](https://www.z732.com) now!

Lưu ý rằng kịch bản tự động khởi động lại sshd không thành công, vì vậy bạn cần khởi động lại thủ công:

1
2
3
[root@host ~]# service sshd restart
Dừng sshd: [ OK ]
Khởi động sshd: [ OK ]

Kiểm tra trạng thái tường lửa:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[root@host ~]# iptables -nvL
Chain INPUT (policy DROP 2 packets, 80 bytes)
pkts bytes target prot opt in out source destination
0 0 f2b-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 96 packets, 13498 bytes)
pkts bytes target prot opt in out source destination

Chain f2b-SSH (1 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

Từ kết quả này, chúng ta có thể thấy rằng quy trình fail2ban “f2b-SSH” đã hoạt động, lắng nghe trên cổng 22. Nếu cổng SSH không phải là cổng mặc định 22, bạn cần thay đổi port=ssh thành port=xxx. Chỉnh sửa tệp /etc/fail2ban/jail.local:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[DEFAULT]
ignoreip = 127.0.0.1
bantime = 86400
maxretry = 3
findtime = 1800

[ssh-iptables]
enabled = true
filter = sshd
#action = iptables[name=SSH, port=SSH, protocol=tcp]
action = iptables[name=SSH, port=12345, protocol=tcp]
logpath = /var/log/secure
maxretry = 3
findtime = 3600
bantime = 34560000

Khởi động lại SSH, fail2ban và lưu quy tắc tường lửa:

1
2
3
service sshd restart
service fail2ban restart
service iptables save

Cuối cùng, kiểm tra trạng thái tường lửa một lần nữa:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
[root@host ~]# iptables -nvL
Chain INPUT (policy DROP 8 packets, 352 bytes)
pkts bytes target prot opt in out source destination
20 1116 f2b-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:12345
1 40 f2b-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 92 packets, 41940 bytes)
pkts bytes target prot opt in out source destination

Chain f2b-SSH (2 references)
pkts bytes target prot opt in out source destination
21 1156 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

Xong rồi!Fail2ban hiện đang lắng nghe cả cổng SSH mặc định (22) và cổng đã được thay đổi.

Built with Hugo
Theme Stack thiết kế bởi Jimmy