Skip to main content

Joomla で作ったサイトの管理画面で、記事やモジュールを保存しようとすると「Forbidden(403)」と表示されて保存できない。そんなことはありませんか。

この原因の一つが、サイトを攻撃から守るための仕組み(WAF)です。私たちがお預かりしているサーバーでは、ModSecurity と OWASP CRS という WAF でサイトを守っています。WAF は、怪しい通信を止めてくれる大切な仕組みですが、管理画面で書いたふつうの HTML まで「攻撃かもしれない」と判断して止めてしまうことがあります。たとえば、文字に色や大きさを付けた本文や、太字のすぐ後ろにかっこが続く文などです。

Joomla には、公式の対策がありませんでした

WAF には、WordPress や Drupal のための公式の「除外」の設定が用意されています。ところが、Joomla のためのものはありません。そのため、これまではサイトごとに個別の設定で対応していました。

Joomla 用の設定を作り、公開しました

そこで、Joomla の管理画面のための設定を、WAF の追加機能(プラグイン)の形にまとめました。

設定をかけるのは、できるだけ狭い範囲だけです。

  • ログインした管理者が、管理画面から保存するときだけ
  • 記事・モジュール・カテゴリ・サイトの設定の、本文の欄だけ
  • 止めすぎていた一部の規則だけ

サイトの表側や、ほかの種類の攻撃は、これまでどおり WAF が検査します。管理画面の保存は止まりにくくしながら、サイトの守りは保ったままにしています。

作ったものは GitHub で公開しています(futsure0/joomla-rule-exclusions-plugin)。技術的なくわしい内容は、SecureHatters のコラムでご紹介しています。先日のWordPress 向けの対策に続く、2 つ目の取り組みです。

Joomla をより安全に使うために

  • Joomla 本体や拡張機能を、こまめに更新する
  • 管理画面には、IP の制限や 2 段階認証などで、別に守りをかける

対象は Joomla 3.x の標準の画面です。独自の拡張機能を使っている場合など、個別の対応が必要なこともあります。「管理画面の保存が止まる」「サイトの守りを見直したい」といったお困りごとがあれば、お気軽にご相談ください。

Futsure Co., Ltd.