监控经过 CIS 加固的设备

对设备进行 CIS 加固,可以在很大程度上提升网络的整体安全性。CIS 加固是指依据 CIS(Center for Internet Security,互联网安全中心)提供的基准,对软件组件进行安全加固。这可能包括从禁用未使用的端口和服务,到限制访客对系统的访问等各类措施。

 

监控启用 CIS 的设备,需要为网络监控软件提供特定的权限。请按照以下步骤,在 OpManager 中启用对 CIS 加固设备的监控:

  1. 通过 ICMP 监控可用性
  2. 通过 SNMP 进行监控
  3. 通过 WMI 进行监控

1. 通过 ICMP 监控可用性

要通过 ICMP 监控设备可用性,首先需要在防火墙中为 ICMP v4 协议启用访问。以下是在被监控设备上启用 ICMP 的步骤:

  1. 在被监控设备上,以管理员模式打开命令提示符
  2. 如果要为 OpManager Server 启用防火墙访问,请执行以下命令,并将 <OpManager_IP> 替换为 OpManager Server 的 IP。
     

    netsh advfirewall firewall add rule name="OPM_ICMP_RULE" dir=in action=allow enable=yes protocol=ICMPv4 remoteip=<OpManager_IP>
     

2. 通过 SNMP 进行监控

要通过 SNMP 监控设备,只需在所有网络设备上配置 SNMP 服务。请在此了解更多关于如何在网络设备中启用和配置 SNMP的信息。

