使用最新的JFrog产品?hth华体会最新官方网站
JFrog平台用户指南


跳到元数据的末尾
转到元数据的开始

概述

JFrog Xray是JFrog Artifactory的补充产品,作为一组微服务作为单独的安装运行。

Docker和非Docker两种安装方式都尽可能快速和简单,你只需要下载一个简单的脚本来管理运行Xray所需的所有其他组件的下载和安装。

在开始下载和安装Xray之前,请确保您的系统符合以下部分中的要求。

安装日志

作为安装/升级的一部分,Xray创建一个日志文件来跟踪安装过程。每次安装/升级都会创建一个新的安装日志文件,格式如下:

$ {INSTALLER_DIR} / $ {SCRIPT_NAME} ${日期}. log

高可用性

如果您正在安装Xray HA集群,请参考HA安装和设置


系统需求

硬件

JFrog Xray需要以下硬件:

  • 处理器:8核
  • RAM内存:16gb
  • 存储空间:100gb
  • 单独的主机(Xray不应该与Artifactory在同一台机器上运行)

最低要求

请注意,这些是Xray运行的最低要求。当x射线被大量使用时,比如在大型安装中或扫描Docker映像、RPM包等,您可能需要提供更多的硬件资源。2022世界杯阿根廷预选赛赛程

分配的存储空间可能会有所不同

Xray下载,然后在索引后删除获取的工件。但是,为了有更多的并行索引进程,因而更多临时文件同时会需要更多的空间。

这尤其适用于像Docker映像这样的大型blob。

平台

JFrog Xray支持任何可以运行Docker v1.11及以上版本的非windows平台,并且已经经过测试和验证,可以在以下64位版本的Linux上作为非Docker安装运行:

  • Ubuntu 16.04
  • Centos 7.倍
  • Debian 8.倍
  • Red Hat 7.x

操作系统库

确保您的操作系统库是最新的

页面内容

文件句柄分配限制

避免性能瓶颈

在深度递归扫描过程中,x射线对工件及其依赖项(元数据)进行索引,需要同时管理多个打开的文件。Linux系统上可以并发打开的默认最大文件数对于索引过程来说通常太低,因此可能导致性能瓶颈。为了获得最佳性能,我们建议按照以下步骤将可以并发打开的文件数量增加到100,000个(或系统可以处理的最大值)。

使用以下命令确定当前文件句柄分配限制:

猫/proc/sys/fs/file-max

然后,在“。”中设置如下参数/etc/security/限制. conf存档到较低的或上述确定的文件句柄分配限制。

的相关参数如何/etc/security/限制. conf文件设置为100000。根据系统中的文件句柄分配限制,安装的实际设置可能会有所不同。

根硬nofile 100000根软nofile 100000 x射线硬nofile 100000 x射线软nofile 100000 postgres硬nofile 100000 postgres软nofile 100000 mongod硬nofile 100000 mongod软nofile 100000
截屏视频

码头工人

JFrog Xray需要在你想运行Xray的机器上安装Docker v 1.11及以上版本。有关安装Docker的说明,请参阅码头工人的文档

吃嫩叶的动物

Xray已经在最新版本的Google Chrome、Firefox、Internet Explorer、Microsoft Edge和Safari上进行了测试。

归档和压缩

Xray已经测试了以下存档类型(在发布时已知)的Tar (Bz2、Gz、Z、infl、Xp3、xz)、Zip、rpm、deb、7zip。

Artifactory

版本1.1, JFrog Xray支持JFrog Artifactory v4.0及以上。

旧版本的JFrog Xray只支持JFrog Artifactory v4.11及以上版本。

推荐人工版本

我们建议使用JFrog x射线JFrog Artifactory v4.12以及以上以获得最佳集成和性能体验。

JFrog Xray 1.12与Artifactory 5.10联合发布。由于在这些版本中Xray与Artifactory的集成发生了根本性的变化,下面的矩阵描述了版本兼容性:


x光版本
1.12 + < 1.12


Artifactory
版本

5.10 +

(勾选)

由于Artifactory和Xray都进行了升级,因此新的集成功能完全符合设计要求。

(错误)

在这种组合中,集成将无法工作,因为Artifactory的新版本将查询Xray的扫描状态,然而,旧版本的Xray没有所需的REST API端点。

< 5.10

(警告)

支持这种组合。Artifactory将继续显示每个工件的扫描状态,但是,它将使用先前使用属性的机制。

(勾选)

如果Artifactory和Xray都没有升级,那么集成将使用先前的机制将扫描状态显示为工件上的一组属性。

特性兼容性

Artifactory和Xray独立运行,Xray中的一些功能需要Artifactory中特定版本的支持,如下表所示:

功能 Artifactory版本 x光版本
CI / CD集成

V >= 4.16

