Cài đặt Fail2Ban để bảo bảo vệ SSH trên Linux

DDos

VIP Members
22/10/2013
524
2.191 bài viết
Cài đặt Fail2Ban để bảo bảo vệ SSH trên Linux
Fail2ban là 1 chương trình được viết bằng python có nhiệm vụ chặn các ip kết nối đến server dựa vào các dấu hiệu nghi ngờ mà ip đó để lại trong file log của hệ thống hoặc dịch vụ. Ví dụ như có quá nhiều lần sử dụng mật khẩu không hợp lệ, truy cập không hợp lệ hoặc các dấu hiệu bất thường khác mà có thể nhận biết được.

Mỗi luật trong fail2ban (jail) bao gồm 3 thành phần: luật lọc(filter) và luật chặn(action) và file log cần lọc. Fail2ban đếm số lần 1 ip vi phạm luật lọc(filter) trong 1 khoảng thời gian xác định, nếu số lần vi phạm vượt quá 1 ngưỡng cho trước thì ip đó sẽ bị chặn kêt nối đến server bởi luật chặn(action). Các thông số khoảng thời gian quét, ngưỡng giới hạn, thời gian chặn ip hay vị trí file log sẽ được cấu hình riêng cho từng jail.

fail2banhero.jpg

Sử dụng Fail2ban để bảo vệ ssh trong Linux.
  1. Cài đặt Fail2ban
    Ubuntu/Debian: sudo apt-get install fail2ban
    CentOS: yum install fail2ban
  2. Cấu hình Fail2ban:
    vi /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

    Trong đó:
    • ignoreip: là địa chỉ IP mà bạn không muốn block
    • bantime: khoảng thời gian (giây) block IP
    • findtime: khoảng thời gian (giây) một IP phải login thành công
    • maxretry: số lần đăng nhập sai tối đa

  3. Cấu hình Fail2Ban bảo vệ SSH

    vi /etc/fail2ban/jail.local

    [ssh-iptables]

    enabled = true
    filter = sshd
    action = iptables[name=SSH, port=ssh, protocol=tcp]
    # sendmail-whois[name=SSH, dest=root, [email protected]]
    logpath = /var/log/secure
    maxretry = 3
    bantime = 7200

    Trong đó

    • enabled: tắt bật chế độ 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 sử dụng để theo dõi
    • maxretry: số lần login false tối đa
    • bantime: thời gian ban IP

  4. Khởi động Service Fail2Ban
    chkconfig --level 23 fail2ban on
    service fail2ban start
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: maldet
Thẻ
fail2ban
Bên trên