第 3 章 添加源和凭证
要准备发现以运行扫描,您必须添加您要扫描的一个或多个源的 IT 基础架构部分。您还必须添加身份验证信息,如用户名和密码或 SSH 密钥,作为一个或多个凭证访问这些源。由于不同的配置要求,您可以根据您要扫描的源类型添加源和凭证。
了解更多
作为添加包含 IT 基础架构不同部分的源和凭证的一般流程的一部分,您可能需要完成很多任务。
添加网络源和凭证来扫描资产,如网络中的物理机、虚拟机或容器。如需更多信息,请参阅以下信息:
添加 satellite 源和凭证来扫描您的 Red Hat Satellite 服务器部署,以查找它管理的资产。如需更多信息,请参阅以下信息:
添加 vcenter 源和凭证来扫描您的 vCenter 服务器部署,以查找它管理的资产。如需更多信息,请参阅以下信息:
添加 OpenShift 源和凭证来扫描 Red Hat OpenShift Container Platform 集群的部署。如需更多信息,请参阅以下信息:
添加 Ansible 源和凭证来扫描部署 Ansible Automation Platform,以查找它管理的安全集群。如需更多信息,请参阅以下信息:
添加 RHACS 源和凭证来扫描 Red Hat Advanced Cluster Security for Kubernetes 的部署,以查找 RHACS 管理的安全集群。如需更多信息,请参阅以下信息:
3.1. 添加网络源和凭证
要在网络上的一个或多个物理机器、虚拟机或容器上运行扫描,您必须添加一个源来标识要扫描的每个资产。然后,您必须添加包含身份验证数据的凭证来访问每个资产。
了解更多
添加一个或多个网络源和凭证,以提供在网络中扫描资产所需的信息。如需更多信息,请参阅以下信息:
要了解更多有关源和凭证以及如何使用它们的信息,请参阅以下信息:
要了解更多有关通过网络上的资产进行身份验证的信息,请参阅以下信息。此信息包括有关以升级权限运行命令的指导信息,这是在网络凭证配置过程中可能需要做出的选择:
3.1.1. 添加网络源
您可以从初始 Welcome 页面或 Sources 视图中添加源。
流程
点击选项根据您的位置添加新凭证:
- 在 Welcome 页面中,单击 Add Source。
- 从 Sources 视图,单击 Add。
此时会打开 Add Source 向导。
- 在 Type 页面上,选择 Network Range 作为源类型,然后点 Next。
在 Credentials 页面中,输入以下信息:
- 在 Name 字段中输入描述性名称。
在 Search Addresses 字段中输入一个或多个用逗号分开的网络标识符。您可以输入主机名、IP 地址和 IP 范围。
-
输入主机名作为 DNS 主机名,例如
server1.example.com
。 -
以 CIDR 或 Ansible 表示法输入 IP 范围,例如
192.168.1.0/24
代表 CIDR 表示法,或者为 Ansible 表示法输入192.168.1.[1:254]
。
-
输入主机名作为 DNS 主机名,例如
- 可选:在 Port 字段中,如果您不希望扫描此源在默认端口 22 上运行,请输入不同的端口。
- 在 Credentials 列表中,选择访问此源网络资源所需的凭证。如果所需的凭证不存在,点 Add a credential 图标打开 Add Credential 向导。
- 如果您的网络资源需要 Ansible 连接方法是 Python SSH 实现,Paramiko 而不是默认的 OpenSSH 实施,请选择 Connect using Paramiko 而不是 OpenSSH 复选框。
- 点 Save 保存源,然后点 Close 关闭 Add Source 向导。
3.1.2. 添加网络凭证
您可以在创建源的过程中从 Credentials 视图或 Add Source 向导添加凭证。您可能需要添加多个凭证来对单一源中包含的所有资产进行身份验证。
先决条件
如果要将 SSH 密钥身份验证类型用于网络凭证,您要使用的每个 SSH 私钥都必须复制到在 Discovery 服务器安装过程中映射到
/sshkeys
的目录中。此目录的默认路径为"${HOME}"/.local/share/discovery/sshkeys
。有关
/sshkeys
目录中可用的 SSH 密钥的更多信息,或者请求向该目录添加密钥,请联系管理发现服务器的管理员。
流程
点击选项根据您的位置添加新凭证:
-
从 Credentials 视图,单击
。 - 在 Add Source 向导中,点 Credentials 字段的 Add a credential 图标。
此时会打开 Add Credential 向导。
-
从 Credentials 视图,单击
- 在 Credential Name 字段中输入描述性名称。
- 在 Authentication Type 字段中,选择要使用的身份验证类型。您可以选择 Username 和 Password 或 SSH Key。
根据身份验证类型,在适当的字段中输入身份验证数据。
- 对于用户名和密码身份验证,请为用户输入用户名和密码。此用户必须具有对网络的根级别访问权限,或者要扫描的网络子集。或者,此用户必须能够通过所选 become 方法获取 root 级别的访问权限。
-
对于 SSH 密钥身份验证,请输入用户名和到 Discovery 服务器容器本地的 SSH keyfile 的路径。例如,如果 keyfile 位于服务器上的
"${HOME}"/.local/share/discovery/sshkeys
默认路径中,请在 SSH Key File 字段中输入该路径。输入密码短语是可选的。
- 输入权限提升的 become 方法。需要权限提升,才能在网络扫描期间运行一些命令。为 become 方法输入用户名和密码是可选的。
- 点 Save 保存凭证并关闭 Add Credential 向导。
3.1.3. 关于源和凭证
要运行扫描,您必须为两个基本结构配置数据: sources 和 credentials。在扫描期间要检查的源类型决定了源和凭证配置所需的数据类型。
源 包含单个资产或一组要在扫描期间检查的多个资产。您可以配置以下类型的源:
- 网络源
- 一个或多个物理机器、虚拟机或容器。这些资产可以表示为主机名、IP 地址、IP 范围或子网。
- vCenter 源
- 管理所有或部分 IT 基础架构的 vCenter Server 系统管理解决方案。
- Satellite 源
- 管理所有或部分 IT 基础架构的 Satellite 系统管理解决方案。
- Red Hat OpenShift 源
- 管理所有或部分 Red Hat OpenShift Container Platform 集群的 Red Hat OpenShift Container Platform 集群。
- Ansible 源
- 管理 Ansible 节点和工作负载的 Ansible 管理解决方案。
- Red Hat Advanced Cluster Security for Kubernetes 源
- 保护 Kubernetes 环境的 RHACS 安全平台解决方案。
当您使用网络源时,您可以确定您应该在单个源中拥有多少个资产。目前,您只能为网络源添加多个资产。以下列表包含您在添加源时应考虑的一些其他因素:
- 无论资产是开发、测试还是生产环境的一部分,以及计算能力和类似问题的需求都是这些资产的考虑因素。
- 因为内部业务实践(如频繁更改安装的软件),还是要更频繁地扫描特定的实体或一组实体。
凭证 包含的数据,如具有足够颁发机构的用户的用户名和密码或 SSH 密钥,以便在该源中包含的资产的所有或部分运行扫描。与源一样,凭证被配置为网络、vCenter、satellite、OpenShift、Ansible 或 RHACS 类型。通常,网络源可能需要多个网络凭证,因为预期许多凭证需要访问广泛 IP 范围内的所有资产。相反,vCenter 或 satellite 源通常使用单个 vCenter 或 satellite 凭证(如果适用)来访问特定的系统管理解决方案服务器,OpenShift、Ansible 或 RHACS 源将使用单个凭证访问单个集群。
您可以从 Sources 视图中添加新源,您可以从 Credentials 视图中添加新凭证。您还可以在源创建过程中添加新或选择之前现有凭证。在源创建过程中,您要直接将凭证与源关联。由于源和凭证必须具有匹配的类型,所以您在源创建过程中添加的任何凭证共享与源相同的类型。另外,如果您要在源创建过程中使用现有凭证,可用凭证列表仅包含同一类型的凭证。例如,在网络源创建过程中,只有网络凭证可供选择。
3.1.4. 网络验证
Discovery 应用使用 Ansible 的 SSH 远程连接功能在网络扫描中检查远程系统。添加网络凭证时,您可以使用用户名和密码或用户名和 SSH keyfile 对来配置 SSH 连接。如果使用 SSH 密钥身份验证访问远程系统,您也可以为 SSH 密钥提供密码短语。
另外,在网络凭证配置过程中,您可以启用 become 方法。在扫描期间使用 become 方法来提升特权。这些升级的权限需要运行命令并在您要扫描的系统上获取数据。有关在扫描过程中不需要提升权限 的命令的更多信息,请参阅扫描远程网络资产中使用的 命令。
3.1.4.1. 扫描远程网络资产中使用的命令
运行网络扫描时,Discovery 必须使用您提供的凭证在网络中的远程系统中运行某些命令。其中一些命令必须以升级的特权运行。此访问通常是通过使用 sudo
命令或类似命令来获取的。必须收集 Discovery 用来构建已安装产品的报告的事实类型。
尽管可以在没有提升权限的情况下对网络源运行扫描,但是该扫描的结果不完整。网络扫描的不完整结果将会影响所生成的扫描报告的质量。
以下信息列出了发现在网络扫描期间在远程主机上运行的命令。该信息包括可在没有任何提升权限的情况下运行的基本命令,以及必须使用升级特权运行的命令,以便为报告收集最准确和完整信息。
除了以下命令外,发现还依赖于标准 shell 功能,如 bash
shell 提供的设备。
3.1.4.1.1. 不需要提升权限的基本命令
以下命令不需要提高权限以在扫描期间收集事实:
- cat
- egrep
- sort
- uname
- ctime
- grep
- rpm
- virsh
- date
- id
- test
- whereis
- echo
- sed
- tune2fs
- xargs
3.1.4.1.2. 需要升级权限的命令
以下命令需要升级的特权,以便在扫描期间收集事实。每个命令都包含发现在扫描期间尝试查找的事实或事实类别的列表。如果该命令没有升级的特权,则无法将这些事实包含在报告中。
- awk
- cat
- chkconfig
- 命令
- df
- dirname
- dmidecode
- echo
- egrep
- fgrep
- 查找
- ifconfig
- ip
- java
- locate
- ls
- ps
- readlink
- sed
- sort
- stat
- subscription-manager
- systemctl
- tail
- test
- tr
- unzip
- virt-what
- xargs
- yum