我在跑:
- Fail2Ban v0.9.6
- 在 Debian 9.4 (4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux)
这是我的 F2B 目录:
$ la -al /etc/fail2ban
total 72K
drwxr-xr-x 6 root root 4,0K juil. 17 14:03 .
drwxr-xr-x 121 root root 12K juil. 15 15:12 ..
drwxr-xr-x 2 root root 4,0K juil. 15 11:56 action.d
-rw-r--r-- 1 root root 2,3K déc. 9 2016 fail2ban.conf
drwxr-xr-x 2 root root 4,0K avril 17 2017 fail2ban.d
drwxr-xr-x 3 root root 4,0K juil. 15 11:56 filter.d
-rw-r--r-- 1 root root 21K juil. 15 14:05 jail.conf
drwxr-xr-x 2 root root 4,0K juil. 17 14:12 jail.d
-rw-r--r-- 1 root root 2,4K déc. 9 2016 paths-common.conf
-rw-r--r-- 1 root root 640 juil. 15 13:01 paths-debian.conf
-rw-r--r-- 1 root root 975 déc. 9 2016 paths-opensuse.conf
我只是想确定我自己的配置文件在哪里,是在:
/etc/fail2ban/jail.d/
?
在这种情况下,我似乎必须创建我的jail-debian.conf
:
jail.d
├── defaults-debian.conf
└── jail-debian.conf
但我如何确定它将jail-debain.conf
被读取为我自己的配置?
我几乎确信我是对的,因为我为 sshd 创建了一个监狱,更改了端口,然后我测试了我的监狱,由于一些错误,我被禁止了。
如果我使用fail2ban-client
,它会显示:
$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
|- Banned IP list:
所以我想知道 F2B 如何决定在以下之间使用哪些conf文件:
jail.d
├── defaults-debian.conf
└── jail-debian.conf
因为如果我搜索 include with 则grep
无处可知道在哪里读取我的conf文件:
$ sudo grep -r include /etc/fail2ban
如果我将某些内容更改jail-debain.conf
为错误,例如没有标题部分并重新加载,那么我就会出错。
所以我确定我的文件正在读取,但我不知道它在哪里告诉 F2B。
答案1
经过一番挖掘后发现它实际上在手册页(man jail.conf
)中进行了解释:
您实际上没有指定要使用哪个文件,它们只是全部按以下顺序或优先顺序进行处理:
jail.conf
jail.d/*.conf
(所有文件,按字母顺序排列)jail.local
jail.d/*.local
(所有文件,按字母顺序排列)
文件都是按顺序读取的,文件中设置的任何选项都会覆盖先前文件中的相同选项(相同的部分,相同的名称)。
在您的情况下,文件将按以下顺序处理:
jail.conf
jail.d/defaults-debian.conf
jail.d/jail-debian.conf
最后一个文件的名称不必是jail-debian.conf
.它实际上可以是任何东西,只要它以.conf
or结尾并且按字母顺序.local
排列在后面即可。defaults-debian.conf