fail2ban使用教程

fail2ban使用教程


介紹

  • fail2ban用於監視系統日誌,通過正則表達式匹配錯誤錯誤信息,設置一定的條件觸發相應的屏蔽動作。
    在筆者的vps裏,主要是用於ssh的保護,ssh登錄錯誤的時候會記錄到 /var/log/secure,fail2ban通過 gamin檢測到新增日誌,10min內同一ip連續登陸5次就會封禁30min。

安裝

  • 這裏有兩種安裝方式,使用yum安裝或者通過rpm安裝。筆者的系統版本是CentOS-6.7

yum安裝

  • #首先安裝epel源,如果已經安裝可以跳過此步
    yum install -y epel-release
    #然後安裝fail2ban:
    yum install -y fail2ban

rpm安裝

  • fail2ban依賴下面四個安裝包:
  • ed: Linux 操作系統下最簡單的文本編輯器,以行爲單位對文件進行編輯
  • gamin-python: python調用gamin的一個模塊,gamin實現了一套監控文件變化的機制
  • ipset: 管理 ip地址/端口/mac地址 的模塊,一般用於輔助提高iptables的性能
  • python-inotify: python的一個模塊,實現了文件變化通知機制

配置文件說明

配置文件位於:

  • /etc/fail2ban/action.d/ //採取相對應措施的目錄
  • /etc/fail2ban/fail2ban.conf //fail2ban的配置文件
  • /etc/fail2ban/fail2ban.d/ //fail2ban的配置文件目錄
  • /etc/fail2ban/filter.d/ //具體過濾規則文件目錄
  • /etc/fail2ban/jail.conf //阻擋設定文件
  • /etc/fail2ban/jail.d/ //阻擋設定文件的目錄
  • /etc/fail2ban/paths-*.conf //不同linux發行版下路徑的相關設置,在jail.conf的[INCLUDES]裏指定

fail2ban.conf是針對fail2ban程序運行本身的一些設置。

jail.conf 是fail2ban的業務功能設置,裏面設置了需要監控那些服務以及如何保護等,裏邊已經針對常用的服務提供了監控方案,比如sshd、apache、3proxy等,筆者只啓用了sshd的保護。有一個[DEFAULT]部分適用於所有其他部分,除非默認選項在其他部分中覆蓋。

基本配置解析

  • ignoreip :這是一個空格分隔的IP地址列表,不能被fail2ban阻止。 例如,如果連接到服務器的計算機具有靜態IP地址,則可能需要在此處列出。
  • bantime :如果被fail2ban(600秒= 10分鐘)捕獲,主機被阻止的時間(秒)》
  • maxretry :最大 主機被fail2ban阻止之前失敗的登錄嘗試次數。
  • 過濾器 :指在/etc/fail2ban/filter.d中的相應過濾器文件。
  • logpath :fail2ban檢查失敗的登錄嘗試的日誌文件。

如/etc/fail2ban/jail.conf頂部的註釋所示 ,我們不會修改/etc/fail2ban/jail.conf本身來將其調整爲我們的需要,而是通過創建新的配置文件來覆蓋/ etc / fail2ban / jail.local 。

啓用sshd的保護

  • 在jail.conf的[sshd]中加上一行enabled = true就可以:

    # SSH servers
    [sshd]
    port = ssh
    logpath = %(sshd_log)s
    enabled = true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章