Skip to content

Commit

Permalink
docs(fail2ban): change Fail2ban to Fail2Ban
Browse files Browse the repository at this point in the history
  • Loading branch information
ruanyf committed Nov 2, 2023
1 parent a6e6434 commit f7d4083
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions docs/fail2ban.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Fail2ban 教程
# Fail2Ban 教程

## 简介

Fail2ban 是一个 Linux 系统的应用软件,用来防止系统入侵,主要是防止暴力破解系统密码。它是用 Python 开发的。
Fail2Ban 是一个 Linux 系统的应用软件,用来防止系统入侵,主要是防止暴力破解系统密码。它是用 Python 开发的。

它主要通过监控日志文件(比如`/var/log/auth.log``/var/log/apache/access.log`等)来生效。一旦发现恶意攻击的登录请求,它会封锁对方的 IP 地址,使得对方无法再发起请求。

Fail2ban 可以防止有人反复尝试 SSH 密码登录,但是如果 SSH 采用的是密钥登录,禁止了密码登录,就不需要 Fail2ban 来保护。
Fail2Ban 可以防止有人反复尝试 SSH 密码登录,但是如果 SSH 采用的是密钥登录,禁止了密码登录,就不需要 Fail2Ban 来保护。

Fail2ban 的安装命令如下。
Fail2Ban 的安装命令如下。

```bash
# ubuntu & Debian
Expand All @@ -22,33 +22,33 @@ $ sudo dnf install fail2ban
$ yum install fail2ban
```

安装后,使用下面的命令查看 Fail2ban 的状态。
安装后,使用下面的命令查看 Fail2Ban 的状态。

```bash
$ systemctl status fail2ban.service
```

如果没有启动,就启动 Fail2ban
如果没有启动,就启动 Fail2Ban

```bash
$ sudo systemctl start fail2ban
```

重新启动 Fail2ban
重新启动 Fail2Ban

```bash
$ sudo systemctl restart fail2ban
```

设置 Fail2ban 重启后自动运行。
设置 Fail2Ban 重启后自动运行。

```bash
$ sudo systemctl enable fail2ban
```

## fail2ban-client

Fail2ban 自带一个客户端 fail2ban-client,用来操作 Fail2ban
Fail2Ban 自带一个客户端 fail2ban-client,用来操作 Fail2Ban

```bash
$ fail2ban-client
Expand Down Expand Up @@ -99,13 +99,13 @@ $ sudo fail2ban-client set sshd unbanip 192.168.1.69

### 主配置文件

Fail2ban 主配置文件是在`/etc/fail2ban/fail2ban.conf`,可以新建一份副本`/etc/fail2ban/fail2ban.local`,修改都针对副本。
Fail2Ban 主配置文件是在`/etc/fail2ban/fail2ban.conf`,可以新建一份副本`/etc/fail2ban/fail2ban.local`,修改都针对副本。

```bash
$ sudo cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
```

下面是设置 Fail2ban 的日志位置。
下面是设置 Fail2Ban 的日志位置。

```bash
[Definition]
Expand All @@ -116,7 +116,7 @@ logtarget = /var/log/fail2ban/fail2ban.log

### 封禁配置

Fail2ban 封禁行为的配置文件是`/etc/fail2ban/jail.conf`。为了便于修改,可以把它复制一份`/etc/fail2ban/jail.local`,后面的修改都针对`jail.local`这个文件。
Fail2Ban 封禁行为的配置文件是`/etc/fail2ban/jail.conf`。为了便于修改,可以把它复制一份`/etc/fail2ban/jail.local`,后面的修改都针对`jail.local`这个文件。

```bash
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Expand Down Expand Up @@ -149,22 +149,22 @@ action = %(action_mw)s

如果配置写在其他标题行下,就表示只对该封禁目标生效,比如写在`[sshd]`下面,就表示只对 sshd 生效。

默认情况下,Fail2ban 对各种服务都是关闭的,如果要针对某一项服务开启,需要在配置文件里面声明。
默认情况下,Fail2Ban 对各种服务都是关闭的,如果要针对某一项服务开启,需要在配置文件里面声明。

```bash
[sshd]
enabled = true
```

上面声明表示,Fail2ban 对 sshd 开启。
上面声明表示,Fail2Ban 对 sshd 开启。

### 配置项

下面是配置文件`jail.local`的配置项含义,所有配置项的格式都是`key=value`

(1)bantime

封禁的时间长度,单位`m`表示分钟,`d`表示天,如果不写单位,则表示秒。Fail2ban 默认封禁10分钟(10m 或 600)。
封禁的时间长度,单位`m`表示分钟,`d`表示天,如果不写单位,则表示秒。Fail2Ban 默认封禁10分钟(10m 或 600)。

```bash
[DEFAULT]
Expand All @@ -173,7 +173,7 @@ bantime = 10m

(2)findtime

登录失败计算的时间长度,单位`m`表示分钟,`d`表示天,如果不写单位,则表示秒。Fail2ban 默认封禁 10 分钟内登录 5 次失败的客户端。
登录失败计算的时间长度,单位`m`表示分钟,`d`表示天,如果不写单位,则表示秒。Fail2Ban 默认封禁 10 分钟内登录 5 次失败的客户端。

```bash
[DEFAULT]
Expand Down Expand Up @@ -216,7 +216,7 @@ action = $(action_)s

上面的`action_`是默认动作,表示拒绝封禁对象的流量,直到封禁期结束。

下面是 Fail2ban 提供的一些其他动作。
下面是 Fail2Ban 提供的一些其他动作。

```bash
# ban & send an e-mail with whois report to the destemail.
Expand All @@ -243,7 +243,7 @@ action_cf_mwl = cloudflare[cfuser="%(cfemail)s", cftoken="%(cfapikey)s"]

(8)ignoreip

Fail2ban 可以忽视的可信 IP 地址。多个 IP 地址之间使用空格分隔。
Fail2Ban 可以忽视的可信 IP 地址。多个 IP 地址之间使用空格分隔。

```bash
ignoreip = 127.0.0.1/8 192.168.1.10 192.168.1.20
Expand All @@ -270,5 +270,5 @@ bantime = 2w
ignoreip = 127.0.0.1/8
```

首先需要注意,为了让 Fail2ban 能够完整发挥作用,最好在`/etc/ssh/sshd_config`里面设置`LogLevel VERBOSE`,保证日志有足够的信息。
首先需要注意,为了让 Fail2Ban 能够完整发挥作用,最好在`/etc/ssh/sshd_config`里面设置`LogLevel VERBOSE`,保证日志有足够的信息。

0 comments on commit f7d4083

Please sign in to comment.