当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] JEA 的审计和报告

作者:精品下载站 日期:2024-12-14 02:58:36 浏览:15 分类:玩电脑

JEA 的审计和报告


部署 JEA 后,您需要定期审核 JEA 配置。审核可帮助您评估正确的人员是否有权访问 JEA 端点以及他们分配的角色是否仍然合适。

查找计算机上已注册的 JEA 会话

要检查计算机上注册了哪些 JEA 会话,请使用 Get-PSSessionConfiguration cmdlet。

# Filter for sessions that are configured as 'RestrictedRemoteServer' to
# find JEA-like session configurations
Get-PSSessionConfiguration | Where-Object { $_.SessionType -eq 'RestrictedRemoteServer' }
Name          : JEAMaintenance
PSVersion     : 5.1
StartupScript :
RunAsUser     :
Permission    : CONTOSO\JEA_DNS_ADMINS AccessAllowed, CONTOSO\JEA_DNS_OPERATORS AccessAllowed,
                CONTOSO\JEA_DNS_AUDITORS AccessAllowed

Permission 属性中列出了端点的有效权限。这些用户有权连接到 JEA 端点。但是,他们有权访问的角色和命令由用于注册端点的会话配置文件中的 RoleDefinitions 属性确定。展开 RoleDefinitions 属性以评估已注册 JEA 端点中的角色映射。

# Get the desired session configuration
$jea = Get-PSSessionConfiguration -Name 'JEAMaintenance'

# Enumerate users/groups and which roles they have access to
$jea.RoleDefinitions.GetEnumerator() | Select-Object Name, @{
  Name = 'Role Capabilities'
  Expression = { $_.Value.RoleCapabilities }
}

查找机器上可用的角色功能

JEA 从 PowerShell 模块内 RoleCapability 文件夹中存储的 .psrc 文件获取角色功能。以下函数查找计算机上可用的所有角色功能。

function Find-LocalRoleCapability {
    $results = @()

    # Find modules with a "RoleCapabilities" subfolder and add any PSRC files to the result set
    Get-Module -ListAvailable | ForEach-Object {
        $psrcpath = Join-Path -Path $_.ModuleBase -ChildPath 'RoleCapabilities'
        if (Test-Path $psrcpath) {
            $results += Get-ChildItem -Path $psrcpath -Filter *.psrc
        }
    }

    # Format the results nicely to make it easier to read
    $results | Select-Object @{ Name = 'Name'; Expression = { $_.Name.TrimEnd('.psrc') }}, @{
        Name = 'Path'; Expression = { $_.FullName }
    } | Sort-Object Name
}

笔记

如果多个角色功能共享相同的名称,则此函数的结果顺序不一定是选择角色功能的顺序。

检查特定用户的有效权限

Get-PSSessionCapability cmdlet 根据用户的组成员身份枚举 JEA 端点上可用的所有命令。 Get-PSSessionCapability 的输出与指定用户在 JEA 会话中运行 Get-Command -CommandType All 的输出相同。

Get-PSSessionCapability -ConfigurationName 'JEAMaintenance' -Username 'CONTOSO\Alice'

如果您的用户不是授予他们额外 JEA 权限的组的永久成员,则此 cmdlet 可能不会反映这些额外权限。当使用即时特权访问管理系统允许用户暂时属于安全组时,就会发生这种情况。仔细评估用户与角色和能力的映射,以确保用户仅获得成功完成工作所需的访问级别。

PowerShell 事件日志

如果您在系统上启用了模块或脚本块日志记录,则可以在 Windows 事件日志中查看用户在 JEA 会话中运行的每个命令的事件。要查找这些事件,请打开 Microsoft-Windows-PowerShell/Operational 事件日志并查找事件 ID 为 4104 的事件。

每个事件日志条目都包含有关运行命令的会话的信息。对于 JEA 会话,事件包括有关 ConnectedUserRunAsUser 的信息。 ConnectedUser 是创建 JEA 会话的实际用户。 RunAsUser 是用于执行命令的 JEA 帐户。

应用程序事件日志显示 RunAsUser 所做的更改。因此,需要启用模块和脚本日志记录才能将特定命令调用追溯到ConnectedUser

应用程序事件日志

在与外部应用程序或服务交互的 JEA 会话中运行的命令可能会将事件记录到它们自己的事件日志中。与 PowerShell 日志和记录不同,其他日志记录机制不会捕获 JEA 会话的连接用户。相反,这些应用程序仅记录虚拟运行用户。要确定谁运行了该命令,您需要查阅会话记录或将 PowerShell 事件日志与应用程序事件日志中显示的时间和用户相关联。

WinRM 日志还可以帮助您将运行方式用户与应用程序事件日志中的连接用户关联起来。 Microsoft-Windows-Windows 远程管理/操作日志中的事件 ID 193 记录了连接用户和每个用户运行的安全标识符 (SID) 和帐户名称。新的 JEA 会议。

会议记录

如果您将 JEA 配置为为每个用户会话创建记录,则每个用户操作的文本副本将存储在指定文件夹中。

以下命令(以管理员身份)查找所有脚本目录。

Get-PSSessionConfiguration |
  Where-Object { $_.TranscriptDirectory -ne $null } |
    Format-Table Name, TranscriptDirectory

每个记录都以有关会话开始时间、连接到会话的用户以及分配给他们的 JEA 身份的信息开始。

**********************
Windows PowerShell transcript start
Start time: 20160710144736
Username: CONTOSO\Alice
RunAs User: WinRM Virtual Users\WinRM VA_1_CONTOSO_Alice
Machine: SERVER01 (Microsoft Windows NT 10.0.14393.0)
[...]

记录的正文包含有关用户调用的每个命令的信息。由于 PowerShell 远程处理命令的转换方式,所用命令的确切语法在 JEA 会话中不可用。但是,您仍然可以确定执行的有效命令。以下是用户在 JEA 会话中运行 Get-Service Dns 的示例记录片段:

PS>CommandInvocation(Get-Service): "Get-Service"
>> ParameterBinding(Get-Service): name="Name"; value="Dns"
>> CommandInvocation(Out-Default): "Out-Default"
>> ParameterBinding(Out-Default): name="InputObject"; value="Dns"

Running  Dns                DNS Server

为用户运行的每条命令编写一个CommandInitation行。 ParameterBindings 记录命令提供的每个参数和值。在前面的示例中,您可以看到为 Get-Service cmdlet 提供了参数 Name 的值 Dns

每个命令的输出也会触发一个CommandInitation,通常是Out-DefaultOut-DefaultInputObject 是从命令返回的 PowerShell 对象。该对象的详细信息打印在下面几行,非常模仿用户所看到的内容。

参见

PowerShell ♥ 蓝队关于安全性的博客文章

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