Active Directory でユーザーベースのサービス アカウントをセキュリティで保護する
オンプレミス ユーザー アカウントは、Windows で実行されているサービスをセキュリティで保護するための従来のアプローチです。 現在、グループ管理サービス アカウント (gMSA) やスタンドアロンの管理サービス アカウント (sMSA) がサービスでサポートされていない場合は、これらのアカウントを使用します。 使用するアカウントの種類については、オンプレミス サービス アカウントの保護に関するページを参照してください。
マネージド ID やサービス プリンシパルなどの Azure サービス アカウントへのサービスの移行を調査できます。
詳細情報:
オンプレミスのユーザー アカウントを作成して、アカウントがローカル リソースとネットワーク リソースにアクセスするために使用するサービスとアクセス許可のセキュリティを用意することができます。 他の Active Directory (AD) ユーザー アカウントと同様に、オンプレミスのユーザー アカウントには手動のパスワード管理が必要です。 アカウントのセキュリティを維持するために、サービスとドメインの管理者は、強力なパスワード管理プロセスを監視する必要があります。
ユーザー アカウントをサービス アカウントとして作成する場合は、単一のサービスに対して使用します。 名前付け規則を使用して、サービス アカウントと、それに関連するサービスを明確にします。
メリットと課題
オンプレミスのユーザー アカウントは、汎用性が高い種類のアカウントです。 サービス アカウントとして使用するユーザー アカウントは、ユーザー アカウントを管理するポリシーによって制御されます。 MSA を使用できない場合に使用してください。 コンピューター アカウントがより適切なオプションであるかどうかも評価します。
次の表は、オンプレミスのユーザー アカウントの課題をまとめたものです。
課題 | 対応策 |
---|---|
パスワード管理は手動であり、セキュリティとサービスのダウンタイムが低下します | - 定期的なパスワードの複雑さを確保し、強力なパスワードを維持するプロセスによって変更が管理されるようにします - パスワードの変更をサービス パスワードと調整することで、サービスのダウンタイムを削減します |
サービス アカウントであるオンプレミス ユーザー アカウントを識別するのが困難な場合があります | - 環境内にデプロイされたサービス アカウントを文書化します - アカウント名とアクセスできるリソースを追跡する - サービス アカウントとして使用されるユーザー アカウントにプレフィックス svc を追加することを検討します |
サービス アカウントとして使用されるユーザー アカウントの検索
オンプレミス ユーザー アカウントは、他の AD ユーザー アカウントと似ています。 サービス アカウントであると識別できるユーザー アカウントの属性がないため、そのようなアカウントを見つけるのは困難な場合があります。 サービス アカウントとして使用するユーザー アカウントの名前付け規則を作成することをお勧めします。 たとえば、サービス名 svc-HRDataConnector にプレフィックス svc を追加します。
次の条件のいくつかを使用して、サービス アカウントを見つけます。 ただし、この方法では、次のようなアカウントを見つけられない可能性があります。
- Trusted for delegation
- サービス プリンシパル名が付いている
- パスワードが期限切れにならないように設定されている
サービス用に使用されるオンプレミス ユーザー アカウントを見つけるには、次の PowerShell コマンドを実行します。
委任に対して信頼されているアカウントを見つけるには:
Get-ADObject -Filter {(msDS-AllowedToDelegateTo -like '*') -or (UserAccountControl -band 0x0080000) -or (UserAccountControl -band 0x1000000)} -prop samAccountName,msDS-AllowedToDelegateTo,servicePrincipalName,userAccountControl | select DistinguishedName,ObjectClass,samAccountName,servicePrincipalName, @{name='DelegationStatus';expression={if($_.UserAccountControl -band 0x80000){'AllServices'}else{'SpecificServices'}}}, @{name='AllowedProtocols';expression={if($_.UserAccountControl -band 0x1000000){'Any'}else{'Kerberos'}}}, @{name='DestinationServices';expression={$_.'msDS-AllowedToDelegateTo'}}
サービス プリンシパル名を持つアカウントを見つけるには:
Get-ADUser -Filter * -Properties servicePrincipalName | where {$_.servicePrincipalName -ne $null}
パスワードが無期限に設定されているアカウントを見つけるには:
Get-ADUser -Filter * -Properties PasswordNeverExpires | where {$_.PasswordNeverExpires -eq $true}
機密性の高いリソースへのアクセスを監査し、監査ログをセキュリティ情報イベント管理 (SIEM) システムにアーカイブすることができます。 Azure Log Analytics や Microsoft Sentinel を使用して、サービス アカウントを検索し、分析できます。
オンプレミスのユーザー アカウントのセキュリティを評価する
サービス アカウントとして使用されるオンプレミス ユーザー アカウントのセキュリティを評価するには、次の条件を使用します。
- パスワード管理ポリシー
- 特権グループのメンバーシップを持つアカウント
- 重要なリソースの読み取り/書き込みアクセス許可
潜在的なセキュリティの問題の軽減
オンプレミスのユーザー アカウントに関する潜在的なセキュリティの問題とその軽減策については、次の表を参照してください。
セキュリティ上の問題 | 対応策 |
---|---|
パスワード管理 | - パスワードの複雑さとパスワードの変更が、定期的な更新と強力なパスワード要件によって管理されていることを確認します - サービスのダウンタイムを最小化するために、パスワードの更新とパスワードの変更を調整する |
アカウントが特権グループのメンバーである | - グループ メンバーシップを確認します - 特権グループからアカウントを削除します - サービスを実行するためのアカウント権限とアクセス許可を付与します (サービス ベンダーに問い合わせてください) - たとえば、ローカルでのサインインまたはインタラクティブなサインインを拒否します |
このアカウントには、機密性の高いリソースに対する読み取りおよび書き込みのアクセス許可がある | - 機密性の高いリソースへのアクセスを監査します - 監査ログを SIEM (Azure Log Analytics または Microsoft Sentinel) にアーカイブします - 望ましくないアクセス レベルが検出された場合はリソースのアクセス許可を修正します |
セキュリティで保護されたアカウントの種類
Microsoft では、オンプレミス ユーザー アカウントをサービス アカウントとして使用することはお勧めしていません。 このアカウントの種類を使用しているサービスについては、gMSA または sMSA を使用するように構成できるかどうかを評価してください。 さらに、サービスを Azure に移行して、より安全なアカウントの種類を使用できるかどうかを評価します。
次のステップ
サービス アカウントのセキュリティ保護の詳細を確認する場合: