VPN に参加できないレビュアーは、午後ひとつ分のリンクを必要とします。そして夕方には、本番サービスに、誰も承認した覚えのない公開ホスト名ができています。依頼は小さく、変更は小さくありませんでした。一時的なプレビューは、対象者、データ範囲、終了時刻を伴う新しいアクセス経路です。一時的という言葉は何も閉じないため、他の入口と同じように扱うべきです。

一時的とは期間であり、制御ではない

一時的という言葉が表すのは、何かが存在すべき長さであり、存在している間にそれを制限するものではありません。有効期限のない公開ホスト名は、それを作った人がチームを移った瞬間に恒久的なものになります。

何かを公開する前に、サービスの所有者とセキュリティの所有者は三つを承認すべきです。対象者、データ、期間です。

既存のゲスト VPN やレビュー環境は、本番サービスを公開するより簡単なことがよくあります。そこにはすでに所有者、承認経路、削除手順があります。午後ひとつのために新しい例外を作ることは、小さな依頼を常設の資産に変える近道です。まず、レビューがすでに存在する何かの中でできないかを問いかけてください。

公開するのは一つの操作だけ、サブネットは決して公開しない

レビューを支えられる最小の入口を選びます。本番ではなく適切なデータを持つ検証用コピーを、どのサブネット経路でもなく一つのプライベートなオリジンに届く認証済みフロントエンドを優先します。

VPN 到達性を持つリレーが、プライベートサブネット全体を公開する必要はありません。ましてやゲートウェイの管理インターフェースを公開すべきではありません。

通過を許可するアカウントと、そのアカウントが行える操作を明記します。送信元 IP による制限は、誰が接続できるかを確かに狭めます。しかし、それは人を識別しません。公開アドレスは共有され、変化するからです。

アプリケーション自身の認可、または明示的に信頼された識別情報を認識する入口を保ちます。ダウンロード、API、管理用の経路を保護し、ランディングページだけを守ってはいけません。TLS を終端するフロントエンドは信頼された端点になり、その背後のプライベート経路が公開の訪問者を VPN のメンバーに変えることはありません。除外した経路もランディングページと同じ注意深さでテストします。

識別はフロントエンドで、送信元アドレスではない

送信元 IP の規則は露出を狭めるのに役立ち、レビュアーが誰かを証明するのには役立ちません。家庭の接続は変わり、モバイル網はアドレスを共有し、同僚が同じ NAT の背後にいることもあります。

識別情報を認識するプロキシ、またはアプリケーション自身のログインは、人ごとの判断を与えます。これが後に取り消しを可能にします。ネットワークを変えずに一つの識別を外せるからです。

証明書の検証は有効のままにし、オリジンへの直接アクセスは遮断します。オリジンがまだインターネットから到達できるなら、フロントエンドは飾りにすぎません。

権利と経路を取り消す

すでにアクセスを追跡している運用システムに、所有者と正確な有効期限を記録します。プラットフォームが対応している場所では、期間限定のアクセスや予定された削除を使い、自動化が失敗した場合に備えて確認を追加します。

合意した終了時には、所有者を通じて一時的なフロントエンド、経路の許可、レビュアーの権利を退役させます。既存のセッションと長寿命の接続には独自の扱いが必要です。削除された経路はそれらを終わらせないからです。

短い DNS TTL はアクセスの失効ではありません。それはリゾルバが応答を保持する長さを変えるだけです。アカウントを無効にせず、進行中のセッションを切断せず、まだ待ち受けているポートを閉じもしません。

キャッシュされた複製も同じ問題の一部です。オリジンの経路を止めても、誰かがすでに保存したファイルは取り戻せません。共有キャッシュは、リレーが消えた後でも複製を配信するかもしれません。応答と保存の方針は、レビューが始まる前に決めてください。

古い経路が本当に消えたことを確認する

受け入れは、失敗する新しいリクエストと、通常の VPN のワークフローがまだ機能することの両方です。両方をテストしてください。通常の経路を壊す削除は、きれいな削除ではないからです。

ネットワークの外から、名前とオリジンの両方が閉じていることを確認します。

dig +short review.example
curl -sSI --max-time 5 https://review.example/
ss -ltnp | grep ':443'

何が承認され、誰がそこに到達でき、いつ削除されたかの狭い監査記録を残します。その記録が、制御された例外と説明のつかないホスト名の違いです。一時的なプレビューは、求められたレビューを提供し、その後提供をやめたときに成功です。チャットのメッセージから URL が消えることは、そのテストではありません。

関連記事