提升权限

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

权限高程是一个选择SSH凭据的配置。配置此选项涉及选择权限升降方法。使用sudo保护管理员密码和服务器的完整性不需要管理密码。使用SU需要管理员密码。

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

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

  • 使您可以使用非root帐户远程进行身份验证,而无需将系统配置为通过SSH等服务配置远程根访问。要使用SU进行身份验证,请输入您尝试提升权限的用户的密码。例如,如果您尝试提升到root用户的权限,请在密码字段中输入root用户的密码许可升降面积共享扫描凭据配置控制板。
  • 使您可以使用非root帐户远程进行身份验证,而无需将系统配置为通过SSH等服务配置远程根访问。此外,它还使系统管理员能够明确控制身份验证用户可以使用sudo命令运行的程序。要使用sudo进行身份验证,请输入您尝试提升权限的用户的密码。例如,如果您尝试提升root用户并且您以JON_SMITH登录的权限,请在“密码”字段中输入J​​ON_SMITH的密码许可升降面积共享扫描凭据配置控制板。
  • sudo + su-使用sudo和su的组合在一起获取需要从目标资产获取特权访问的信息。登录时,应用程序将使用sudo身份验证运行命令使用su,而无需在任何地方输入root密码。如果访问SU命令,SUDO + SU选项将无法访问所需信息。
  • Pbrun-使用BeyiteTrust PowerBroker允许Nexpose在UNIX和Linux扫描目标上以root运行白名单命令。要使用此功能,您需要在扫描目标上配置某些设置。请参阅以下部分。
  • 特权exec.允许您使用非特权帐户远程对Cisco IOS设备进行验证,并通过升高到特权EXEC级别使能够命令。输入enable命令的密码许可高程密码场地。不使用特权用户名,可以保持不变或空白。远程设备必须运行SSH版本2.还必须更新扫描引擎以支持特权exec。

sudo和sudo + su

如果您选择启用苏达或者sudo + su扫描时权限高度,必须将扫描目标授予对其各自的命令行shell的根权访问。扫描将使用扫描用户的资产配置上定义的任何shell。

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

提示

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

苏达

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

         
1
全部=(root)

以下示例分别显示了BASH和KSH Shell的配置:

         
1
jsmith all =(root)/ bin / bash
2
jsmith all =(root)/ bin / ksh

sudo + su

         
1
jsmith all =(根)/ bin / su

使用系统日志跟踪权限高程

目标资产管理员可以控制和跟踪系统日志中SU和SUDO用户的活动。当在权限高程尝试失败时,这些日志中会出现错误消息,以便管理员可以解决和更正错误并再次运行扫描。

PBRUN.

在使用PBRUN提升扫描权限之前,您需要创建配置文件并将其部署到每个目标主机。配置提供了Nexpe需要成功扫描此方法的条件:

  • nexpose可以执行用户的shell,如$ shell环境变量所示,带有pbrun。
  • PBRUN不需要Nexpose提供密码。
  • Pbrun以root身份运行shell。

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

         
1
rootusers = {“user_name”};
2
3.
rootprogs = {“bash”};
4.
5.
if(pbclientmode ==“运行”&&
6.
7.
rootusers &&
8.
9.
BaseName(命令)在rootprogs中){
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(“shell”,“!!!”);
28.
29.
setenv(“家”,“!〜!”);
30.
31.
setenv(“用户”,流浪者);
32.
33.
setEnv(“用户名”,HunUser);
34.
35.
setEnv(“logname”,hunUser);
36.
37.
seteNv(“PWD”,RunCWD);
38.
39.
SeteNV(“PATH”,“/ BIN:/ USR / BIN:/ USR / Local / Bin:/ Sbin:/ USR / Sbin”);
40.
41.
42.
43.
#设置日志数据
44.
45.
清理(​​);
46.
47.
48.
49.
接受;
50.
51.
}