27 C
Ho Chi Minh City
Chủ Nhật, Tháng Tám 1, 2021

AZDIGI

Fail2ban và các thao tác sử dụng trên CentOS 7.

Người quản trị server thường sử dùng giao thức SSH với port 22 là port mặc định thì việc khai thác có thể bằng cách sử dụng brute force để dò tìm mật khẩu truy cập vào máy chủ của bạn. Biện pháp đơn giản để hạn chế việc này là bạn đổi cổng port khác tuy nhiên điều này chỉ kéo dài sự sống cho thông tin và dữ liệu của bạn thêm 1 chút thôi không hoàn toàn có thể ngăn chặn được vì các tin tặc có thể sử dụng một số công cụ để quét các port, truy tìm ra port đang mở trên máy chủ và tiếp tục cuộc tấn công. Hiện nay với cuộc tấn công khai thác thông tin cũng như các dữ liệu sẽ bị đánh cắp gây ra khó khăn cho người quản trị máy chủ linux. Trong bài viết này, mình sẽ hướng dẫn cách thức cài đặt và cấu hình một ứng dụng mã nguồn mở đó là Fail2ban

I. Fail2ban là gì?

Fail2ban là một ứng dụng tự động block IP khi VPS bị tấn công hoặc bị các hacker sử dụng những tool dò tìm password đăng nhập vào VPS, hoạt động nền, theo dõi log file (tập tin nhật ký) để phát hiện ra địa chỉ IP đăng nhập sai mật khẩu SSH nhiều lần với một khoảng thời gian nhất định và chặn những địa chỉ IP đó với một khoảng thời gian định trước.

II. Cài đặt và cấu hình.

Bước 1: Cài đặt.

Lưu ý: Fail2ban không có sẵn trong thư viện hệ thống Linux nên bạn sẽ cài đặt bằng EPEL repository.

# yum install epel-release -y

Sau khi cài epel xong thì ta bắt đầu cài fail2ban.

# yum install fail2ban -y

p/s: Thêm ‘ -y ‘ để tự động tiếp tục cài đặt, không cần phải nhấn ‘ y ‘.

fail2ban
Qua trinh cai dat fail2ban

Bước 2: Cấu hình fail2ban.

Để cấu hình ta dùng text editor như vi, nano,…. Ở đây mình sẽ sử dụng text editor là nano.

# yum install nano

Sau khi đã cài đặt xong nano, ta cấu hình ở [DEFAULT] và [sshd] như sau:

  • DEFAULT:

Bạn mở file cấu hình của fail2Ban lên với lệnh sau:

# nano /etc/fail2ban/jail.conf

Ta chỉnh sửa nội dung như bên dưới.

# "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/8 ::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

Trong đó:

    • ignoreip: Không block những địa chỉ này.

    • bantime: Khoảng thời gian block mặc định (giây).

    • findtime: Khoảng thời gian (giây) một IP phải login thành công.

    • maxretry: Số lần login false tối đa.

  • sshd:

Bạn tạo file cấu hình sshd cho fail2ban.

# nano /etc/fail2ban/jail.conf

Và cấu hình với nội dung sau.

[sshd]

enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure
maxretry = 5
bantime = 3600

Trong đó:

    • enabled: Kích hoạt bảo vệ.

    • filter: Giữ mặc định để sử dụng file cấu hình /etc/fail2ban/filter.d/sshd.conf.

    • action: fail2ban sẽ ban địa chỉ IP nếu match filter /etc/fail2ban/action.d/iptables.conf
    • logpath: Đường dẫn file log fail2ban.

    • maxretry: Số lần login false tối đa.
    • bantime: Thời gian ban IP 3600 giây = 1 giờ.

Cấu hình xong hết mình bật và khởi động fail2ban lên:

# systemctl enable fail2ban

# systemctl start fail2ban

Screenshot from 2020 08 31 13 50 17 2

Mọi thứ đã sẵn sàng cho việc bảo vệ. Ta sẽ kiểm tra bằng việc thử nhập sai quá nhiều lần cho phép thì hiện tượng gì sẽ xẩy ra.

Và đây là kết quả.

Screenshot from 2020 08 31 14 36 00

Thế là đã bị BAN

Chúng ta cùng kiểm trả lại IP đã bị ban bởi fail2ban nhá!! ta dùng lệnh sau.

# fail2ban-client status sshd

Screenshot from 2020 09 01 01 27 47

Chúng ta vừa kiểm tra thấy được rằng có tổng 12 IP bị ban và trong đó có IP vừa bị ban lúc nảy.

Để có thể unban ta sử dụng lệnh sau:

# fail2ban-client set sshd unbanip <ip_address>

Sau khi đã unban chúng ta kiểm tra lại danh sách IP bị ban lúc nảy và con số đã giảm xuống còn 11 IP.

Screenshot from 2020 09 01 01 32 19

Vậy là ta đã hoàn thành xong việc cài đặt fail2ban để ngăn chặng việc tin tặc brute force.


Chúc các bạn thực hiện thành công.

Related Articles

How to Think and Act in the Plummeting Stock Market

People live better in big houses and in big clothes. I try to contrast; life today is full of contrast. We have to change!...

The Real Economy Has Never Been Tested by a Pandemic

People live better in big houses and in big clothes. I try to contrast; life today is full of contrast. We have to change!...

More and More People Stay Home as Coronavirus Spreads

People live better in big houses and in big clothes. I try to contrast; life today is full of contrast. We have to change!...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisement -ct khuyen mai noel tet

Latest Articles

How to Think and Act in the Plummeting Stock Market

People live better in big houses and in big clothes. I try to contrast; life today is full of contrast. We have to change!...

The Real Economy Has Never Been Tested by a Pandemic

People live better in big houses and in big clothes. I try to contrast; life today is full of contrast. We have to change!...

More and More People Stay Home as Coronavirus Spreads

People live better in big houses and in big clothes. I try to contrast; life today is full of contrast. We have to change!...

Fail2ban và các thao tác sử dụng trên CentOS 7.

Người quản trị server thường sử dùng giao thức SSH với port 22 là port mặc định thì việc khai thác có thể bằng...

Companies Are Putting Profits Ahead of Public Health

People live better in big houses and in big clothes. I try to contrast; life today is full of contrast. We have to change!...