Làm thế nào để bảo mật VPS CentOS 6 với Fail2Ban

Làm thế nào để bảo mật VPS CentOS 6 với Fail2Ban

Giới thiệu

Bảo mật là một yếu tố quan trọng của ngành công nghiệp IT và thất thoát database và tài khoản bị hack đã trở thành vấn đề hằng ngày vì sự thiếu cẩn trọng trong việc thiết lập các bảo mật cần thiết.

Sau khi hoàn tất thủ thuật này bạn sẽ học cách thiết lập server an toàn hơn bằng cách dùng Fail2Ban. Cơ bản nó sẽ chặn IPs muốn truy cập VPS của bạn nhiều lần nhưng thất bại.

Bạn cần gì?

Trước khi bắt đầu hướng dẫn này bạn cần chuẩn bị:

  • VPS với CentOS 6
  • SSH root access tới VPS

Bước 1 — Cài đặt Fail2Ban

Trước tiên, bạn cần kết nới tới VPS sử dụng Putty hoặc bất kỳ SSH Client nào.

Vì Fail2Ban đã có sẵn trong respositores mặc định của Centos, bạn chỉ cần cài EPEL package bằng cách chạy lệnh sau:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Bây giờ chỉ cần thực thi Yum install command với fail2ban package:

yum install fail2ban

Vậy là xong, bạn đã cài Fail2Ban lên VPS của bạn.

Bước 2 — Tạo file cấu hình trên local

Bước đầu, Fail2Ban lưu tất cả cấu hình của nó tại /etc/fail2ban/jail.conf file, tuy nhiên, sẽ không có thay đổi nào cần thiết với file này. Một số cập nhật hệ thống hoặc bản vá có thể lưu đè lên nó, vì vậy hãy tạo thêm file cấu hình trên local với lệnh này:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Bây giờ bạn có thể điều chỉnh theo ý bạn với file jail.local. Lưu ý là một số dịch vụ quan trọng cũng được cấu hình trong file này.

Bướ 3 — Cấu hình Fail2Ban

Mở file cấu hình với text editor, ở đây chúng tôi dùng Nano text editor:

nano /etc/fail2ban/jail.local

Bạn sẽ thấy thông tin này ở phía trên

#
# WARNING: heavily refactored in 0.9.0 release.  Please review and
#          customize settings for your setup.
#
# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory, e.g.:
#
# HOW TO ACTIVATE JAILS:
#
# YOU SHOULD NOT MODIFY THIS FILE.
#
# It will probably be overwritten or improved in a distribution update.
#
# Provide customizations in a jail.local file or a jail.d/customisation.local.
# For example to change the default bantime for all jails and to enable the
# ssh-iptables jail the following (uncommented) would appear in the .local file.
# See man 5 jail.conf for details.
#
# [DEFAULT]
# bantime = 3600
#
# [sshd]
# enabled = true
#
# See jail.conf(5) man page for more information



# Comments: use '#' for comment lines and ';' (following a space) for inline comments

Bạn nên ít nhất tạo các thay đổi này:

  • ignoreip – Xác định ISP IP trong dòng này, có nghĩa là nó sẽ tránh chặn IP của bạn.
  • bantime – Thời gian chặn là giá trị mà một người bị chặn khỏi server nếu người đó vi phạm bất kỳ rules nào. Mặc định là 10, bạn có thể nâng mức này lên thành vài giờ.
  • maxretry – Đây là số lần một host có thể thất bại khi đăng nhập, trước khi bị chặn.
  • findtime – Thời gian này để cho phép client đăng nhập. Mặc định là 10 phút.

Khi thay đổi đã được tạo, lưu file cấu hình với phím CTRL+X (hoặc COMMAND+X nếu bạn dùng Mac) shortcut.

Lưu ý là sau khi tạo thay đổi bạn cần khởi động lại dịch vụ Fail2Ban để thay đổi được áp dụng. Chạy command sau:

service fail2ban restart

Kết luận

Đừng quên bảo mật không phải là một chủ đề độc lập, nó là một bộ các thông số và cấu hình để đảm bảo an toàn. Luôn thực hiện nhiều lớp bảo mật với công nghệ mới, và nếu một trong số nó bị lỗ hổng thì lớp sau sẽ ngăn chặn được người xâm nhập.

Author
Tác giả

Hai G.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.