タイプ | |
有料/無料 | 無料 |
ライセンス | GPLv2以降 |
執筆時のバージョン | 2.0.5 |
ユーザ登録の要否 | 不要 |
- ここに掲載している記事は執筆時点のものです。内容が古くなっている事もありますのでご注意下さい。
- ここで紹介しているエクステンションの利用を推奨するものではありません。ご利用は自己責任でお願いします。
- ご自分が利用しているエクステンションの最新情報は常に確認しましょう。様々なエクステンションで日々脆弱性が見つかっており、あなたのサイトがクラックの被害に遭わないとも限りません。脆弱性情報はこちら。
Admin Toolsは、サイトを保護するセキュリティ機能と、日常的なメンテナンス機能を搭載したエクステンションです。サーバやデータベースの知識がないとちょっと難しいような作業でも、Admin Toolsを使えば数クリックでできてしまいます。
Admin Toolsには無料版の「Admin Tools コア」と、有料版の「Admin Tools Professional」がありますが、今回有料版も購入してみましたので、それもレポートします。
Admin Tools のインストールと日本語化
まずはAdmin Toolsをインストールします。ダウンロードしたファイルを「エクステンション」→「インストール/アンインストール」からインストールすれば良いだけです。コンポーネントとプラグインが1つずつインストールされますので、念のため「エクステンション」→「プラグイン管理」から「System - Admin Tools」が有効になっているか確認しておきます。
当サイトから日本語言語パックを開発元へ提供したので、インストール直後には既に日本語化されているかもしれません。もし日本語化されていない場合は、上記の「言語ファイル」のリンクからファイルをダウンロードしてインストールして下さい。
「コンポーネント」→「Admin Tools」を選択すると、次のようなコントロールパネルが表示されます。
Admin Toolsのセキュリティ機能
Joomla!を最新バージョンへアップデートする
本来Joomla!本体をアップデートするには、joomla.orgから差分パッチをダウンロードして解凍してFTPでアップロード…なんて感じで若干面倒くさいのですが、Admin Toolsの「Joomla!コア」のボタンを使用すれば2回クリックするだけでバージョンアップを行えます。自動的にJoomla!のアップデートパッケージをダウンロードし、解凍→適用までやってくれます。ちなみに右側にあるボタンはAdmin Tools自体のアップデート用です。
バックエンドをBasic認証で保護する
Joomla!バックエンドのURLは「http://ドメイン名/administrator/」と決まっていますので、Joomla!を使ったことがある人なら誰でもログイン画面まではアクセスできてしまいます。できればログイン画面へのアクセスもパスワードで保護し、少しでもセキュリティ上のリスクを減らしましょう。
Admin Toolsの「管理用エリアのパスワード保護」を使えば、.htaccessを使用したバックエンドのBasic認証が簡単に設定できます。Basic認証→Joomla!の認証という2段階で認証されるようになり、セキュリティがより高まります。.htaccessの知識も必要ありません。
「管理エリアのパスワード保護」をクリックします。
ユーザ名とパスワードを入力し「パスワード保護」をクリックします。
すると直ぐにベーシック認証の画面が表示されるはずなので、先ほど設定したユーザ名とパスワードを入力します。
「パスワード保護は正常に適用されました」と表示されればOKです。今後バックエンドにログインする時には、2段階の認証が必要となります。
なおベーシック認証を止めたい場合は、FTPクライアントを使って/administratorフォルダから.htaccessと.htpasswdを削除するだけです。
データベースプリフィックスを変える
データベースプリフィックスとは、データベースのテーブル名に先頭に付いている文字列です。Joomla!をデフォルトの状態でインストールしたのなら、「jos_」がプリフィックスになっているかもしれません(サイト→基本設定→サーバ→データベースプレフィックスで確認できます)。もし「jos_」のまま使っているとセキュリティ上のリスクがありますので、Admin Toolsの「データベースプリフィックスエディタ」を使って変更するのがお勧めです。また言うまでもありませんが、プリフィックスを変更する前には必ずデータベースのバックアップを行って下さい。
使い方はとっても簡単。「データベースプリフィックスエディタ」をクリックすると次の画面が表示されます。もし「jos_」を使用していれば、「変えたほうがいいよ」という旨の警告がでます。自動でプリフィックスが提案されますのでそれを使うもよし、自分好みに変えてもOKです。「プリフィックスの変更」をクリックすると実行されます。
スーパー管理者(サイト管理者)のIDを変更する
Joomla!インストール時に作成される管理者ユーザ(デフォルトではadmin)のIDは、必ず「62」と決まっています。これがクラッカーにとって攻撃の材料となり得るので、変えておくのが望ましいです。ただしサイトが完成してから行うと問題が起こりそうな気がするので、サイト構築初期の段階で実行しておく方がよさそうです。
「スーパー管理者ID」をクリックすると、幾つか注意書きが表示されます。内容をよーく確認したら勇気を持って「スーパー管理者IDの変更」をクリックします。
実際には管理者アカウントのIDが直接変更されるのではなく、これまで使用していた管理者アカウントのユーザ名にランダムな文字列が追加され使用不可になります。それと同時にユーザ名とパスワードが同じでIDだけが異なるユーザが作成されるようです。
Admin Toolsのメンテナンス機能
パーミッションの一括設定
各ディレクトリのパーミッション設定を保存しておき、まとめて設定することができます。「パーミッションの設定」で、あらかじめディレクトリ毎のパーミッションを決めておき、「パーミッションの修正」で実際にそのパーミッションへ変更します。
Tempディレクトリを消去する
Joomla!のTempディレクトリには、不要な一時ファイルが保存されている場合があります。「Tempディレクトリを消去」をクリックするだけで、その中身をクリアできます。
テーブルの修復と最適化
何らかの原因でデータベースのテーブルが壊れた、またはデータの追加と削除を繰り返す事でデータベースが肥大化してしまった、なんて時に実行すると良いです。クリックするとすぐ実行されます。
セッションを削除する
Joomla!のセッションは、なんだか挙動不審なことが結構あります。例えばログインするたびにログイン済みユーザの数がだるま式に増えていくとか・・・。そんな時はセッションテーブルの中身を削除してみると良いです。ただしこれを実行すると、自分以外のユーザは強制的にログアウトされてしまうので注意して下さい。
Admin Tools プロフェッショナルの機能
Admin Tools の有料版である「Admin Tools Professional」を購入しましたので、どんな機能が使えるようになるのか紹介しておきます。ちなみに以下がAdmin Tools Professional のコントロールパネル。幾つかボタンが増えています。
.htaccess作成の支援機能
.htaccessを使えば結構色んな事ができるのですが、設定方法がわかりづらく苦手意識を持っている方も多いのではないでしょうか(私も含む)。この機能を使えば、選択肢に従うだけで勝手に.htaccessを作ってくれる優れものです。
以下はAdmin Toolsの.htaccess作成機能で行える機能の一部です。
- ファイルインジェクション攻撃から保護する
- PHPイースターエッグを無効にする
- 特定のユーザエージェントからのアクセスをブロックする
- 独自の.htaccessの記述をあらかじめ追加しておける(例えばPHPのバージョン設定など)
- index.phpをサイトのルートへリダイレクトする
- wwwなしのURLをwww付きのURLへリダイレクトする(またはその逆)
Webアプリケーションファイアウォール機能(WAF)
不正なアクセスをブロックするファイアウォール機能を搭載しています。ファイアウォールで実現できる機能の一部を紹介します。
- ホワイトリスト、ブラックリストに基づいたアクセスの可否
- バックエンドにログインするURLを任意のURLに変更
- バックエンドへログイン成功・失敗時にメールを送信
- スーパー管理者がフロントエンドからログインする事を禁止
- SQLインジェクション、クロスサイトスクリプティング、悪質なユーザエージェント、フォームのアンチスパム、リモートファイルインクルージョン、ダイレクトファイルインクルージョンから保護
- 禁止語句リストに基づいたアンチスパムフィルタリング
- メタタグのGenerator属性を非表示/任意の物に変更
- 不正なアクセスを記録しメール送信
- モジュールポジションをフロントエンドから確認する「tp=1」などのパラメータをブロック
- Bad Behaviourに基づいたフィルタ
- 不正なアクセスに対して、アクセスをブロックする条件やブロックする期間の指定
- 特定の国、または大陸でアクセスをブロック
URLリダイレクト
Joomla!1.6では標準搭載されている機能ですが、URLの変更によって404エラーなどが発生する場合に、正しいURLへ誘導する機能です。
メンテナンス作業の自動化
上述した「セッションの削除」「Tempディレクトリの削除」を数分毎に自動実行できます。それ以外にもセッションテーブルの最適化、キャッシュの削除、期限切れキャッシュの削除、ファイアウォールのログの削除も定期的に実行できます。なおこれらはプラグインで実行されます。
Admin Tools Professionalは20ユーロですが、たったそれだけでこれだけの機能が使えるのであれば安い物ではないでしょうか。Admin Tools Professional を導入することで、個人的にはエクステンションを4~5個削除する事ができたので満足しています。