iptables は iptables-persistent を使用した Ubuntu 20.04 で IPv6 IP のみをブロックせず、IPv4 は OK です

iptables は iptables-persistent を使用した Ubuntu 20.04 で IPv6 IP のみをブロックせず、IPv4 は OK です

私は Ubuntu 20.04 VPS (LEMP) を持っており、 をインストールしましたiptables-persistent。このサーバーでは、 をインストールしてfail2ban設定し、CloudFlarefail2ban で禁止された IP を禁止しました。また、CSF も使用しています。カスタム SSH ポートを使用し、CSF 経由で設定も行っています。Fail2banjail.localアクションでは、「 」を使用しますiptables-allports

問題は、Fail2ban が IPv6 禁止アクションをトリガーしたときに、iptables-persistent がその IPv6 IP をブロックしないことです。たとえば、Fail2ban が IPv6 を禁止した場合でも、SSH または SFTP 経由で VPS に接続できます。ただし、Cloudflare は HTTPS アクセス (ポート 443 とポート 80) を正常にブロックしました。

Fail2ban が IPv4 を禁止した場合、その IP は iptables-persistent (カスタム SSH ポートを含む) によって正常にブロックされます。

この IPv6 の問題を修正する方法はありますか?

答え1

問題は、Fail2ban が IPv6 禁止アクションをトリガーしたときに、iptables-persistent がその IPv6 IP をブロックしないことです。

iptables-persistentまったく異なる理由で設定されているため、fail2ban ではすべてが必要というわけではありません。またiptables-allports、banaction を使用する場合、fail2ban は を使用した IPv4 アドレスiptablesと を使用した IPv6 アドレスを禁止しますip6tables

Cloudflare はまったく別のものです (1 つの問題でバナナとキュウリを混ぜようとしないでください)。

この IPv6 の問題を修正する方法はありますか?

  1. IPv6 サポートは fail2ban >= 0.10 で初めて提供されることに注意してください (0.9 ではまったくサポートされていません)。
  2. [jail] Ban <some-ip-v6>fail2ban.log で確認できますか?
  3. そうでない場合、フィルター/failregex は IPv6 に対応しておらず、行と一致しません。違いを見つけて failregex で修正する必要があります。そのために、IPv6 の失敗と fail2ban で設定した failregex を含むログの抜粋を提供してください。
  4. IPv6 が禁止された場合、fail2ban.log にエラーが表示されますか?
  5. の出力に jail と禁止された IPv6 エントリが表示されますかip6tables -nL?

関連情報