Ubuntu

為什麼fail2ban發現但不禁止

  • January 13, 2017

我注意到我的 Ubuntu Xenial 伺服器上有一些奇怪的東西。

它在預設埠上有 SSH,並且有 fail2ban。

Fail2ban 正在檢測伺服器上的蠻力嘗試並相應地記錄:

2017-01-12 10:58:19,927 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:03:27,808 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:08:37,936 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:13:51,538 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:18:57,939 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:24:10,399 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:29:23,161 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:34:34,064 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x
2017-01-12 11:39:44,540 fail2ban.filter    [23119]: INFO    [sshd] Found x.x.x.x

xxxx 在所有情況下都是相同的 IP,而這傢伙只是在釣魚隨機使用者名,如 auth.log 中所示:

Jan 12 12:05:46 MYSERVER sshd[23579]: Invalid user journalist from x.x.x.x
Jan 12 12:05:46 MYSERVER sshd[23579]: input_userauth_request: invalid user journalist [preauth]
Jan 12 12:05:46 MYSERVER sshd[23579]: Received disconnect from x.x.x.x port 47995:11: Normal Shutdown, Thank you for playing [preauth]
Jan 12 12:05:46 MYSERVER sshd[23579]: Disconnected from x.x.x.x port 47995 [preauth]

Fail2ban 看到它們,他將它們列為“找到”,但沒有禁止。有任何想法嗎?

編輯:

cat /etc/fail2ban/jail.d/myjails.local
[apache-auth]
enabled = true

[sshd-ddos]
enabled = true

[recidive]
enabled = true

[dovecot]
enabled = true

[postfix]
enabled=true

其餘配置文件根據 Ubuntu 的健全預設設置保持不變,即/etc/fail2ban/jail.conf

[sshd]

port    = ssh
logpath = %(sshd_log)s


[sshd-ddos]
# This jail corresponds to the standard configuration in Fail2ban.
# The mail-whois action send a notification e-mail with a whois request
# in the body.
port    = ssh
logpath = %(sshd_log)s

我們有:

cat /etc/fail2ban/jail.d/defaults-debian.conf
[sshd]
enabled = true

Fail2ban 似乎沒有禁止任何人 - 您提供的日誌沒有顯示任何人超過了 Ubuntu xenial 隨附的 fail2ban 的預設限制。

查看您的/etc/fail2ban/jail.conf,在該[DEFAULT]部分中有參數findtime(預設 600 seconds,所以 10 分鐘)和maxretry(預設 5 times,在該查找視窗內)。這意味著一個小時只嘗試幾個密碼的人根本不會觸發它。

請注意,您不需要更改此文件(也不應該更改,以便能夠乾淨地升級它)。你可以把

$$ DEFAULT $$阻止你的/etc/fail2ban/jail.d/myjails.local,以及:

[DEFAULT]
findtime = 3600
bantime = 3600
maxretry = 4
  • 查看文件的開頭,jail.conf它實際上給出了一些關於如何和為什麼的提示。
  • 不要把自己鎖在外面。
  • 你的密碼應該足夠強大,這樣你就應該放心,知道有幾個人每小時嘗試幾個密碼,而在一百萬年內沒有發現任何東西。

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