提升权限

使用SSH身份验证,您可以将Scan Engine权限提升到管理或根访问权限,这是获取某些数据所必需的。例如,基于unix的CIS基准测试通常需要管理员级权限。把su (超级用户), sudo (超级用户),或这些方法的组合,确保权限提升是安全的。

权限提升是SSH凭据配置中可用的一个选项。配置此选项涉及选择权限提升方法。使用sudo可以通过不需要管理密码来保护您的管理员密码和服务器的完整性。使用su需要管理员密码。

当您在站点配置中创建或编辑SSH凭据时,会出现提升权限的选项:

您可以选择使用以下选项之一提升权限:

  • 苏-允许您使用非root帐户进行远程身份验证,而不必通过SSH等服务将系统配置为远程root访问。要使用su进行身份验证,请输入要提升权限的用户的密码。例如,如果您试图将权限提升到root用户,请在允许高度面积共享扫描凭据配置面板
  • sudo -使您能够使用非根帐户进行远程身份验证,而无需通过SSH等服务为远程根访问配置系统。此外,它使系统管理员能够显式地控制经过身份验证的用户可以使用sudo命令运行哪些程序。要使用sudo进行身份验证,请输入您试图从中提升权限的用户的密码。例如,如果您试图将权限提升到root用户,并以jon_smith的身份登录,请在中的密码字段中输入jon_smith的密码允许高度面积共享扫描凭据配置面板
  • sudo +苏-结合使用sudo和su来获取需要从目标资产获得特权访问的信息。当您登录时,应用程序将使用sudo身份验证来使用su运行命令,而无需在任何地方输入根密码。如果限制了对su命令的访问,那么sudo+su选项将无法访问所需的信息。
  • pbrun -使用BeyondTrust PowerBroker允许InsightVM以root身份在Unix和Linux扫描目标上运行白名单命令。要使用此特性,需要在扫描目标上配置某些设置。请参阅下面的部分。
  • 特权exec允许您使用非特权帐户远程认证到思科IOS设备,并通过使可能命令。在中输入启用命令的密码许可海拔密码字段。特权用户名未被使用,可以保持不变或为空。远端设备必须运行SSH版本2。还必须更新扫描引擎以支持特权执行。

sudo, sudo +苏

如果您选择启用苏多sudo+su权限提升扫描时,必须授予扫描目标对其各自命令行shell的root访问权限。扫描将使用扫描用户资产配置中定义的任何shell。

修改/etc/sudoers根据以下说明归档您的目标资产。

提示

也可以在/etc/sudoers.d/

苏多

使用以下模板/etc/sudoers授予根shell访问权限的配置。代替< user_shell >使用适当的值:

         
1
ALL=(root)

以下示例分别显示了bash和ksh shell的配置:

         
1
/bin/bash jsmith =(根)
2
jsmith ALL=(根)/bin/ksh

sudo+su

         
1
/bin/su jsmith =(根)

使用系统日志跟踪权限提升

目标资产的管理员可以在系统日志中控制和跟踪su和sudo用户的活动。当权限提升尝试失败时,错误消息将出现在这些日志中,以便管理员可以处理和纠正错误,并再次运行扫描。

pbrun

在使用pbrun提升扫描权限之前,您需要创建一个配置文件并将其部署到每个目标主机。该配置提供了通过该方式扫描InsightVM成功的条件:

  • InsightVM可以使用pbrun执行用户的shell,如$shell环境变量所示。
  • pbrun不需要InsightVM提供密码。
  • pbrun以root用户身份运行shell。

下面的示例配置文件摘录显示了满足这些条件的设置:

         
1
RootUsers = {"user_name"};
2
3.
RootProgs = {" bash "};
4
5
If (pbclientmode == "运行" && . If (pbclientmode == "运行" && .
6
7
RootUsers &&中的用户
8
9
RootProgs中的basename(命令){
10
11
12
13
#设置委派任务的用户属性
14
15
runuser =“根”;
16
17
rungroup=“!g!”;
18
19
rungroups ={“G !”};
20
21
runcwd = " ! ~ !”;
22
23
24
25
#设置委托任务的运行时环境
26
27
setenv(“壳牌 ", "!!!");
28
29
setenv(“家 ", "!~!");
30
31
setenv(“用户”,runuser);
32
33
setenv(“用户名”,runuser);
34
35
setenv(“LOGNAME”,runuser);
36
37
setenv (PWD, runcwd);
38
39
setenv(“路径”,“/ bin: / usr / bin: / usr /地方/ bin: / sbin: / usr / sbin”);
40
41
42
43
#设置日志数据
44
45
清理();
46
47
48
49
接受
50
51