提升权限

使用SSH身份验证,您可以提升扫描引擎权限到管理或root访问权限,这是获取某些数据所必需的。例如,基于UNIX的CIS基准测试通常需要管理员级权限。包含苏(超级用户),sudo(超级用户做),或这些方法的组合,确保权限提升是安全的。

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

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

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

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

sudo, sudo +苏

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

修改/etc/sudoers您的目标资产的文件,根据以下说明。

提示

也可以在中创建专用用户文件/etc/sudoers.d/

sudo

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

         
1
< nexpose_user > =(根)< user_shell >

下面的示例分别展示了bash和ksh shell的配置:

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

sudo +苏

         
1
jsmith ALL=(根)/bin/su

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

目标资产的管理员可以在系统日志中控制和跟踪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(command) {
10
11
12
13
#设置委派任务的用户属性
14
15
runuser=“root”;
16
17
rungroup = " g !”;
18
19
rungroups={“!G!”};
20.
21
runcwd =“!〜!”;
22
23
24
25
#设置委派任务的运行时环境
26
27
setenv(“shell”,“!!!”);
28
29
setenv(“HOME”,“!~!”);
30.
31
setenv(“用户”,流浪者);
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