Fail2ban

我可以在 fail2ban 日誌路徑中使用正則表達式嗎?

  • October 12, 2018

我正在使用CETNOS 7, yum install fail2ban,in /etc/fail2ban/jail.local,我想設置:

[DEFAULT]
apache_error_log = /var/log/httpd/*error_log
/home/websites/.*?/log/errorlog  

表達:

   [DEFAULT]
   apache_error_log = /var/log/httpd/*error_log
   /home/websites/site1/log/errorlog
   /home/websites/site2/log/errorlog  

然後,我可以使用%(apache_error_log)s如下/etc/fail2ban/jail.local

[apache-noscript]

port     = http,https
logpath  = %(apache_error_log)s

這個可以嗎?

Fail2Banlogpath不使用正則表達式,而是使用glob Unix 文件名模式匹配

監獄.conf (5) , logpath

要監視的日誌文件的文件名,以新行分隔。Globs – 包含*and?或– 的路徑[0-9]可以被使用,但是只有在啟動時存在的匹配這個 glob 模式的文件才會被考慮。

規則:

  • *匹配任意數量的任意字元(包括無)
  • ?匹配任何單個字元
  • [abc]匹配列出的字元之一
  • [a-z]匹配(取決於語言環境的)字元範圍中的一個字元
  • 在括號內,!可用於否定(POSIX 系統)
  • 路徑分隔符,即/從不匹配

因此,/home/websites/*/log/errorlog會做。

引用自:https://serverfault.com/questions/935251