fail2ban.service: Main process exited, code=exited, status=255/n/a
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