フォワードプロキシは資格情報を要求し、送信元ネットワークを制限し、宛先ポリシーを適用できます。しかしこれらの制御は、呼び出し元が特定の一つの実行ファイルであることを証明しません。

User-Agentや独自ヘッダーはクライアントが提供するものであり、コピーできます。したがってリクエスト内のアプリ名は、プライベートプロキシへの唯一の入り口としては適しません。

実際に検証できることを表現するアクセス制御を使ってください。許可されたアカウント、許可されたネットワーク位置、そして意図した宛先です。クライアントの資格情報は、アプリの通常のシークレット管理設計を通じて保護し、失効させてください。その後、意図したアクセス境界に対して許可されたリクエストと拒否されたリクエストを検証します。

より強力なクライアント認証でも、承認された鍵や資格情報の所持を確立するにすぎません。他のどのプログラムもその資格情報を使えないという絶対的な保証として説明すべきではありません。

要件が管理対象デバイスやアプリの完全性の強制であるなら、それを追加のシステム要件として特定してください。呼び出し元が送ると選んだ文字列を認識するだけのSquidヘッダールールでそれを約束してはいけません。

関連記事