・管理インターフェースの保護
情報システム開発契約のセキュリティ仕様作成のためのガイドライン
詳細設定対策に必要な措置
基本的な考え方 †
Microsoft は、Pass the Hash を防御するため、ドメインコントローラーに対して管理目的で接続できる端末のネットワークの分離を提唱しています。これは管理者の露出を制限し、重要資産にアクセスできる特権の窃取を防ぐとともに、ログ監査の負担を軽減し、検出を容易にするという効果があります。
また、重要資産やアカウントの洗い出しを行った上で、ランサムウェアの被害低減策を検討します。これには、侵入時の攻撃ベクトルの遮断、インターネット分離と水平展開の防止、情報の多重バックアップなどが考えられますが、本稿では重要資産にアクセスするアカウントの保護方法について説明します。
管理レイヤーの設定と、アカウント・ネットワーク・管理端末の分離 †
情報資産の管理単位をドメイン、メンバーサーバー、業務端末の3つのレイヤーで分け、各レイヤーごとに管理者アカウント、管理接続用ネットワーク、管理端末の分離を行います。コストやネットワーク設定上、分離が困難な場合は、最低限、アカウントの分離を行います。
Windows の Built-in Administrator は使用せず、ドメインの Admnistrators に参加している管理者アカウントを利用します。また、ドメインの Administrators に参加しているアカウントは管理業務専用とし、一般業務での使用を規程で禁止します。
Tier | 管理者グループ | 管理対象 | 接続可能なレイヤー | ||
Tier 0 | Tier 1 | Tier 2 | |||
Tire 0 | Domain Admin | ドメインコントローラー、RADIUSサーバー | 〇 | × | × |
Tire 1 | Member Server Admin | 業務サーバー | × | 〇 | × |
Tire 2 | Workstation Admin | 業務端末 | × | × | 〇 |
このように、ドメイン、メンバーサーバー、端末の管理ネットワークを分離することで、最も重要なドメインの管理者への露出を最低限にすることで、他のレイヤーへの攻撃があっても、安全に管理者を守りながら対処が可能となります。また、管理ネットワークはトラフィックやノイズが少ないことから、ログの監視が容易であり、異常の早期検出が可能となります。
各レイヤーの設定 †
- 各レイヤーのネットワーク
- 各レイヤーはセグメントで分離し、アクセスコントロールを実施する
- 管理端末は各管理対象と同じ居室に設置するか、VLANで接続する
- 各レイヤーの管理者
- IDはレイヤーごとにすべてユニークにし、一般業務では使用しないように規程する
- 物理的な多要素認証を採用する
- ロール権限を最小にする
- 各レイヤーの管理端末
- 端末緩和設定 を参照
最重要資産での物理的アクセス制御 †
極めて重要な情報資産が存在する場合は、物理的な入退出管理を行うとともに、アクセスコントロールを行うとともに、リモート接続をポリシーで禁止し、ローカルでの物理的な対話型ログオンにのみ限定することを検討します。この場合、物理的多要素認証を導入し、管理アカウントと業務アカウントの分離を行うことで、否認ができないようにし、オブジェクトアクセスの監査を適用して内部不正も防止しします。ログは、改ざんを防ぐため、リアルタイムで他のシステムに転送します。
管理すべき対象と緩和策 †
管理者、重要資産にアクセスできる関係者 †
通常の業務での情報資産へのアクセスを特定し、誰がどのようなリソースにアクセスできるかを棚卸します。次に、各アカウントで、資格情報の窃取やランサムウェアの被害を受けた場合を想定し、適切な緩和策を検討します。
厳重に管理すべきセキュリティグループ、管理者、従業員アカウント †
- 付加価値の高いビジネス資産へのアクセス権を持っているアカウント
- Domain Admin
- Enterprise Admin
- Schema Admin
- Account Operators
- Backup Operators
- BUILTIN\Administrator
- ハイパーバイザー管理者
- アプリケーション管理システム、アンチウイルス管理システムなどの管理者
- ソフトウェアのインストール、アップデート、バックアップのためのサービスアカウント
- セキュリティスキャンに使用するサービスアカウント
- ローカル管理者アカウント
管理者、重要資産にアクセスできる関係者への緩和策 †
- リスクに応じたシステム管理者規程の策定とユーザー教育
- 最新の手口の共有
- これらのアカウントを使用する際にインターネットへの接続を必要最小限にする等のアクセス管理
- これらのアカウントのログオン成功、ログオン失敗等のログ監査
- 多要素認証の導入
付加価値の高いビジネス資産へのアクセス権を持っているアカウント †
- メールシステム
- ファイル共有
- SharePoint、DropBox、BOXなどのコンテンツ管理システム
- File Server、オンラインバンキング端末などの重要なインフラ
- 経営幹部
- 研究者
- 経理・財務担当者
- 知財・法務担当者
- 役員秘書
付加価値の高いビジネス資産へのアクセス権を持っているアカウントへの緩和策 †
- リスクに応じたシステム管理者規程の策定とユーザー教育
- 最新の手口の共有
- 電子メールの添付ファイル、組み込みリンクのサンドボックスによる検査
- これらのアカウントのログオン成功、ログオン失敗等のログ監査
- クラウドサービスの脆弱性への対処(パスワード漏洩等)
- 信頼できるパスワードマネージャーの利用
- 多要素認証の導入
特権アカウントを使用することが想定される端末 †
- ヘルプデスクなどのサポートに使用されるコンピュータ
- バッチ処理管理サーバー
- セキュリティスキャナ
- RDP を使用する端末
- PS Remotting を使用する端末
- Debugツール、開発環境を使用する端末
システム管理者の資格情報の保護 †
システム管理者は、アカウント管理、バックアップ、アクセスコントロール管理、ログ保全など、システム運営における重要な業務を担います。攻撃者にシステム管理者の資格情報が窃取された場合、情報漏洩、情報資産の改ざん、ログの消去、踏み台による他への攻撃など、広範囲な被害が予想されます。従って、システム管理者の認証情報は、重要な情報資産や個人情報と同等以上の保護が必要です。
一方で、パスワードという知識要素の認証は、ログ分析以外に危殆化を知ることができません。例え、定期変更を設定したとしても、次に変更される時期までは、攻撃されるリスクが残ります。
そこで、多要素認証をもちいてシステム管理者の資格情報を保護し、資格情報の窃取、漏洩を防ぎ、情報資産の保全を強化することを推奨します。また、多要素認証導入までは、推測が困難な十分な長さを有するパスフレーズの利用と、ブルートフォース(総当たり)攻撃を困難にするアカウントロックアウトの設定を推奨します。
多要素認証 †
多要素認証とは、知識、所有、生体という認証要素を複数、同時に満たす必要があります。NIST SP800-63B では、次の方式、もしくは組み合わせが要求されています。
Authenticator | 内容 |
多要素OTPデバイス | PIN を入力することでワンタイムパスワードを生成するデバイス |
多要素暗号ソフトウェア | PIN を入力することで秘匿エリアに保存された電子証明書が読み出せるソフトウェア |
多要素暗号デバイス | PIN を入力することで秘匿エリアに保存された電子証明書が読み出せるデバイス |
記憶シークレット+ルックアップシークレット | パスワードとリカバリコードの組み合わせ |
記憶シークレット+経路外 | パスワードとSMSによるコード送信 |
記憶シークレット+単一要素OTPデバイス | パスワードとワンタイムパスワード生成デバイス |
記憶シークレット+単一要素暗号ソフトウェア | パスワードとOSの秘匿エリアに保存された電子証明書 |
記憶シークレット+単一要素暗号デバイス | パスワードとデバイスの秘匿エリアに保存された電子証明書 |
- NIST SP800-63-3 の OpenID ファウンデーション・ジャパンによる邦訳: https://openid-foundation-japan.github.io/800-63-3-final/index.ja.html
管理者の資格情報の管理 †
ドメインの管理者とエンタープライズ管理者の資格情報は、明確に分離されるべきです。もし同一であったとすると、ドメインとエンタープライズの双方に被害が及ぶ可能性があるからです。また、同様の理由で Windows ドメイン以外のシステム管理者の資格情報を他の Linux などのシステムと共通にすることは、大変、危険といえます。
加えて、各管理者の権限でログオンする端末はクリーンセットアップされた専用端末とすべきです。一般業務端末の転用は、すでにマルウェアに感染している可能性があるためです。
各管理者の権限で、以下の行為を行うことは、規程で明確に禁止されるべきです。
- 管理端末での電子メールの閲覧:フィッシングによるマルウェアの侵入を許し、かつ、管理者特権でマルウェアのインストールを許可することとなるため。
- 管理端末でのWeb の閲覧:ドライブバイダウンロード攻撃などによってマルウェアの侵入を許し、かつ、管理者特権でマルウェアのインストールを許可することとなるため。
- 一般の業務端末へのパスワードを使ったログイン:すでにマルウェアが侵入しており、Pass the Hash 攻撃やキーロガーが動作している場合、パスワードの窃取されるため。
管理端末緩和設定 †
- クリーンセットアップされたものに限定する
- BitLockerによる暗号化
- リムーバブルメディア、スマートフォン等の接続の禁止
- 明示的に必要なポート以外はすべて着信接続を拒否する
- すべてのインターネットアクセスをブロックする、もしくはポートを最小限にし、可能な場合、IPアドレスを制限する
- 管理に不要なアプリケーションのアンインストール
- Wi-Fiでの802.1x PEAP-TLS による端末認証
- Web、電子メールの閲覧の禁止、Office、PDFの閲覧の禁止
- グループポリシー
- ネットワーク経由でのコンピュータへのアクセス拒否
- バッチジョブとしてログオンを拒否
- サービスとしてログオンを拒否
- リモートデスクトップ経由のログオンを拒否
管理端末監査 †
着目点 †
- アカウントが使用された場所(発信元または宛先)。
- 認証実行時(ユーザーが休暇中、休暇中、勤務時間外など)。
- 異常なアカウントの作成(たとえば、プロビジョニング・システムの外部で作成されたドメイン・アカウント、またはサーバー上で作成されたローカル・アカウント)。
- アカウントを使用した異例のアクティビティ(たとえば、設定の変更や認証ポリシーの失敗)。
- 既知または未知の悪意のある実行可能ファイルの検出。
- 同じホストから使用される、無関係な複数の重要なアカウント(たとえば、同じホストから使用されるドメイン管理者認証情報とサービス・アカウント)。
- 異なる所有者の複数のアカウントが、同じセッション内の同じコンピュータから短時間で認証を行う。
- 重要なオブジェクトの修正(たとえば、Domain Admins のメンバーシップの変更)。
- VPN などの境界アクセスに使用されるアカウントと、リソースへのアクセスに使用されるアカウントの不一致。
イベントログ †
監視対象のコンピュータ †
- [Windowsログ]>[Security]
- Event ID 4688 新しいプロセスが作成されました。
- Event ID 4648 明示的な資格情報を使用してログオンが試行されました。
- Event ID 4624 アカウントが正常にログオンしました。
ドメインコントローラー †
- [Windowsログ]>[Security]
- Event ID 4769 Kerberos サービス チケットが要求されました。
- Event ID 4768 Kerberos 認証チケット (TGT) が要求されました。
- Event ID 4766 SIDの履歴をアカウントに追加できませんでした。
- [アプリケーションとサービスログ]>[Microsoft]>[Windows]>[Authentication]>[ProtectedUserFailures-DomainController]
- Event ID 100 NLTM usage attempted.
- Event ID 104 DES or RC4 attempted for Kerberos Authentication.
- [アプリケーションとサービスログ]>[Microsoft]>[Windows]>[Authentication]>[AuthenticationPolicyFailures-DomainController]
- Event ID 101 – NTLM usage attempted.
- Event ID 105 – Kerberos authentication from a particular device was not permitted.
- Event ID 106 – The user or device was not allowed to authenticate to the server.
- Event ID 305 – Kerberos TGT request did not meet access control restrictions.
- Event ID 306 – User, device or both do not meet the access control restrictions.
- [アプリケーションとサービスログ]>[Microsoft]>[CodeIntegrity]
- Event ID 3065 プロセス (通常は lsass.exe) が共有セクションのセキュリティ要件を満たしていない特定のドライバーの読み込みを試行したことを、コードの整合性チェックによって特定したことを記録します。 ただし、設定されたシステム ポリシーのために、イメージの読み込みは許可されました。
- Event ID 3066 プロセス (通常は lsass.exe) が Microsoft 署名のレベル要件を満たしていない特定のドライバーの読み込みを試行したことを、コードの整合性チェックによって特定したことを記録します。 ただし、設定されたシステム ポリシーのために、イメージの読み込みは許可されました。
異常が発見された場合の対処 †
コマンドラインインターフェースの監査 †
グループポリシーの[コンピュータの構成]>[ポリシー]>[管理用テンプレート]>[システム]>[プロセス作成の監査]>[プロセス作成イベントにコマンドラインを含める] を [有効] に設定します。
その後、Security ログの Event ID 4688 を調査し、コマンドラインで実行されたコマンドと引数を調査します。
注意:コマンドライン引数には、パスワードや個人情報が含まれます。Security ログを読み取れるユーザーによる個人情報の漏洩に留意し、一時的な設定としてください。
侵害が発見された場合 †
- パスワード運用の場合
- Active Directoryドメインサービスでパスワードを変更します。
- コンピュータアカウントの資格情報をリセットします。
- この設定を施しても共有や名前付きパイプはログオンセッションが終了するまでは有効です。
- 証明書運用の場合
- MS CA もしくは 認証局に対して関連証明書の失効を申請します。
- 失効登録完了までは Active Directory のアカウントを無効にします。
- オンラインで失効チェックが行える OCSP であっても認証局での失効登録が終わるまでは、有効な証明書として取り扱われるためです。
- クリーンセットアップの実施。
- キーロガー等が仕掛けられている場合、再度、パスワードを窃取される可能性があります。
- コンピュータにインストールされているマルウェアが再度、攻撃を実施する可能性があります。
- アカウントの削除と再登録
- Active Directoryドメインサービスでアカウントを無効にします。
- グループのメンバーシップはハードコーディングされたセキュリティトークンです。そのトークンですでに実行されているプロセスは、セキュリティグループから削除された後も、アカウントの元の権限で実行されます。
- 侵害されたアカウントを削除し、新たにアカウントを登録します。これによって、同じアカウント名でも、異なる識別子 (SID) が新たに割り当てられます。
- Active Directoryドメインサービスでアカウントを無効にします。
- ドメインコントローラーが侵害された場合 KRNTGTパスワードハッシュが摂取されている可能性があるため、KRBTGTアカウントのリセットが必要です。
管理インターフェイスを保護する: https://www.ncsc.gov.uk/blog-post/protect-your-management-interfaces