ANNAIマガジン
Drupal サイトの構成設定を診断するには
この記事の目次

サイト構成と設定の診断ツール

Security Reviewモジュール

https://www.drupal.org/project/security_review

セキュリティー上の脆弱性の原因になりうる一般的な問題をチェックし、結果を表示するツールです。Drupal の管理画面を通じてブラウザー上で確認する方法と、Drush コマンドで確認する方法が用意されています。

Security Review モジュールの検証結果表示

自動化することで反復的なチェックが容易となり、広く知られる設定上の問題を確実に見つけ出すことが可能になります。セキュリティーチェックにおいては、既知の脆弱性はもらさず見つけ出すことが重要ですから、こうした自動化ツールが果たす役割は大きいと言えます。

Hacked! モジュール

https://www.drupal.org/project/hacked

サイトにインストールされたモジュールとテーマの最新版との相違の有無をレポートとして表示します。ファイルの一覧にファイルごとに相違の有無が表示されます。さらに Diff モジュールがインストールしてあれば相違のあるファイルの差分を確認できます。

何らかの理由でモジュールやテーマのソースをカスタマイズした場合や、意図せずにファイルを書き換えてしまった場合にその変更箇所が容易に確認でき、それらのバージョンアップ時に再度カスタマイズする作業でも活用できます。また突然モジュールの挙動がおかしくなった場合に誤ってモジュールのファイルを削除・変更していないか調査するときにも有効でしょう。

Hacked! モジュールのレポート画面

Unused Modules モジュール

https://www.drupal.org/project/unused_modules

Drupal の拡張機能はプロジェクトと呼ばれる単位で開発や配布が行われます。1 つのプロジェクトに複数のモジュールが含まれることも多く、試行錯誤の中で結局 1 つもモジュールが有効になっていないプロジェクトが残ってしまうこともあります。使われていないプロジェクトは無駄なだけでなく、デプロイメントに要する時間を増やしたり、脆弱性の温床になる可能性もあるので削除すべきです。このような使われていないモジュールやプロジェクトを探し出すのが Unused Modules です。

Unused Modules モジュールの未使用プロジェクト レポート

配下のモジュールがすべて無効になっているプロジェクトを簡単に探し出せるので、必要のない機能を整理するときなどに便利です。

Sensitive Data(Drush拡張)

https://www.drupal.org/project/sensitive_data

どんなに慎重にサイトを運用していても、外部から侵入されるリスクをゼロにすることは困難です。万一に備え、流出してはならない機密情報はサイト内に保管すべきではありません。サイトの種類によっては、こうしたデータが記録されていないかどうかを定期的にチェックすることが重要な場合もあります。

たとえば、Sensitive Data という Drush 拡張を使用すると、サイト上のコンテンツや入力フォームに、クレジットカード番号や社会保障番号の疑いのあるデータが含まれていないかどうかを検査することができます。

Cache Audit(Drush 拡張)

https://www.drupal.org/project/cacheaudit

Drupal サイトの表示要素は、ページ単位、ロール単位、ユーザー単位と、異なる単位でキャッシュすることができます。キャッシュの設定が想定と違っていると、コンテンツの更新が反映されなかったり、逆にサーバーに無用な負荷をかけることになる場合もあります。

Cache Audit を使用すると、サイト上のキャッシュ設定を一覧表示することができます。Drush の拡張コマンドとしてインストールされ、インストール後に drush cacheaudit コマンドを実行すると以下のようなキャッシュの使用状況が出力されます。

Cache Audit レポート例

コア、ブロック、Views、Panels の各モジュールがサポートされます。(Drupal 7 版のみ)

Site Auditモジュール

https://www.drupal.org/project/site_audit

サイトを静的に分析し種々のカテゴリーのレポートを管理画面のレポートとして表示します。

レポートは 12 種類のカテゴリーに分類され各カテゴリーへのリンクが概要の段落に表示されます。また表示したいカテゴリーは設定のタブで変更できます。
以上でご紹介した種々のモジュールの機能を一部包含した総合的な診断ツールとして活用が期待できます。

Site Audit レポート例

Lighthouse

https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk

これは Drupal のモジュールではなく Google が提供するサイト診断用の Chrome 拡張です。Performance、Accessbility、Best Practices、SEO、PWA のカテゴリー別にスコアがグラフ表示されさらに詳細なレポートも生成されます。

Lighthouse レポート例

まとめ

以上、構成設定の診断ツールをいくつか紹介しました。これらは一例であり、ここで紹介したツールが Drupal サイトのチェック事項を網羅しているわけではありませんが、具体的な観点のチェック項目と具体的なチェック方法を見ることで、サイトの診断がどのように行われるのかをイメージしていただけたのではないかと思います。ただし、これらのモジュールが対応している Drupal のバージョンやリリース状況はまちまちであり Drupal の専門家のアドバイスが必要です。

こうしたツールも活用しながら、専門スタッフの知見と独自のツールを駆使し、より実践的・網羅的に Drupal サイトをチェックするお手伝いをするのが、当社の KAIZEN診断サービスです。お持ちの Drupal サイトの運用状況やシステムの状態に不安をお持ちの管理者様、企業様にご活用いただけると思います。興味をお持ちいただけたら、ぜひチェックしてみてください。

次回は、サイトを診断の別の観点として、システムを構成するプログラムコードの品質をチェックするツールを紹介したいと思います。お楽しみに。

この記事を書いた人 : Kenji Shirane

バージョン 4.6 のころから Drupal のお世話になっています。好きなモジュールは H5PQuiz。北海道小樽市在住。

関連コンテンツ