3. 通过 WMI 进行监控

  • 3.1 在防火墙中启用 WMI 流量、DCOM、WMI、回调接收程序和出站连接


    若要使用 WMI 监控加固设备,需要为 OpManager 启用一些连接/协议,以便其能够访问设备,其中首要的是允许 OpManager 的流量(入站和出站)通过防火墙。默认情况下,Windows 防火墙中的 WMI 设置仅配置为启用 WMI 连接,而不会允许其他 DCOM application。我们必须在防火墙中为 WMI 添加一个例外,使远程设备能够接收远程连接请求以及到 Unsecapp.exe 的异步回调。根据需要,在被监控设备上依次执行以下命令,以在防火墙中启用必要的连接。

    1. 要为 DCOM 端口 135 建立防火墙例外,请使用以下命令:

      OpManager Server 开启防火墙访问:

       

      netsh advfirewall firewall add rule dir=in name="OPM_DCOM_CIS" program=%systemroot%\system32\svchost.exe service=rpcss action=allow protocol=TCP localport=135 remoteip=<OpManager_Server_IP>

    2. 要为 WMI 服务建立防火墙例外,请使用以下命令:

      OpManager Server 开启防火墙访问:

       

      netsh advfirewall firewall add rule dir=in name ="OPM_WMI_CIS" program=%systemroot%\system32\svchost.exe service=winmgmt action = allow protocol=TCP localport=any remoteip=<OpManager_Server_IP>

    3. 要为从远程计算机接收回调的接收程序建立防火墙例外,请使用以下命令:

      OpManager Server 开启防火墙访问:

       

      netsh advfirewall firewall add rule dir=in name ="OPM_UnsecApp_CIS" program=%systemroot%\system32\wbem\unsecapp.exe action=allow remoteip=<OpManager_Server_IP>

    4. 要为本机与远程计算机进行异步通信时的出站连接建立防火墙例外,请使用以下命令:

      OpManager Server 开启防火墙访问:

       

      netsh advfirewall firewall add rule dir=out name ="OPM_WMI_OUT_CIS" program=%systemroot%\system32\svchost.exe service=winmgmt action=allow protocol=TCP localport=any remoteip=<OpManager_Server_IP>

  • 3.2 在受限权限下允许远程 WMI 访问:

    你可以通过使用 lusrmgr.msc 将相应的用户帐户添加到 Distributed COM Users 组和 Performance Monitor Users 组中,并通过 dcomcnfg 配置 DCOM 安全设置以允许这些组远程访问系统,从而让普通 Windows 用户访问 WMI 信息。

    注意:这些配置需要在要被监控的客户端设备的用户配置文件中完成。

    在“本地用户和组”设置中配置 Distributed COM Users:

    首先,在本地用户设置中添加 DCOM 用户组。

    1. 1. 点击“开始 → 运行”,输入 lusrmgr.msc,然后点击“确定”。
    2. 2. 在“用户”文件夹中,右键单击目标用户,打开菜单并选择属性
    3. 3. 切换到隶属于选项卡,点击添加
    4. 4. 在“输入要选择的对象名称”下,输入 “Distributed COM Users”(不带引号),点击检查名称,然后点击确定
    5. 5. 点击添加
    6. 6. 对 Performance Monitor Users 组和 Event Log Readers 组重复步骤 3—5。

    配置 DCOM 安全设置以允许这些组远程访问系统:

    接下来,为用户组(Distributed COM Users 和 Performance Monitor Users)授予基本访问权限,以便可以远程控制设备。

    1. 7. 点击开始 → 运行,输入 dcomcnfg 并点击“确定”。
    2. 8. 展开组件服务树,直至找到“我的电脑”。右键单击“我的电脑”打开菜单,并点击属性
    3. 9. 点击“COM 安全性”选项卡,然后在启动和激活权限部分下点击编辑限制
    4. 10. 点击“添加”。
    5. 11. 在“输入要选择的对象名称”下,输入 “Distributed COM Users”(不带引号),点击检查名称,然后点击确定
    6. 12. 点击添加
    7. 13. 对 Performance Monitor Users 组重复步骤 9—12。
    8. 14. 对于每个组,在各权限(本地启动、远程启动、本地激活、远程激活)下勾选允许,然后点击确定

    将 WMI 控制的安全设置应用到所有命名空间:

    最后,为这两个用户组授予所有命名空间下所有类的访问权限,以便 OpManager 能够通过 WMI 获取这些数据。

    1. 15. 点击开始 → 运行,输入 wmimgmt.msc 并点击“确定”。
    2. 16. 右键单击“WMI 控制(本地)”,打开菜单并点击属性
    3. 17. 切换到“安全”选项卡,点击Root,再点击安全性按钮。
    4. 18. 点击添加
    5. 19. 在“输入要选择的对象名称”下,输入 “Distributed COM Users”(不带引号),点击检查名称,然后点击确定
    6. 20. 确认已选中 Distributed COM Users 组,然后点击高级
    7. 21. 高亮选中包含 Distributed COM Users 的那一行并点击编辑
    8. 22. 在“应用到”下拉列表中,选择“此命名空间和子命名空间”
    9. 23. 在“允许”列中勾选 执行方法 (Execute Methods)、启用帐户 (Enable Account)远程启用 (Remote Enable),然后点击确定
    10. 24. 对 Performance Monitor Users 组重复步骤 17—23。
    11. 25. 点击确定关闭所有窗口。
  • 3.3 为 Windows 服务监控设置服务控制管理器安全权限:

    如果希望监控 Windows 服务监视器是否处于“运行/停止”状态,需要为 SCManager 授予权限。对 Windows 服务的访问由服务控制管理器(Service Control Manager)的安全描述符控制,而在加固的操作系统中,该访问默认是受限的。下面的步骤将以用户级别为服务控制管理器授予远程访问权限,以便获取某台 Server 上的服务列表。

    1. 获取用户帐户的 SID
      1. 在被监控设备上,以管理员模式打开命令提示符。
      2. 运行以下命令以获取用户 SID,将 UserName 替换为该用户帐户的用户名。

         

        wmic useraccount where name="UserName" get name,sid


        示例:

         

        wmic useraccount where name="administrator" get name,sid

      3. 记下 SID。(例如:S-1-<phone_number_1>-<phone_number_2>-500)
    2. 获取 SC Manager 当前的 SDDL
      1. 运行以下命令,将 SC Manager 当前的 SDDL 保存到 CurrentSDDL.txt 文件中。

         

        sc sdshow scmanager > CurrentSDDL.txt

      2. 编辑 CurrentSDDL.txt,并复制其中的全部内容。
      3. SDDL 将类似如下形式:

         

        D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

    3. 更新 SDDL:
      1. 为上述 SID 构造新的 SDDL 片段

         

        (A;;CCLCRPWPRC;;;<SID of User>)


        例如:

         

        (A;;CCLCRPWPRC;;;S-1-<phone_number_1>-<phone_number_2>-500)

      2. 将该片段插入到原始 SDDL 中 “S:” 之前。
      3. 更新后的 SDDL 如下所示:

         

        D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPWPRC;;;S-1-<phone_number_1>-<phone_number_2>-500)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

    4. 最后,使用更新后的 SDDL 执行以下命令:

       

      sc sdset scmanager D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPWPRC;;;S-1-<phone_number_1>-<phone_number_2>-500)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)


      这将为该用户授予以下权限:
      CC - 获取服务当前配置
      LC - 获取服务当前状态
      RP - 读取属性/启动服务
      WP - 写入属性/停止服务
      RC - 读取安全描述符。

感谢您的反馈!

此内容对您有帮助吗?

很抱歉给您带来不便。请帮助我们改进此页面。

我们该如何改进此页面?
您是否需要有关此主题的协助?
点击“提交”,即表示您同意根据隐私政策处理个人数据。