fail2ban.service: Main process exited, code=exited, status=255/n/a

【PR】
※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。

fail2banのsshdの起動に失敗する

RockyLinuxの初期設定でいつものように、初っ端sshdを設定して起動しようとしたところ、以下のエラーで起動できませんでした。

May 04 09:43:30 xxxxxx systemd[1]: Starting Fail2Ban Service...
May 04 09:43:30 xxxxxx systemd[1]: Started Fail2Ban Service.
May 04 09:43:30 xxxxxx fail2ban-server[xxxx]: 2022-05-04 09:43:30,740 fail2ban                [xxxx]: ERROR   Failed du>
May 04 09:43:30 xxxxxx fail2ban-server[xxxx]: 2022-05-04 09:43:30,741 fail2ban                [xxxx]: ERROR   Async con>
May 04 09:43:30 xxxxxx systemd[1]: fail2ban.service: Main process exited, code=exited, status=255/n/a
May 04 09:43:30 xxxxxx systemd[1]: fail2ban.service: Failed with result 'exit-code'.

設定した内容(起動しない)

Webでも見かけるfail2banの初期設定で

/etc/fail2ban/jail.conf

/etc/fail2ban/jail.d/jail.local

とかでコピーして
jail.local
の中の
「最初の」

# [sshd]
# enabled = true

[sshd]
enabled = true

のコメントを外す、というようにしたのですが、、、、

取り合えずの対処(動いた)

なんかエラーだとダブって起動しようとしているようにも読めるのですが、
確かに
jail.localには下の方にもう一つの[sshd]セクションがあります。

[sshd]
 
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode   = normal
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

試しに最初の

# [sshd]
# enabled = true

はそのままにして

下の[sshd]セクションの中に

enabled = true

を突っ込んでやると、うまく起動しました。

動作確認

取り合えず動いているようなのでよしとしますか。。。
以前はダブりがあっても動いていたように思うのですが、今の動きの方が正しいですよね。

# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 15
|  |- Total failed:     799
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 0
   |- Total banned:     41
   `- Banned IP list:

ちなみに

watch fail2ban-client status sshd

とかやってBANされていくのを眺めるのはちょっと楽しいですよね!?

※追記
上記の対策でもだめだったサーバがありました。
jail.confをコピーするのではなく、
何もないjail.localを新規で作って
こんな感じで必要なものだけ書くとうまくいきました。

[sshd]
enabled = true
 
[recidive]
enabled = true
logpath  = /var/log/fail2ban.log
banaction = %(banaction_allports)s
bantime  = 1w
findtime = 1d

 

Tips

Posted by admin