HTProtect – ドキュメント
HTProtectは、ただ固く閉ざすだけの錠前ではありません。Joomlaサイトの状況に合わせて考えながら守る、多層的で常に最新の保護です。しかも、あなたを締め出すことはありません。このガイドでは、何が起きるのか、いつ起きるのか、そしてなぜそれが安全につながるのかを、章ごとに説明します。
HTProtectとは?
HTProtectは、サイトの複数の箇所を同時に見張るJoomla向けの「サーバーシールド」です。ほかの対策と一線を画す点が3つあります。
- リアルタイムで更新されるミニファイアウォール。新しい攻撃手法や、広く使われている拡張機能の新たな脆弱性が公表されると、HTProtectが攻撃経路を自動的に遮断します。開発元のアップデートを待つ必要はありません。専門家はこれを仮想パッチと呼びます。
- 自分自身を最新に保ちます。HTProtectは自身のアップデートを自動で適用します。通常はおよそ3時間以内です。何もしなくても、保護は常に最新の状態に保たれます。
- あなたを締め出しません。保護ルールは書き込んだあとに実際のサーバー上でテストされ、必要であれば自動的に取り消されます。
これに加えて、サーバーの堅牢化、管理画面の手前に置く追加のパスワード、マルウェアスキャナー、バックアップ付きの自動アップデートが備わります。保護データの更新の仕方は、ウイルス対策ソフトがウイルス定義を更新するのと同じです。公開された署名付きデータを定期的にダウンロードするだけで、サイトや個人に関わるデータを無断で外部へ送信することはありません。
概要
概要画面はコックピットにあたります。セキュリティ信号が、いまの状態をひと目で示します。緑は問題なし、オレンジは注意、赤は対応が必要という意味です。オレンジや赤の項目はクリックでき、そのまま対処画面へ移動できます。大きな「今すぐ保護」ボタンを押せば、重要な作業が1回のクリックで片づきます。
この表示を正確に保つため、バックグラウンドではガーディアンが働いています。すべてのページ表示で最初に実行され、体感できるほどの遅れはほとんど生じません。ミニファイアウォールを最新に保ち、保護シールドが損なわれていないかを見張ります。さらに、読み取りのみでJoomlaのコアと使用中のテンプレートファイルを調べ、不正に埋め込まれたコードを検出して通知します。
アカウントまわりの不審な動きも見逃しません。新しいスーパーユーザーの追加や、こっそり変更されたパスワードなどです。通知はメールでまとめて届き、言語は管理画面の設定に合わせます。本当に問題があるときだけ届くので、通知があふれることはありません。
何がいつ実行されるのか
保護は決まったリズムで動きます。その大半は、あなたが何もしなくても進みます。
- インストール時
HTProtectは初期設定を行いますが、保護はまだ有効になりません。開始のタイミングはあなたが決めます。
- 「今すぐ保護」を1回クリック
シールドが書き込まれ、アップロード用フォルダーが封鎖され、すべてが実際のサーバー上でテストされます。安全なダウンロードは自動的に許可されます。
- ページが表示されるたび
ガーディアンがファイアウォールと改ざんの有無を確認します。体感できないほど高速です。
- バックグラウンドで定期的に(約6時間ごと)
HTProtectが署名付きフィードを取得し、ミニファイアウォールと脆弱性情報を最新に保ちます。セキュリティ上重要な項目はただちに反映されます。
- 約3時間ごと
HTProtectが自身のアップデートを確認し、自動的に適用します。
- 設定した時刻に
拡張機能の自動アップデート(任意)。バックアップ、ヘルスチェック、問題発生時の自動復旧が付きます。
管理画面のパスワード保護
HTProtectは、Joomlaのログイン画面の手前にもう一段のパスワード入力を置きます。対象は/administratorで終わる管理画面のアドレスです。これにより、攻撃者やボットはログイン画面にたどり着くことすらできません。ハードルが一つ増えるだけでなく、まだ誰にも知られていないログイン自体の脆弱性からも守られます。
- ユーザー名とパスワードを決めます
- 保護を有効にします。これで完了です
「自分が締め出されたらどうしよう」という不安はもっともですが、その心配はHTProtectが引き受けます。実際のサーバー上でロックを試し、うまくいかない場合は自動的に元へ戻します。すでにパスワード保護が設定されている場合は、そのまま引き継ぎます。
パスワードを忘れたときは?心配はいりません。FTPでadministrator/.htaccessを削除すれば追加の入力画面はなくなり、また管理画面に入れます。
チームに複数のスーパーユーザーがいる場合は、特定の相手からHTProtectを隠すこともできます。選択を外したユーザーにはメニューもステータスタイルも表示されず、コンポーネントを開けません。自分のアカウントは常に表示されたままなので締め出される心配はなく、保護はすべての利用者に対して変わらず動き続けます。これは表示の話だけです。スーパーユーザーは技術的にはいずれにせよシステム全体にアクセスできます。
保護シールド
保護シールドは、防御のうちサーバー側の層にあたります。「必要なもの以外はすべて禁止」という考え方で強化した.htaccessを用意します。「今すぐ保護」を1回クリックするだけで十分で、推奨設定はあらかじめ入っています。それ以外の項目は「詳細設定」の中に折りたたまれています(上級者向けです。迷ったらそのままで構いません)。
その裏では、複数の層がかみ合って働いています。
- アップロード用フォルダーを封鎖。ファイルをアップロードできるフォルダー(uploads、media、cache、tmp)では、PHPの実行を完全に禁止します。最も多い侵入口であるアップロードされたWebシェルは、行き止まり(403)に突き当たります。
- 重要なファイルを隠蔽。configuration.phpやバックアップ、ログファイルなどへの直接アクセスを遮断します。
- 保護ヘッダーとHTTPS。セキュリティヘッダーを設定します。サイトがHTTPSで動いている場合は、暗号化されていないアクセスを安全な接続へ自動的に転送します(オフにもできます)。
- Webアプリケーションファイアウォール。既知の攻撃パターンは、Joomlaに届く手前で捕捉されます。攻撃がサイトに到達することはありません。
ミニファイアウォール:古びない保護
ここが工夫のあるところです。これらのパターンは固定ではありません。HTProtectは約6時間ごとに署名付きフィードと同期します。ウイルス対策ソフトがウイルス定義を更新するのとまったく同じ仕組みです。新しい攻撃手法や、広く使われている拡張機能の新たな脆弱性が公表されると、対応するブロックルールが自動的に追加されます。つまり、脆弱な拡張機能の公式アップデートが出る前に、攻撃経路がふさがれます。セキュリティ上重要な項目は次回の同期を待たず、ただちに反映されます。
この経路が悪用されないよう、フィードの署名はあなたのサイト上で直接検証されます。改ざんされていないデータだけが取り込まれます。
HTProtectはあなたを締め出しません
新しい保護ルールには、理屈のうえでリスクがあります。そのルールがあなた自身を締め出してしまったら、という懸念です。HTProtectはまさにこの点を先回りして考えています。すべてのルールは、書き込んだあとに実際のサーバー上でテストされます(Apache、LiteSpeed、nginxのいずれであるかは自動で判別します)。締め出しが起きると分かった場合、HTProtectはそのルールを自動的に取り消します。シールドが有効になるのは、動作が確認できたときだけです。
サーバー移転やドメイン変更のあとは?そのあとで動きがおかしいときは、FTPでJoomlaのルートにあるメインの.htaccessを削除し、「今すぐ保護」で新しく書き直してください。合わなくなった古いルールを取り除けます。
よくある問題:自分のファイルがブロックされる(403)
シールドは既知のものだけを通し、それ以外は403(アクセス禁止)で拒否します。これこそがあなたを守る仕組みです。ただし、自分で何かを組み込むと(独自のスクリプト、フォーラム、ショップなど)、シールドはそれをまだ知りません → 403になります。故障ではありません。あなたが意図して組み込んだファイルの403は、「一度許可してください」という合図にすぎません。
ブロックされたファイルの見つけ方は次のとおりです。ブラウザーだけで完結し、サーバーへのアクセスは不要です(所要30秒、壊してしまう心配はありません)。
- うまく動かないページや機能を開きます。
- F12キーを押します
どのブラウザーにも組み込まれている開発者ツールが開きます。上部の「ネットワーク」タブをクリックしてください。
- 同じ操作をもう一度行います
ページを再読み込みするか、フォームを送信します。表示された赤い「403」の行をクリックすると、ブロックされたファイルのパスが分かります(例:
custom-form.php)。このパスを控えておいてください。
許可する方法は次のとおりです。HTProtect›保護シールド›詳細設定で設定し、最後に必ず保存して.htaccessを書き出すをクリックしてください(これで初めて反映されます)。
- ファイル1つだけの場合:「個別ファイルを直接許可」の欄に、1行につき1つずつ入力します。例:
custom-form.php(サブフォルダー内ならtools/specialtool.php)。 - 独自のソフトウェアが入ったフォルダー(フォーラム、ショップなど。PHPを実行するもの):「フォルダー全体を許可(PHPの実行を含む)」の欄を使います。例:
forum。 - ダウンロード用ファイルだけのフォルダー(PDFや画像など。PHPなし):「フォルダー内のすべてのファイル形式を許可(PHPなし)」の欄を使います。例:
downloads。PHPが不要なら、こちらのほうが安全です。 - 珍しいファイル形式そのものを許可する場合:「許可する拡張子(カンマ区切り)」の欄を使います。まだ許可されていない特殊な拡張子、たとえば3D/CADファイル(
stl, dwg, step)などが対象です。 - どれでも足りないときの最終手段:「信頼するパス(すべて許可)」の欄です。指定したパスについては、ディレクトリの遮断や攻撃コードの検出パターンも解除されます。自分で確認して安全だと分かっているパスにだけ使い、まとめて広く指定しないでください。
目安は「できるだけ狭く許可する」ことです。フォルダー全体よりファイル1つ、PHPありよりPHPなしを選びます。「ネットワーク」タブから403が消えれば解決です。
ページをiframeで埋め込めない
症状:ほかのドメインのページに<iframe>で埋め込めなくなります(例:サイトBに置いたお問い合わせフォームを、サイトAに埋め込んでいる場合)。ブラウザーのコンソールにはRefused to display … X-Frame-Options: SAMEORIGINと表示されます。
原因:クリックジャッキング対策の「他サイトへの埋め込みを禁止(X-Frame-Options)」が、埋め込まれる側のサイトBで有効になっており、外部サイトからの埋め込みを禁じているためです。
対処法(サイトAではなく、サイトB側で行います):HTProtect›保護シールド›詳細設定で「他サイトへの埋め込みを禁止」のスイッチをオフにし → 保存して.htaccessを書き出すをクリックします。公開用のフォームであれば問題ありません。
サイトスキャン
万一何かがすり抜けてしまっても、サイトスキャンが突き止めます。サイト全体を対象に、不正なコード、送り込まれたファイル、隠されたバックドア(いわゆるWebシェル)を探し出し、見つかったものはその場で削除できます。実行するのはあなただけで、勝手に動くことはありません。サーバーに継続的な負荷をかけることもありません。
非常に大きなサイトは小分けにスキャンするため、制限時間で処理が中断されることはありません。2回目以降のスキャンでは、変更のあった箇所だけを確認します。リンクしているファイルやダウンロードに実際にアクセスできるかどうかも確認できます。
細かいところにも目を配ります。新しくインストールされたファイルや更新されたファイルは、不正なコードが含まれていないか検査されます。たとえばWebシェルや、埋め込まれたJavaScriptです。何かが見つかった場合は隔離または削除でき、必要なファイルを誤って消さないよう厳しい安全策が働きます。よくある手口には専用の対処もあります。Helixテンプレートに埋め込まれたJavaScriptは、狙いを定めて検出・除去します。バックアップ付きで、元に戻すこともできます。
バックアップとアップデート
HTProtectは、すべての変更の前に.htaccessのバックアップを自動で作成します。クリック1回で、いつでも直前の状態に戻せます。アップデートでも考え方は同じで、安全網なしに実行することはありません。
希望すれば、HTProtectがJoomlaの拡張機能を自動で最新に保ちます。アップデートの前にファイルとデータベースをバックアップし、そのあとヘルスチェックでサイトが問題なく動いているかを確認します。不具合があれば、自動的に直前の状態へ戻します。初期設定ではセキュリティアップデートが優先され、設定した時刻に毎日実行されます。
HTProtectは、何をアップデートすべきかも把握しています。インストール済みの拡張機能を既知の脆弱性のリストと照合し、適用できるアップデートを名指しで知らせます。
おすすめの設定:セキュリティ以外のアップデートは週1回、猶予期間は3日。ちょうどよい落としどころです。
これを支える安全網は次のとおりです。
- 間隔と時刻を自由に選択:毎週、毎日、または「即時」(15分ごと)。
- セキュリティアップデートはすぐに実行されます。待ち時間はありません。
- 猶予期間を選択可能:なし、1日、3日、7日、14日。
- アップデート中のマルウェアスキャン:検出された場合はただちに元の状態へ戻します(多くは誤検知です。シグネチャはサイトや個人に関わるデータを使わずに中央で更新され、アップデートは次回の実行時に改めて行われます)。
- 配慮した動作:アップデートの取得元を無効化することはありません。外部サーバーへの問い合わせは、負担をかけないよう間隔をあけて行います。
- 緊急ブレーキ:あるアップデートに重大な問題が判明した場合は、すべての利用者に対して中央からただちに配布を止められます。
ヘルプとサポート
ここからサポート(希望すれば診断データを添えて送信できます)、ライブチャット、このドキュメント、そしてカンパの窓口にアクセスできます。
HTProtectは、いざというときに一気に止まるのではなく、穏やかに身を引くよう設計されています。たとえば、サーバー側のウイルス対策ソフトが過剰に反応してHTProtectのファイルを壊してしまっても、サイトは表示され続けます。影響を受けた部分は静かに自らを無効化し、HTProtectは自動アップデートで自力で復旧し、何が起きているかは分かりやすい案内ページで説明されます。既存のセキュリティツールとも共存でき(ハンズオフモード)、サーバーへの負荷は最小限に抑えます。
HTProtectをやめたくなったときは、どうすればよいでしょうか。アンインストール時にはアシスタントが表示され、保護用のファイルをきれいに取り除き、元の.htaccessを復元するかどうかを尋ねます。痕跡は残りません。ここまでのすべてと同じく、正直で、元に戻せる仕組みです。
本サイトのサポーター
htprotect.orgは、特定のベンダーに依存しない無料の情報サービスです。以下の各社にご支援いただいています。

活発なコミュニティサポートで知られるドイツのJoomla向けホスティング事業者。JCEの脆弱性を突く最初の攻撃を発見しました。
fc-hosting.deJoomlaとWordPressで構築されたサイトのクリーンアップ、保守、セキュリティ対策を専門としています。
website-bereinigung.deこのプロジェクトを支援する
ホスティングやJoomla関連のサービスを運営されていて、htprotect.orgを支援し、このページにサポーターとして掲載されることをお考えでしょうか。いただいたご支援はすべて、被害に遭われた方々へより早く警告を届け、より早く守るために役立ちます。
掲載なしで、そっと支援したい場合は、カンパへの少額のご支援も同じようにありがたく思います。