データベース型SEOとWordPressの融合がサイトを強くする!

お問い合わせ・資料請求はこちら

管理画面・非公開ページを本当に守る方法|robots.txtの代わりに使う3つの手段【第4回】~東京・札幌のWEB・システム・コンテンツ制作>ブレッセ

前回は、robots.txtが誰でも読める公開ファイルであり、セキュリティ調査の現場では最初に目を通される資料になっている、という話をしました。今回は、その情報が実際にどう使われているのか、そして本当に守りたいものをどう守ればいいのかを整理します。

読み進めるうちに不安になる箇所があるかもしれませんが、対処法まで必ずお伝えしますので、最後までお付き合いください。

探すためのツールは、すでに公開されている

残念ながら、ここは楽観できない部分です。

GitHub上には、robots.txtによって隠された機密パスを検出することを目的としたスキャナーが公開されています。バグバウンティ(脆弱性報奨金制度)のハンターやペネトレーションテスターに向けたツールですが、入手そのものに制限はありません。

robots.txtの記述内容を読み取り、Disallowで指定されたパスに対して認可のバイパスを試すところまで自動化されたツールが、誰でも手に入る状態にあります。この状況を踏まえると、「robots.txtに書いても、見るのは検索エンジンだけ」という前提は、もう成り立たないと考えた方が安全です。

robots.txtが効くのは、ルールを守る相手だけ

ここが、robots.txtという仕組みの一番大事な性質です。

robots.txtは、あくまで自己申告のルールです。Googlebotやbingbotのように、規約を守る検索エンジンのクローラーはきちんと従ってくれます。一方、攻撃者が使うスキャンツールには、そのルールに従う義務も動機もありません。むしろ「見ないでください」と書かれた場所ほど、優先して調べる対象になります。

つまりrobots.txtは、**守ってほしい相手には効いて、守ってほしくない相手には最初から効かない**という性質を持っています。この非対称性を知らないまま「書いておけば隠せる」と考えてしまうと、意図とは正反対の結果を招いてしまいます。

決してrobots.txtが役に立たないという話ではありません。クロールバジェットの節約や、重複コンテンツの整理といった、検索エンジンとの協調を目的とした場面では、しっかり機能してくれます。得意な仕事と、そうでない仕事があるということです。

では、本当にアクセスされたくないものはどう守ればいいのでしょうか。方法はすでに確立しています。

管理画面

Basic認証、IPアドレス制限、VPN経由のみアクセス可能にする、といった手段があります。弊社では自社インフラの管理アクセスをWireGuardによるVPN接続に限定していますが、これは「robots.txtでは守れないものを、正しいレイヤーで守る」という考え方に基づいた構成です。

重要なデータを扱うページやAPI

ログイン認証と権限管理で守ります。URLを知られたかどうかに関係なく、認証を通らなければ中に入れない状態を作ることが本質的な対策になります。

URLの存在自体を知られたくないページ

そもそもrobots.txtに書かない、という選択が正解です。書いた時点で、そのURLは公開情報になってしまいます。

robots.txtに何を書くか迷ったときは、「これは検索エンジンとの協調のための情報だろうか、それとも本来隠したい情報だろうか」と一度立ち止まってみてください。後者であれば、robots.txtは使う場所ではありません。

この4回を通してお伝えしたかったのは、ひとつのことです。robots.txtは検索エンジンとの協調のためのファイルであり、コンテンツの公開・非公開やセキュリティを制御するためのファイルではない、ということです。順位への影響を過剰に心配する必要はありませんし、セキュリティ効果を期待しすぎるのも危険です。できることとできないことを正確に切り分けることが、遠回りに見えて一番確実な道になります。

自社サイトのrobots.txtやアクセス制御が今のままで大丈夫か気になった方は、お気軽にご相談ください。現状を確認した上で、必要な対策をご提案いたします。