Selecting and Hardening Remote Access VPN Solutions
仮想プライベートネットワーク(VPN)は、ユーザーが安全なトンネルを介して企業ネットワークにリモートで接続することを可能にします。このトンネルを介して、ユーザーは、電子メール/コラボレーション・ツール、機密文書リポジトリ、境界線のファイアウォールやゲートウェイなど、通常はオンサイト・ユーザーに提供される内部サービスや保護機能を利用することができます。リモートアクセスVPNサーバは、保護されたネットワークへのエントリーポイントであるため、敵対者の標的となります。このNSA-CISA合同情報シートでは、以下のガイダンスを提供しています。
既知の脆弱性を迅速に修正し、強力な認証情報を使用するためのベストプラクティスに従った実績のある、信頼できるベンダーの標準ベースのVPNを選択すること。
VPNサーバーの攻撃対象を以下の方法で削減することにより、VPNの危険性を低減します。
強力な暗号化と認証の設定
厳密に必要な機能のみを実行する
VPNを利用したアクセスの保護と監視
アクティブ・エクスプロージョン
複数の国家のAdvanced Persistent Threat(APT)アクターが、公開されているCVE(Common Vulnerabilities and Exposures)を悪用して、脆弱なVPN機器を危険にさらしています。場合によっては、悪用コードがオンラインで自由に入手できることもあります。これらの公開されたCVEを悪用することで、悪意のある行為者は以下のことが可能になります。
- クレデンシャルハーベスティング
- VPNデバイス上での任意のコードのリモートコード実行
- 暗号化されたトラフィック・セッションの暗号的弱体化
- 暗号化されたトラフィックセッションの乗っ取り
- デバイスからの機密データ(設定、認証情報、鍵など)の恣意的な読み取り
これらの影響は、通常、VPNを介したさらなる悪意のあるアクセスにつながり、企業のネットワークやIDインフラ、場合によっては別のサービスまでもが大規模に侵害されることになります。
リモートアクセスVPNを選択する際の注意点
リモートアクセスVPNを選択する際には、以下の推奨事項を考慮してください。
- SSL/TLS(Secure Sockets Layer/Transport Layer Security)VPNと呼ばれる製品を含む、標準外のVPNソリューションを選択することは避けてください。これらの製品には、TLS を介してトラフィックをトンネリングするためのカスタムおよび非標準の機能が含まれています。カスタムまたは非標準の機能を使用すると、製品が使用するTLSパラメータが安全であっても、追加のリスクが発生します。NSAとCISAは、標準化されたVPNのセキュリティ要件に対して検証された、標準化されたインターネット鍵交換/インターネット・プロトコル・セキュリティ(IKE/IPsec)VPNを推奨しています。
- 有効なVPN(Conformance Claim: EP_VPN_GWまたはMOD_VPNGW)については、米国情報保証パートナーシップ(NIAP)の製品準拠リスト(PCL)を参照してください。NIAP認定機器は、明確に定義されたセキュリティ機能と要件に対して、サードパーティの研究所で厳密にテストされています。プロプライエタリなプロトコルは、セキュリティ要件が定義されている場合とされていない場合があり、標準ベースのプロトコルほどの分析とテストが行われていない場合があります。
- 製品がIKE/IPsec VPNをサポートしているかどうか、ベンダーのドキュメントをよく読んでください。製品によっては、VPNトンネルを構築する際にサポートしているプロトコルについての包括的な情報がドキュメントに記載されていない場合があります。準拠している規格が明示されていない製品や、独自の方法でVPNを構築していると主張する製品は避けてください。
- IKE/IPsec VPNを確立できない場合に、製品がSSL/TLSを独自のVPNプロトコルまたは非標準ベースのVPNプロトコルで使用しているかどうかを確認する。IKE/IPsecの交渉が失敗する状況を理解すること。可能であれば、SSL/TLSのプロプライエタリまたは非標準ベースのVPNフォールバックを無効にする。
- 潜在的な製品がFIPSで検証された暗号モジュールを使用し、承認された暗号アルゴリズムのみを使用するように構成できることを確認する。
- 製品が強力な認証資格とプロトコルをサポートし、弱い認証資格とプロトコルがデフォルトで無効になっていることを確認する。多要素認証の使用を計画し、使用される認証情報をサポートする製品を選択する。
- 定期的なソフトウェア・アップデートによる製品のサポートや、既知の脆弱性を迅速に修正してきた実績のあるベンダーを調査し、選択すること。製品の予想使用期間全体をカバーするサポート期間を確保し、製品が寿命になる前に交換する。
- 製品のソフトウェア部品表(Software Bill of Materials: SBOM)を要求し、検証することで、基盤となるソフトウェアコンポーネントのリスクを判断することができる。多くのベンダーは、既知の脆弱性を含む古いバージョンのオープンソースソフトウェアを製品に使用しているため、このリスクを管理することは非常に重要です。
- 製品が自身のコードの完全性を検証する強固な方法を持ち、定期的にコード検証を行っていることを確認してください。ネットワークの境界にあるセキュリティ・デバイスとして、VPN ゲートウェイは敵対者にとって人気のあるターゲットです。デバイスの完全性を検証する機能がなければ、侵入を検知することは不可能な場合が多いのです。
- 製品に以下のような侵入に対する保護機能が含まれていることを確認する。
- 署名入りバイナリやファームウェアイメージの使用
- 実行前にブートコードを検証するセキュアブートプロセス
- ランタイムプロセスおよびファイルの整合性検証
- 自分で製品を検査できないリスクを理解すること。VPNベンダーの中には、タイムリーなインシデント対応を妨げるような方法でデバイスを暗号化しているところがあります。製品の所有者がデバイスを完全に検査することができない製品は、追加のリスクをもたらし、結果的にメーカーが製品サポートのチョークポイントとなる可能性があります。インシデント対応が遅れると、洗練されたアクターが自分の痕跡を隠すために必要な時間を確保することができます。
- 組織のリスク許容度に照らし合わせて、候補となるデバイスの追加機能を検討する。リモートでアクセスできる管理ページやウェブベースの内部サービスへのアクセスなど、多くの追加機能は便利ですが、こうした機能は製品の攻撃対象を増やし、敵対者に狙われて悪用されることが多いため、リスクを伴います。VPN のコア機能の保護に重点を置き、多くの追加機能を持たない製品を選択するか、最低でも追加機能が無効化できること、できればデフォルトで無効化されていることを確認してください。
アクティブハードニング
選択したVPNソリューションを導入した後、以下のアクションを実行することで、VPNを危険に対してさらに強固にすることができます。
承認された強力な暗号プロトコル、アルゴリズム、および認証情報のみを要求する。
- 国家安全保障システム(NSS)は、NSAが承認した商用国家安全保障アルゴリズム(CNSA)スイートのアルゴリズムを使用することが求められます(CNSSP(Committee on National Security Systems Policy)15の付属書B参照)。NSS以外の米国政府のシステムは、NSSを保護するために承認されたアルゴリズムを含む、NISTが指定するアルゴリズムを使用する必要があります。NSAとCISAは、他のシステムでもCNSAスイートに含まれる暗号アルゴリズムを使用することを推奨しています。
- IKE/IPsecを使用するようにVPNを構成し、可能であればSSL/TLS VPN機能とフォールバック・オプションを無効にする。
- IKE/IPsec VPNでは、IKEにはCNSSP 15に準拠した暗号アルゴリズムが、NSSにはISAKMP(Internet Security Association and Key Management Protocol)が必要です。CNSSP 15の要件は、IETF文書のドラフト「Commercial National Security Algorithm (CNSA) Suite Cryptography for Internet Protocol Security (IPsec)」で説明されており、その他の米国政府システムに対するNISTの要件はSP 800-77rev1に記載されています。
- SSL/TLS VPNを使用しなければならない場合は、リモートアクセスVPNが強力なTLS(すなわち、TLS 1.2以降)のみを使用することを要求し、それ以前のバージョンのSSLおよびTLSをすべて拒否します。NSSに関するその他のCNSSP 15の要件は、IETF文書のドラフト「Commercial National Security Algorithm (CNSA) Suite Profile for TLS and DTLS 1.2 and 1.3」で説明されており、その他の米国政府のシステムに関するNISTの要件はSP 800-52rev2に記載されています。
- サーバーの認証には、信頼できるサーバー証明書を使用し、定期的に(例えば1年ごとに)更新すること。自己署名証明書やワイルドカード証明書は、それぞれ信頼すべきではない、または過度に広い範囲で信頼されているため、使用を控えてください。
- 利用可能な場合は、クライアント証明書認証を使用します。VPNソリューションの中には、スマートカードなどを使用してVPNにアクセスしようとするリモートクライアントのために、パスワードを使用するよりも強力な認証形式であるクライアント証明書認証をサポートしているものがあります。サポートされている場合は、クライアント証明書認証を使用して、有効で信頼できる証明書を提示していないクライアントからの接続を VPN が禁止するようにします。
- クライアント証明書認証が利用できない場合は、サポートされている他の形態の多要素認証を使用して、悪意のある行為者が漏洩したパスワードで認証するのを防ぎます。
リモートアクセスVPNの攻撃対象を減らす。
- 急速に悪用されることの多い(時には24時間以内に)既知の脆弱性を緩和するために、パッチやアップデートを直ちに適用する。
- すべてのベンダーのパッチガイダンスに明示的に従う。例えば、ベンダーが定期的なパッチガイダンスの一環として、デバイスに関連するすべてのパスワードを変更することを推奨している場合、組織は例外なく、インフラ内のすべてのパスワードを変更する準備をしなければなりません。
- メジャーアップデートを行う場合や、悪用されていることがわかっている脆弱性のあるバージョンからアップデートする場合は、以下の点を考慮してください。
- VPNユーザー、管理者、サービスアカウントの認証情報の更新。
- VPNサーバーの鍵や証明書を失効させたり、新たに生成したりすることで、VPN接続情報をユーザーに再配布する必要がある場合があります。
- アカウントを見直し、すべてのアカウントがリモートアクセスに期待され、必要とされていることを確認する。異常なアカウントは侵害の可能性を示します。
- VPN装置への外部からのアクセスをポートやプロトコルで制限する。
- IKE/IPsec VPNでは、UDPポート500および4500、Encapsulating Security Payloadのみを許可します。
- SSL/TLS VPNの場合は、TCPポート443などの必要なポートやプロトコルのみを許可する。
- 可能であれば、既知のVPNピアのIPアドレスを許可リストに入れ、それ以外をブロックします。注意:未知のピアIPアドレスがVPNにアクセスすることが予想される場合、これは難しいかもしれまん。