fail2ban的配置主要由基礎配置(fail2ban.conf)和監禁配置(jail.conf)兩部分組成。
fail2ban的配置采用標簽塊"[塊名]"和鍵值"key=value"的形式描述配置。
在fail2ban配置中可以使用"#"來注釋行,可以寫入一行關於配置的描述信息。
配置塊 - [INCLUDES]
在fail2ban的配置中,"[INCLUDES]"配置塊是公共的,它主要用於在當前配置文件中關聯其他配置文件,它主要由"after"和"before"兩個配置選項組成,"after"表示在在加載當前文件中的配置項之后再加載指定的另一個文件中的配置內容,"before"表示在加載當前文件中的配置項之前加載指定的另一個文件中的配置內容。
基礎配置(fail2ban.conf)
fail2ban.conf主要是"[Definition]"配置塊下進行配置,配置Fail2ban服務端的常規配置項,這是特定的配置。
監禁配置(jail.conf)
jail.conf主要由默認的監禁配置"[DEFAULT]"和自定義的監禁配置"[自定義監禁名稱]"兩部分組成。
"[DEFAULT]"中定義的配置項將是在所有監禁(jail)中生效的全局配置項,如果"[自定義監禁名稱]"的配置項覆蓋了"[DEFAULT]"中定義的配置項則以"[自定義監禁名稱]"中的配置有效,即局部優先於全局,如果全局配置中未定義則局部自動引用全局的配置。
在fail2ban的配置中每個配置項都是一個變量,可使用"%(變量)s"的方式在其他位置調用。
過濾器配置(filter)
filter主要由"[Definition]"定義過濾器和"[Init]"初始化過濾器兩個配置塊組成。
在"[Definition]"中"failregex"配置項用於使用正則表達式定義要從日志中匹配到要禁止主機的IP地址,在正則表達式中使用關鍵字"
"[Init]"配置塊用於初始化過濾器,即定義關於過濾器的一些固定配置項,常見的有"maxlines"和"journalmatch","maxlines"定義過濾器每次從日志中讀取的日志行最大數量;"journalmatch"定義當Fail2ban使用"backend=systemd"后端文件監視器時,從指定的系統服務的journal日志中匹配要禁止的主機IP。
動作配置(action)
action主要由"[Definition]"定義動作和"[Init]"初始化動作兩個配置塊組成。
在動作(action)配置項中可以使用"<關鍵字>"的方式定義要執行動作的參數。例如:"actionstart =
在動作中"