v > = 1.6
双向连接测试 V >= 4.15 v > = 1.3
x射线许可证验证 V >= 4.11 v > = 1.0
下载阻塞基于x射线警报 V >= 4.13 v > = 1.1
x射线切片“一般信息”页签在Artifactory的树状浏览器中选择工件 V >= 4.11 v > = 1.0
通过REST API同步工件 V >= 4.11 v > = 1.0
通过用户插件同步工件 4.11 > v >=4.0 v > = 1.1

支持技术

JFrog Xray支持对各种包格式进行扫描和影响分析,递归地扫描受支持的包层及其依赖项,并提供组件图来显示所发现的漏洞和许可遵从性问题的影响。有关支持的软件包格式的完整列表,请参阅支持技术


下载及安装

JFrog Xray可以作为Docker镜像安装,也可以作为每一种支持的Linux版本的非Docker安装。下载了首选安装程序后,按照下面相应部分中的安装说明进行安装。

x射线下载页面为任何支持的平台(Docker或Linux版本)提供JFrog Xray安装程序。

将x射线保存在$PATH上

确保将下载的文件保存在$PATH环境变量中定义的位置之一,以便从机器上的任何地方都可以访问它。

码头工人安装

运行没有Docker的Xray

要将Xray作为非docker安装运行,请参考Linux安装

JFrog Xray Docker镜像可以安装在任何支持Docker v1.11及以上版本的平台上。要将Xray安装为Docker镜像,请确保您有网络连接并按照以下说明进行安装:

  1. 使x光可执行的
    要在您的机器上赋予xray执行权限,可以运行:

    Chmod +x x射线
  2. 安装并启动Xray
    安装过程将提示您输入“根文件夹”。您可以保留默认(当前)位置或在您的计算机上指定另一个位置。仔细选择这个位置,因为以后可能不会更改它,JFrog Xray将在这里保存数据、配置文件和日志。x射线安装程序只会提示您在此位置进行初始安装。它被存储以供以后升级时使用。
    安装Xray的命令如下:

    Sudo ./xray install

使用非交互式自动脚本安装Xray

若要以无人值守方式安装/升级JFrog Xray,请设置以下环境变量和xray-env.conf文件:

出口USE_DEFAULTS = true

无人值守安装将JFrog Xray配置为独立实例,包括以下内容x光microservices公共资源2022世界杯阿根廷预选赛赛程,和默认文件系统结构

使用外部数据库

JFrog Xray使用几个数据库来处理其操作的不同特征。在1.10版本之前,Xray安装了一个所有这些数据库的实例,专用于自己使用。

从1.10版本开始,Xray提供了使用自己的选项MongoDBPostgres数据库(如果您的组织中已经安装并正在使用这些数据库)。

详情请参阅使用外部数据库

启动Xray,执行如下命令:

。/ x光开始

3.(可选)禁用并替换RabbitMQ的“Guest”用户。

禁用和替换RabbitMQ 'Guest'用户(Docker)

  • 连接到容器并创建一个新的“Admin”用户,运行以下脚本。
Docker exec -it  bash rabbitmqctl add_user   rabbitmqctl set_user_tags  administrator rabbitmqctl set_permissions -p /  "。"“。”“。*”


要删除'Guest'用户,请运行以下脚本。

Rabbitmqctl delete_user guest service rabbitmq-server restart

端口配置

确保正确配置了JFrog Xray和JFrog Artifactory安装上的端口,以启用两个应用程序之间的通信。

在Docker上升级

有关如何升级现有安装的说明,请参阅升级x光

与Docker安装程序交互

除了管理安装之外,xray安装脚本还可以提供附加信息或执行安装中的附加任务,例如重新启动xray、显示日志文件等。详情请执行命令:

/ x光帮助。

Linux安装

安装要求

请确保下列条件成立:

  • JFrog Xray必须安装在与JFrog Artifactory不同的机器上。
  • umask(用户文件创建模式掩码)的默认值为0022、022、0002或002


使用第三方日志采集器

如果使用外部日志采集器(例如Sumologic、Splunk)需要单独的x射线用户,可以调整日志采集器的权限$ XRAY_HOME /数据/日志文件夹,允许日志收集服务对生成的日志文件执行如下读操作:

  1. 如果需要,将日志收集服务用户添加到相应的组中(安装和启动Xray的用户和组)。
  2. 中应用用户和组权限$ XRAY_HOME /数据/日志目录使用:

    $ chmod -R 640 $XRAY_HOME/data/logs
  3. 调整组读继承权限setgid位使用

    $ chmod -R 2755 $XRAY_HOME/data/logs


    这将导致生成的日志文件继承文件夹的组权限。

Xray Linux安装遵循标准约定,并将Xray安装在以下文件夹中:

应用程序文件
/ opt / jfrog / x光
数据文件

默认值:/var/opt/jfrog/xray/数据/

