ウェブサイト運営において、初期設定のままだったが故に重大なセキュリティリスクや検索エンジンへの悪影響を及ぼす可能性があることをご存知でしょうか?
ウェブサイトを運営する方法は色々とありますが、レンタルサーバーを契約してサーバーを借りる方法が簡単かつ一般的。
サーバー会社によっては、フォルダ内に「index.html」や「index.php」などのインデックスファイルが存在しない場合、そのフォルダ内のファイル一覧(Index of や、ディレクトリインデックス、ディレクトリリスティングなどとも呼ぶ)を表示する設定となっているサーバーがあります。このファイル一覧の表示は、セキュリティやSEOの観点から問題を引き起こす可能性があります。
そこで今回は、ファイル一覧公開のリスクと対策について解説します。
目次
ファイル一覧(Index of)とは
Apacheやnginx等の一般的なウェブサーバーでは、フォルダ内に「index.html」などのファイルが存在しない場合、サーバーはそのフォルダの中のファイル一覧を表示するような設定が可能です。以下がファイル一覧を表示する設定にしている例。
一方、ファイル一覧が表示されない設定になっていると、index.htmlやindex.phpといったファイルが設置されていなかった場合、以下のようにエラー画面が表示され、そのディレクトリに設置されているファイル一覧は当然表示されません。
ファイル一覧を表示=「ファイル一覧を公開します」という状態。公開したい目的があれば別ですが、普通はファイル一覧は公開したくないもの。
ファイル一覧を表示することの危険性
通常のHTMLの静的サイトやWordPressといった動的サイトに関わらず、一般的なウェブサイトの利用方法であればファイル一覧は表示しないことの方が望ましいと言えます。
デフォルトファイル(index.htmlなど)が存在しないディレクトリにWebブラウザでアクセスすると、Apacheの設定によってはそのディレクトリのファイル一覧を表示する。(中略)この仕組みは、セキュリティ上好ましくない。特に、外部に公開するWebサーバではこの機能を無効化するべきである。
@IT:Apacheでファイル一覧を表示させないようにするには
一覧にはディレクトリ内の全てのファイルが含まれているため、公開を想定していないファイルが表示されている可能性があります。
ロリポップ!ネットde診断で検知された脆弱性に対する詳細を教えてください – ヘルプセンター|ロリポップ!レンタルサーバー
公開を想定していない情報の漏洩により攻撃者に有用な情報の提供や、セキュリティに対する対策が低いと判断され攻撃を誘発する可能性があります。
考えられる危険性や悪影響がいくつかあります。
情報漏えいや攻撃の標的になるセキュリティリスク
ファイル一覧が表示されることで、フォルダ内のファイルや親・下層フォルダが一覧として見られるようになり、さらにアクセスまでできてしまいます。これには次のようなセキュリティ上のリスクがあります。
情報漏えい
機密情報や個人情報が含まれるファイルがフォルダ内に存在する場合、ファイル一覧を通じてこれらのファイルへ直接アクセス可能になり、情報漏洩のリスクが生じます。
攻撃の標的にされるリスク
フォルダ内のファイル一覧が見えることで、攻撃者がこれらのファイルを狙った攻撃を仕掛けやすくなります。特に、スクリプトファイルやデータベースファイルが公開されていると、ウェブサイト全体がセキュリティリスクにさらされます。
WordPressの場合だと、どのプラグインを使っているかが特定されてしまいます。これにより、プラグインのセキュリティ上の脆弱性が存在する場合において、その脆弱性を悪用した攻撃を仕掛けることが可能に。最悪、ウェブサイト全体が危険にさらされる可能性があります。
プライバシーの侵害
運営者やユーザーに関する情報が含まれるファイルや画像ファイルを辿っていかれることで、プライバシーの侵害が生じる可能性があります。個人情報を特定のフォルダ内にCSVで管理していたり、WordPressのメディアファイルをファイル一覧から見られたりなど。
SEOにも悪影響
上記のセキュリティリスクに加え、ファイル一覧を表示することによりSEOの観点からも問題点がいくつかあると言えます。
重複コンテンツのリスクとサイト評価の低下
ファイル一覧が検索エンジンにインデックスされると、フォルダ内のファイルとファイル一覧が重複コンテンツとしてみなされることがあります。また明らかに不要なインデックスです。これにより、検索エンジンの評価が下がる可能性があります。
サイト構造の不明確さ
ファイル一覧がインデックスされることで、インデックスページが大幅に上昇します。SEOにおいて、明確な情報構造やナビゲーションは重要な要素のため、結果的にサイトの情報構造が検索エンジンにとって不明確になる懸念があり、SEOへの悪影響が考えられます。
ファイル一覧を初期設定で表示するレンタルサーバー
通常、レンタルサーバーのコントロールパネルから設定したり、.htaccess
といった設定ファイルを適切に記述することで、ファイル一覧の表示/非表示は変更できます。
ほとんどのレンタルサーバーは初期設定でファイル一覧は表示されない設定になっているため、あえてファイル一覧を表示したいという場合を除いてそのままで問題有りません。
その一方で、ファイル一覧を表示することが初期仕様になっているレンタルサーバーが存在します。以下、いくつかのサーバーで検証しました。
レンタルサーバー名 | ファイル一覧表示の初期設定 |
---|---|
Xserver | 表示しない |
さくらのレンタルサーバー | 表示しない |
mixhost | 表示する |
ConoHa Wing | 表示しない |
ロリポップ! | 表示しない |
お名前.com レンタルサーバー | 表示しない |
ヘテムル | 表示しない |
参照元:
- .htaccessによるアクセス制御をしたい | さくらのサポート情報
- ファイルの一覧(Index of)を非表示にする方法 – mixhost ヘルプ&サポート
- Webサイト設定について|ConoHa WINGサポート
- トップページが表示されません – ヘルプセンター|ロリポップ!レンタルサーバー
- WEBサイトの公開ができない | スタートアップガイド | レンタルサーバーなら お名前.com
- WEB サーバーの仕様 – ヘルプセンター|ヘテムル
※Xserverだけ公式情報を見つけられませんでしたが、契約しているXserver上で表示されないことを実際に検証済みです。
ファイル一覧が表示されていないか確認
ということで、mixhostを契約してウェブサイト運営を行っている場合は要注意。上記参照元のリンク先にもある通り、公式にファイル一覧を表示するような初期設定になっていると記載があります。
mixhostでは、初期状態でフォルダ内にindexファイルが存在しない場合、ファイルの一覧(index of)が表示される仕様となっております。
ファイルの一覧(Index of)を非表示にする方法 – mixhost ヘルプ&サポート
表示されないようにする為には、cPanelより設定を行う必要があります。
なぜファイル一覧を表示するのを初期設定にしているのか理解に苦しみますが、mixhost契約の場合は上記マニュアルに設定方法が詳しく載っているため設定するのを強くおすすめします。実際私も過去にmixhostを契約した際にサーバー全体に対してファイル一覧を表示しないように設定しました。
また、ここに記載していないものの表示されるサーバーを利用している場合も同様に確認しましょう。
もしファイル一覧が有効になっている場合、例えばWordPressならば/wp-content
や/wp-content/plugins
ディレクトリにブラウザからURLへ直接アクセスするとファイル一覧画面が見えるはずです。見えたらファイル一覧を必ず無効化しましょう!
まとめ
ファイル一覧の表示によるリスクを回避し、セキュリティとSEOを強化するために、サーバー設定やサイト構造を見直すことが重要です。適切な対策を取ることで、安全かつ効果的なウェブサイト運営に繋がります。
コメントを残す