セキュリティテストのアクセス受け渡し:範囲・アカウント・失効
VPN 資格情報を求めるテスターに必要なのは、範囲を定めた受け渡しであり、予備のログインではない。承認をゲートで確認し、対象を明示し、アカウントを発行し、最後に失効させる。
テスターがゲートウェイのアドレス、内部 DNS の詳細、VPN 資格情報を求め、その依頼が「アクセスが必要」という件名であなたに転送されてくる。依頼だけでは、これが内部評価なのか、認証ありのアプリケーションテストなのか、範囲を誰かが誤解した公開ウェブサイトの案件なのかは分からない。受け渡しを各段階にゲートを置いた手順として実行し、開かない最初のゲートで止める。そうすれば曖昧な依頼が、承認し、渡し、後で失効させられるものになる。
資格情報ではなく、承認から始める
どのアドレスも受信箱から出る前に、対象を誰が所有し、誰がそのテストを承認できるのかを確定する。テスターの確認は、組織がすでに使っている案件の窓口を通じて行い、メールを転送してきた人を通じて行わない。顧客との関係はアカウントから到達できるすべてのシステムをテストする許可ではなく、発注書は範囲を定める文書ではない。
承認された目的を一文で書き、受け渡しのそばに置く。「顧客ポータルの認証を評価する」と「内部ネットワークを評価する」ではまったく別のパッケージになる。その差は、所見が届いてからではなく、準備の前に決着させなければならない。この一文は、依頼が案件の途中で膨らんだときに指し示せるものにもなる。
ホスティング事業者や他の第三者を経由する場合、その要件はあなたの都合より先に来る。他者の許可なく他者のインフラをテストすることは、その上で動くアプリケーションをテストすることとは別の問題である。
観点と対象を明示する
観点とは評価が答えようとしている問いであり、テスターが使う予定のどんなツールよりもアクセスパッケージを左右する。公開の未認証テストには URL と時間枠が要る。認証ありのテストには範囲内の特定のロールごとの専用アカウントが要り、内部評価には明示的な対象範囲を伴う定められた入口が要る。
| Viewpoint | What you hand over | What it does not authorize |
|---|---|---|
| Public website | Approved URL, TLS hostname, testing window | Internal network entry, adjacent hosts |
| Authenticated app | URL plus per-role test accounts | Other tenants, admin consoles outside scope |
| Private staging | Named private path and test accounts | Production systems behind the same gateway |
| Internal network | Entry point and written target ranges | Anything outside those ranges, including the gateway itself |
トンネルがどこから入るかは、その背後にどのアプリケーションがあるかという事実とは別であり、入口を調べることを決して許可しない。受け渡しでそれを明示すること。「そのサブネットへのアクセスをもらった」という言葉は、所見が争われた途端にすぐ出てくる。書面の対象一覧だけが、後からそれを決着させる。
URL とともに TLS のホスト名を渡す。裸の IP アドレスはテスターに名前の推測を強いる。推測された名前は、受け渡しの誤りではなく所見として報告される証明書エラーを生む。
有効期限付きの専用 ID を発行する
この案件のためだけに存在するアカウントを用意する。職員の日常のログインを貸してはならない。ネットワーク到達性とアプリケーションの権限を合意した作業に合わせ、認証の登録はサポートされた経路で整え、失効の責任者を名前で示した有効期限を付ける。資格情報は合意した安全な経路で、あちこちに転送される範囲文書とは別に渡す。
sudo useradd -m -e 2026-12-31 tester01 sudo passwd -S tester01 id tester01 lastlog -u tester01
誰が何をいつ受け取ったかを記録する。その記録が、管理された受け渡しと、誰も追跡できない共有パスワードとの差であり、インシデントの後に誰もがまず求めるものである。チャットのスレッドではなく範囲文書と一緒に保管し、受け取り手の横に受け渡し経路を書く。時刻の入った一行は、いつでも記憶に勝る。
有効期限の欄は最後の網であり、計画ではない。最後にネットワーク経路とアプリケーションのロールを外す人が必要である。まだ到達できるネットワーク上の期限切れログインは、失効したアクセスではない。
窓が開く前に受け渡しが機能することを証明する
テスターの最初のホップを自分で実行する。できるだけテスターの位置に近い場所から。名前を解決し、証明書の識別情報を確認し、経路が隣のアドレスではなく意図したアドレスに届くことを確かめる。
dig +short app.example.com openssl s_client -connect app.example.com:443 -servername app.example.com </dev/null> 2>/dev/null | openssl x509 -noout -subject -dates ip route get 10.60.0.25
経路が対象に届かない場合は、テスターに代替経路を見つけさせるのではなく、止まって受け渡しを調整する。その場しのぎの到達性は、評価が静かに範囲を越えて広がる道であり、後から記録されることはほとんどない。
資格情報とともに、運用上の連絡先、許可された時間、除外する行為、停止条件を送る。02:00 に誰にも連絡できないテスターは、あなたが承認していない判断をする。その判断は、範囲内であったかのように報告書に書かれる。
NIST SP 800-115 は技術評価を、計画されたテストとそれに続く分析・緩和として枠づけている。この受け渡しはその形に沿っている。上記のゲートはサポート担当エンジニアのための編集上の設計判断であり、この刊行物から引用したチェックリストではない。
アクセスを外して案件を閉じる
準備の逆順に失効させる。アプリケーションのロール、次にネットワークアクセス、最後に ID 自体である。ボタンが約束したとおりにコンソールが動いたと決めつけず、各手順を確認する。セッションを切る前にアカウントをロックする。そうしないとセッションは古い経路で再認証してしまう。その後、閉じたと宣言する前に確立済みの接続をもう一度確認する。
sudo passwd -l tester01 sudo pkill -u tester01 ss -tn state established '( sport = :443 )'
保持したテストデータを片づけ、開始時に合意した報告プロセスで是正を追跡する。報告書には環境、アクセス水準、範囲、制約を記す。ひとつの評価の所見を記録するものであり、サイトが安全だという恒久的な表明ではない。
失効の記録は受け渡しの記録と一緒に保管する。次の案件が始まるとき、前回何を外し誰が承認したかを正確に知りたいはずであり、記憶から絵を組み直したいとは思わない。