安装脚本将提示您选择一个可选的替代位置。

日志文件
/var/opt/jfrog/xray/数据/日志
日志配置文件
/var/opt/jfrog/xray/数据/配置
PostgreSQL主目录

默认值:/var/opt/jfrog/postgres

安装脚本将提示您选择一个可选的替代位置。

脚本目录

/ opt / jfrog / x光/脚本

xray.sh脚本包含在这个文件夹中。

在下面的所有说明中,替换< linux-flavor >的占位符centosdebianubunturedhat根据您所操作的Linux的风格。

所有受支持的Linux版本的安装说明都是相同的。

  1. 解压缩下载的安装归档文件

    Tar -xzf xray--latest. Tar .gz
  2. 运行安装脚本
    (如果您不是以“root”身份运行,请在下面的命令前加上“sudo”)

    。/ installXray - < linux-flavor > . sh

    使用非交互式自动脚本安装Xray

    要使用无人值守方式安装/升级JFrog Xray,请执行带有以下参数的install脚本:

    。/ installXray - < linux-flavor > . sh——use-defaults

    另外,导出以下环境变量

    出口USE_DEFAULTS = true

    无人值守安装将JFrog Xray配置为独立实例,包括以下内容x光microservices公共资源2022世界杯阿根廷预选赛赛程,和默认文件系统结构


    使用外部数据库

    JFrog Xray使用几个数据库来处理其操作的不同特征。在1.10版本之前,Xray安装了一个所有这些数据库的实例,专用于自己使用。

    从1.10版本开始,Xray提供了使用自己的选项MongoDBPostgres数据库(如果您的组织中已经安装并正在使用这些数据库)。

    详情请参阅使用外部数据库

    3.(可选)禁用并替换RabbitMQ的“Guest”用户。


禁用和替换RabbitMQ“Guest”用户(Linux)

  1. 运行以下脚本创建一个新的“Admin”用户。

    Rabbitmqctl add_user   Rabbitmqctl set_user_tags  administrator Rabbitmqctl set_permissions -p /  "。"“。”“。*”
  2. 编辑你的$XRAY_HOME/data/config/xray_config。带有mqbase url的最新用户和密码的Yaml文件。

    mqBaseUrl: amqp://:@rabbitmq:5672
  3. 重新启动所有的x射线服务。

通过运行以下脚本删除默认的'Guest'用户。

Rabbitmqctl delete_user guest service rabbitmq-server restart


Linux升级

有关如何升级现有安装的说明,请参阅升级x光

与Linux安装程序交互

确保x射线完全启动

通过以下命令验证所有所需的x射线组件和连接的数据库是否启动并运行:

./xray.sh status all

使用下面的命令启动所有x射线组件:

./xray.sh start all

也可以排除“所有'标志,该标志将使脚本运行或仅检查是否运行x光服务(不含数据库):


/ xray.sh状态。
。/ xray.sh开始


安装脚本为维护提供了便利。以“root”身份或以“sudo”前缀执行以下命令。

./xray.sh  

地点:

<命令>可以取以下值之一:

开始
启动服务
停止
停止服务
重新启动
重新启动服务
状态
显示服务状态(如运行、停止…)
信息
显示每个服务的版本信息
deployServices
部署服务(仅适用于)x光服务)
removeServices
删除服务(仅适用于x光服务)

<目标>可选的。省略时,该命令仅适用于x射线服务。



所有
将该命令应用于所有服务

在Kubernetes上安装

Xray Helm chart可用于在Kubernetes上安装JFrog Xrayx射线舵图

这个图表的来源可以在JFrog的图表GitHub仓库

安装

安装和升级Xray的详细说明在图表中有文档README.md该文件可在JFrog的图表GitHub存储库中获得:

在Kubernetes上安装和升级JFrog Xray

可在Helm Hub上使用

Xray的安装和升级说明也可以在Helm Hub上找到:

在Kubernetes上安装和升级JFrog Xray


公共资源2022世界杯阿根廷预选赛赛程

在x射线安装过程中,会安装以下常用资源:2022世界杯阿根廷预选赛赛程

资源 描述 默认端口

PostgreSQL

用于保存和浏览组织的组件图。这是作为x射线安装的一部分安装或手动 5432

MongoDB

用于存储组件元数据和配置。这是作为x射线安装的一部分安装或手动 27017年,28017年

RabbitMQ

用于处理所有微服务通信,并确保没有数据丢失。

默认情况下,安装了RabbitMQ管理控制台“Guest”用户。您可以禁用默认用户,并使用我们的码头工人Linux自定义脚本。

4369、5671、5672、15672、25672、15671

x光服务

服务 描述 默认端口

服务器

职责包括:
  • 通过将分析数据与监视和策略相匹配来生成违规行为
  • 托管API和UI端点
  • 运行计划的作业,如数据库同步进程
