サーバーでfail2banが動作していて、SSHは禁止されていますが、MySQLを使用してMariaDBにアクセスしようとするユーザーを禁止するのに問題があります。また、Adminerを使用しています。これがmysqlでfail2banを構成しようとしている主な理由です(fail2banはadminerを使用した失敗の試行を確認します)。 MySQL接続を確認できますが、これは内部でlocalhostを使用しているため、禁止することはできません。
ユーザーがmysqlへのログインに失敗したときにユーザーを禁止する方法を探しています。
これは私のログfail2ban.logが見るものです:
2018-06-15 06:51:09,021 fail2ban.ipdns [4520]:
WARNING Determined IP using DNS Lookup:
localhost = ['127.0.0.1', '127.0.0.1', '::1']
これは私のjail.localファイルです:
[mysqld-auth]
enabled = true
port = 3306
filter = mysqld-auth
logpath = /var/log/mysql/mysql.log
Usedns = warnをusedns = noに変更しようとしましたが、警告を無視しました。 filter.dフォルダーのmysql-authに変更を加えていません。
あなたの本当の問題は次のとおりだと思います。
サーバーでAdminer(PHPMYadminの代替)を実行していて、Webインターフェイス(さらにはMySQL)への不正なログイン試行が発生します。
これが正しければ、いかなる状況でも、Fail2Banを使用してMySQLを禁止しようとしないでください(あなたの場合、ローカルホストをブロックすると、誰もそれを使用できなくなります)。代わりに、Adminerへの不正なログイン試行が多すぎる場合は、Webインターフェイス(ポート80/443など)へのアクセスをブロックするようにFail2Banを構成する必要があります。