配置最小特权和Nessus SSH扫描
![](http://www.yyueer.com/sites/default/files/images/articles/blog_config_nessus_scans_2000x256%20%281%29.png)
Credentialed扫描一直提倡最快的和最精确的方式对任何网络执行漏洞评估。但像一切技术,通常它遇到两个路障:人们和过程。
当受到信任网络扫描的主题是讨论它不可避免地会导致这样的问题,是谁请求访问,为什么?需要什么级别的权限,为什么?该命令将运行,为什么?所有合法的问题应在授予访问权之前正确地问任何系统。但不同团队之间的来回通常会导致很长,漫长的过程最终导致请求者被拒绝访问或者获得有限的帐户可能会导致不完整的扫描结果。
为了帮助解决这个问题,我们的客户要求我们提供的透明度Nessus命令运行®扫描,需要什么样的特权运行命令,如果命令失败,这Nessus插件会失败。额外的要求是提供这些信息在一个很容易一下子吃输出格式,这样他们就可以配置一个扫描账户,同时拥有最少的特权,仍然能够执行一个完整的和准确的扫描。
最近Nessus 6.11的发布,我们采取措施解决这个问题通过释放测试功能这将使我们的客户这样做过吗Tenable.io™ Vulnerability Management,Nessus和安全中心™。
需求
- Nessus 6.11或更高版本,独立或由站得住脚的。io脆弱性管理或安全中心
- 扫描目标操作系统
- SuSE Linux CentOS, Redhat,亚马逊,Ubuntu, Debian, hp - ux、Linux科学,AIX,甲骨文Linux, Gentoo。
扫描配置
在高级别上,这个过程可以归纳为五个简单的步骤:
- 配置一个扫描账户运行sudo的特权
- 启用“尝试最小特权”扫描政策偏好
- 评论插件输出Nessus插件id # 102094和# 102095
- 更新/etc/sudoers插件文件基于结果# 102094
- 重复步骤4,直到命令运行高特权/etc/sudoers文件中
步骤1:配置用户通过sudo运行命令
登录到系统根用户和创建一个普通用户帐户。运行visudo编辑/etc/sudoers文件,并添加用户可以运行sudo命令。在下面的例子中,我创建了一个用户“nessus_scan_account”分配它sudoUser_Alias可以运行“/ usr / bin / dmidecode”命令需要root特权来运行。
![Subdoer文件](http://www.yyueer.com/sites/drupal.dmz.tenablesecurity.com/files/images/blog/sudoer_file%5B1%5D.png)
步骤2。使扫描政策“尝试最小特权”复选框
按照以下步骤启用“尝试最小特权在扫描政策偏好。
Tenable.ioVulnerability Management & Nessus
点击扫描- >新扫描- >高级- >扫描凭证- > SSH - >最小特权
当启用了这种偏好,Nessus插件与最小特权执行命令(即没有特权升级),如果最初的尝试失败,重试和特权升级执行命令。它也记录命令失败和成功与特权升级和报告中的信息两个插件(102094 #,102095 #),将在接下来的步骤中讨论。由于两次运行相同的命令,客户应该注意扫描能跑10 - 30百分点慢根据我们的实验室测试。
![](http://www.yyueer.com/sites/drupal.dmz.tenablesecurity.com/files/images/blog/t.io_lp%20%282%29.png)
安全中心
安全中心,按照下面的屏幕使偏好。
单击扫描- >策略- >添加- >高级- >验证- >扫描最小特权
![/](http://www.yyueer.com/sites/drupal.dmz.tenablesecurity.com/files/images/blog/SC%5B1%5D.png)
步骤3:检查插件输出
扫描完成后,检查插件# 102094和# 102095的输出来确定哪些插件与特权升级成功了,哪些插件失败由于权限不足。
SSH命令与特权升级了(# 102095)
插件#102095份报告所有与升级插件的特权。YAML的插件输出,包括所使用的帐户信息,插件文件名称、id、名称和命令它跑。这个插件将帮助用户验证只有经过授权的命令运行sudo特权。
![命令传递](http://www.yyueer.com/sites/drupal.dmz.tenablesecurity.com/files/images/blog/commands_passed%5B1%5D.png)
SSH命令需要特权升级(# 102094)
插件#102094报告所有插件未能运行升级特权由于权限不足。一样在前面的插件,这个插件输出在YAML促进更容易创建/etc/sudoers文件。它包括所使用的帐户信息,插件文件名称、id、名称和它运行的命令。
客户应该检查这个插件的输出调整命令可以使用sudo帐户运行。注意下面的命令“猫/etc/shadow”失败的例子。我们将在下一步中解决这个问题。
![命令失败](http://www.yyueer.com/sites/drupal.dmz.tenablesecurity.com/files/images/blog/commands_failed%5B1%5D.png)
步骤4:更新/etc/sudoers文件
在前面的步骤中,插件# 102094报告的执行命令的猫/etc/shadow失败由于特权升级失败。我们可以很容易的解决这个问题通过添加“/ bin /猫/etc/shadow”作为允许命令sudo我们先前创建别名/etc/sudoer文件,它将允许下一个扫描运行这个命令成功升级特权。你也可以继续阻止某些特权命令运行不更新/etc/sudoers文件和接受特定漏洞的风险没有被探测到由于不完整的信息。
![/](http://www.yyueer.com/sites/drupal.dmz.tenablesecurity.com/files/images/blog/after_fail%5B1%5D.png)
第五步:重复
执行一个准确验证扫描,重复步骤4这样的命令失败/etc/sudoers文件中。
在这一点上,一个可能会问,“为什么不直接与客户共享一个静态的ssh命令列表吗?“原因是双重的。首先,我们经常添加新命令我们的插件,这是一个静态文件会变坏的风险。第二,我们总是不知道如果一个命令需要跨多种操作系统管理员权限。
总结
在这篇文章中,我们演示了如何用户可以创建一个定制Nessus扫描帐户进行身份验证扫描/ SSH执行扫描所需最少的特权。目前,功能是支持有限数量的OSs,和我们希望推出支持额外的OSs在接下来的几个月里。如果你有反馈的功能,请联系站得住脚的™支持。我们希望接到你的电话。
相关文章
- Nessus