8000

分析

负责丰富组件元数据,如漏洞、许可证和版本。 7000

坚持

职责包括:
  • 将给定的组件图与公共组件信息进行匹配
  • 完成组件命名
  • 将数据存储在相关数据库中(PostgreSQL中的图形数据和MongoDB中的组件元数据)
7003

索引器

负责索引流程,包括:
  • 递归地提取工件和构建
  • 从附带文件中收集工件元数据
  • 构建工件组件图表示
7002

使用外部数据库

JFrog Xray使用几个数据库来处理其操作的不同特征,包括这两个PostgreSQL和MongoDB。在1.10版本之前,Xray安装了一个所有这些数据库的实例,专用于自己使用。

从1.10版本开始,Xray提供了使用自己的选项PostgreSQL和/或MongoDB数据库(如果您的组织中已经安装或正在使用这两种数据库中的一种或两种)。

支持的数据库版本

目前,Xray支持以下外部数据库版本:

PostgreSQL:9.5和9.6版本(注意这些版本将很快发布),10。x 11。x, 12。x (Xray 2的最早版本支持PostgreSQL 10-12的版本是Xray 2.16。

MongoDB:版本3.2.6和3.6.6

虽然这两个数据库都是必需的,在安装Xray时,您可以选择将其中的哪一个(如果有的话)外化。如果您选择不外部化这些数据库,Xray将安装它们。

在安装过程中,Xray安装脚本将提示您是否安装内部数据库或使用组织中已经安装的数据库。只需根据需要响应这些提示即可。无论哪种方式,一旦安装完成,Xray需要连接到两个数据库才能工作。

您对自己的数据库承担全部责任

如果您选择让Xray使用您自己的任何数据库进行操作,您必须对这些数据库的维护、备份和正确功能承担全部责任。

例如,Xray安装脚本将询问您是否要安装PostgresMongoDB。

在每种情况下,如果您回答“Y”,Xray将相应地安装PostgresMongoDB供自己使用。

你想安装PostgreSQL实例吗?[Y/n]: n输入一个PostgreSQL连接字符串[postgres://xray:xray@postgres:5432/xraydb?]sslmode =禁用]:postgres: / / x光:xray@ < MACHINE_IP >: 5432 / xraydb吗?你想安装MongoDB实例吗?[Y/n]: n输入MongoDB连接字符串[MongoDB://xray:password@mongodb:27017/?]authSource = xray&authMechanism = SCRAM-SHA-1]: mongodb://xray:password@:27017/?authSource=xray&authMechanism=SCRAM-SHA-1
按如下所述添加所需的模式:


向MongoDB添加所需的模式
//创建默认管理员用户var adminUser = {user:"admin", pwd: "password", roles: ["root"], customData: {createdBy: "JFrog x射线安装程序"}}db.getSiblingDB("admin").createUser(adminUser) //创建默认x射线用户var xrayUser = {user:" Xray ", pwd: "password", roles: ["dbOwner"], customData: {createdBy:://以管理员身份验证创建x射线用户var loginOutput = db.getSiblingDB("admin").auth(adminUser.user,adminUser.pwd) db.getSiblingDB(" Xray ").createUser(xrayUser)
在PostgreSQL中添加所需的模式
创建用户xray,密码为xray用OWNER=xray ENCODING='UTF8'创建xraydb数据库授予xraydb数据库的所有权限;

访问x光

JFrog Xray可以通过以下URL访问:

http:// < SERVER_NAME >: 8000 / web / # / home

例如,如果你在一台名为“myserver”的机器上访问Xray,你可以使用:http://myserver:8000/web/#/home

x射线访问URL不是它的基URL

注意不要混淆Xray的访问URL和它的基URL

Xray的访问URL是:/web/#/home

如果在Xray Base URL领域的x射线的基本配置,连接的人工实例将无法与Xray通信



激活x光

购买-自动激活

如果你已经购买了x射线,它会自动激活,当你连接它到一个被许可的Artifactory实例——一个在Artifactory许可中包含了x射线许可的实例。

购买了许可证?

确保使用包含x射线激活的全面许可证激活Artifactory实例。

如果您目前正在评估JFrog Xray(即您正在免费试用),您需要手动设置许可证以激活它。

免费试用-手动激活

如果您要求对x射线进行评估,您的许可密钥将作为注册过程的一部分提供给您

激活x射线有问题?

如果您在接收许可证或激活Xray时遇到任何问题,请与我们联系JFrog支持

的相应字段中手动输入许可证密钥管理模块下注册许可证。

注册许可证


默认Admin用户

安装完成后,Xray会有一个默认用户,该用户在系统中预定义了管理员权限:

用户:管理

密码:密码

修改admin密码

我们强烈建议在安装完成后立即修改admin密码。

  • 没有标签