Modsecurity: アクション ID が存在しません

Modsecurity: アクション ID が存在しません

しばらく自分のサイトで何もしていませんでした。最近、Ubuntu を 12.04 から 14.04 LTS にアップグレードしたのですが、次のようなエラーが発生するようになりました。

Modsecurity: no action id present

ネットで調べてみたところ、ほとんどの回答ではルールに id=1234 などを追加するよう指示されていますが、なぜそうするのか、id が何をするのかについては説明されていません。誰かこれについて説明してくれませんか?

答え1

ModSecurity 2.7 では ID が必須になりました。最近の OS のアップグレードで、この前のバージョンから移行したと思われます。また、ModSecurity を手動で再インストールしたときに、古いバージョンに戻ってしまったようです。

ID は、次のような理由からルールを一意に識別するのに便利です。

  • ルールが実行されたときに、ログ ファイル内でルールを一意に識別します。
  • SecRuleRemoveById を使用してルールをオフにする
  • SecRuleUpdateTargetById を使用してルールの部分的な処理をスキップします (例: ルール内で処理される 1 つのパラメータを無視する)。

ID は一意である必要があります。一意でない場合は、識別子とは言えません ;-)

https://github.com/SpiderLabs/ModSecurity/wiki/リファレンスマニュアル#id

答え2

Modsecurity を再インストールすることでこの問題を解決しましたが、その後、重複 ID の問題が発生しましたが、構成ファイルに Modsecurity が 1 回だけ含まれていることを確認することで解決しました。

関連情報