Lynis

https://github.com/CISOfy/lynis

Linux渗透工具系列:Linux安全审计工具Lynis的使用技巧

一、Lynis是什么?

 Lynis是一款基于UNIX系统的安全审计工具,如Linux,macOS,BSD等,它执行深入的安全扫描并在系统本身上运行

Lynis的主要目标是测试安全防御,并提供进一步系统强化的提示。扫描完成后,Lynis还会为我们生成一份包含所有扫描结果的安全报告。

 Lynis专注于从内部扫描系统本身,它还将扫描一般系统信息,易受攻击的软件包以及可能的配置问题。系统管理员和审计员通常使用Lynis来评估其系统的安全性。Lynis也是黑客惯常使用的一款渗透工具 。

介绍
Lynis是一款开源的安全审计工具。功能主要是对Unix / Linux系统进行基线检测。
除了程序原有的配置外,同时也可以根据需要对配置文件的定制

安装    
下载地址:https://github.com/CISOfy/Lynis

程序完全用shell脚本编写,下载之后就可直接运行,需要root权限,并读写目录/var/log/ and /tmp,用来存放扫描日志以及报告文件

执行./lynis –c可开始扫描任务。程序会运行多个子脚本来进行不同类型的审计检测,最后把结果输出到report文件中。
安装包:https://cisofy.com/documentation/lynis/get-started/

二、Lynis可概括如下

 特征: 漏洞扫描 系统加固 入侵检测 中心管理 自定义行为规划 报告 安全面板 持续监测 技术支持

目标: 自动安全审计 符合性测试 漏洞侦测

有助于: 配置管理 软件补丁管理 系统加固 渗透测试 恶意软件扫描 入侵检测

三、Lynis怎么运作?

Lynis扫描是模块化的并且是机会主义的。这意味着它将仅使用和测试可以找到的组件,例如可用的系统工具及其库。好处是不需要安装其他工具,因此您可以保持系统清洁。

通过使用这种扫描方法,该工具几乎可以没有依赖项地运行。而且,它发现的组件越多,审计范围就越广。换句话说:Lynis将始终执行针对您的系统量身定制的扫描。没有审核将是一样的!

示例:当Lynis检测到您正在运行Apache时,它将执行与Apache相关的测试的第一轮。然后,当它执行特定的Apache测试时,它可能还会发现SSL / TLS配置。然后,它基于此执行其他审核步骤。一个很好的例子是收集所有发现的证书,以便以后也可以对其进行扫描。

审核步骤
这是在使用Lynis进行的典型扫描期间发生的情况:

  • 初始化
  • 执行基本检查,例如文件所有权
  • 确定操作系统和工具
  • 搜索可用的软件组件
  • 检查最新的Lynis版本
  • 运行启用的插件
  • 按类别运行安全测试
  • 执行自定义测试(可选)
  • 报告安全扫描状态

除了屏幕上显示的报告和信息外,有关扫描的所有技术细节都存储在日志文件(lynis.log)中。警告和建议之类的结果存储在单独的报告文件(lynis-report.dat)中。

四、Lynis支持参数有哪些?

用法: lynis command [options]  

lynis 命令 [选项]    

命令:

audit

audit system : 执行本地安全扫描

audit system remote : 远程安全扫描

audit dockerfile : 分析Docker文件  

 

show

show : 显示所有命令

show version : 显示Lynis版本

show help : 显示帮助  

 

update

update info : 显示更新详细信息

update release : 更新Lynis版本

 

选项:

--no-log : 不要创建日志文件

--pentest : 非特权扫描(适用于最适合)

--profile : 使用给定的配置文件扫描系统

--quick (-Q) : 快速模式,不要等待用户输入  

 

布局选项:

--no-colors : 不要在输出中使用颜色

--quiet (-q) : 无输出

--reverse-colors : 优化浅色背景的彩色显示  

 

其它选项:

--debug : 调试日志记录到屏幕

--view-manpage (--man) : 查看手册页

--verbose : 在屏幕上显示更多细节

--version (-V) : 显示版本号并退出  

 

企业选项:

--plugin-dir "" : 定义可用插件的路径

--upload : 将数据上传到中央节点

 

常用参数

------------------------------------
  Scan options:
    --auditor ""        : 检测者的名字
    --check-all (-c)               : 进行基线检测
    --no-log                          : 选择是否输出日志
    --profile        : 指定扫描使用的配置,默认使用的是程序目录下的default.prf文件,用户可以复制此文件后自己编辑自己的任务配置文件
    --quick (-Q)                  : 快速模式,不需要每一步都由用户来确认
    --tests ""             : 对特定的项目进行测试
    --tests-category "" : 对特定目录进行测试

  Layout options:
    --no-colors                   : 无颜色输出
    --quiet (-q)                  : 只输出警告
    --reverse-colors              : 优化显示

  Misc options:
    --check-update                : 检查更新
    --view-manpage (--man)        : man命令,查看详细参数
    --version (-V)                : 显示版本信息

 

如果Lynis未作为软件包安装(带有随附的手册页),请使用--man或nroff -man ./lynis.8

对于外壳背景较浅的系统,请使用--nocolors或--reverse-colors 使用lynis show选项查看Lynis的所有可用参数

五、Lynis怎么使用?

举例

1、扫描系统 # lynis audit system 或者 lynis --check-all

2、lynis audit system remote 192.168.x.x (远程扫描服务器,需指定ip地址,根据提示操作)

3、日志查看 more /var/log/lynis-report.dat 查看其中的告警(WARNING)以及建议(SUGGESTION)

六、Lynis测试(控件)

Lynis执行数百项单独的测试。每个测试将有助于确定系统的安全状态。大多数测试都是用Shell脚本编写的,并且具有唯一的标识符(例如KRNL-6000)。

有兴趣了解有关测试的更多信息吗?看一下Lynis控件和单个测试。 https://cisofy.com/lynis/controls/

灵活性

利用唯一标识符,可以调整安全扫描。例如,如果测试对您的扫描食欲太严格,则只需将其禁用即可。这样,您就可以针对您的环境进行最佳的系统审核。

Lynis是模块化的,可以运行您自己创建的测试。您甚至可以用其他脚本或编程语言创建它们。

Lynis插件


插件是Lynis的模块化扩展。借助插件,Lynis将执行附加测试并收集更多系统信息。

每个插件都有收集特定数据的目的。此数据存储在Lynis报告文件(lynis-report.dat)中。根据您对Lynis的使用情况,收集的数据可能会提供系统之间或各个扫描之间的宝贵见解。
 

Lynis的好处

  • 快多了
  • 日志文件无污染
  • 降低业务服务中断的风险
  • 基于主机的扫描可提供更深入的审核
  • Lynis在主机本身上运行。因此,与基于网络的扫描相比,它可以执行更深入的分析。这意味着影响业务流程的风险较小,并且日志文件不会因连接尝试和错误请求而保持干净。尽管Lynis是审核工具,但它也会发现漏洞。通过使用现有工具并分析配置文件来实现。

七、安装

Lynis重量轻且易于使用。尽管大多数用户将通过软件包安装Lynis,但不需要安装!只需提取存档(tarball)并运行./lynis audit system

安装选项

  • 通过GitHub克隆
  • 软件包
  • 塔球
  • 家酿
  • 端口(BSD)

初次使用Lynis的用户?我们建议您遵循《入门指南》。 https://cisofy.com/documentation/lynis/get-started/

下载tarball

如果您喜欢使用tarball进行测试和部署,请参阅下载页面上的详细信息  https://cisofy.com/downloads/lynis/

GitHub

Lynis项目可以通过GitHub轻松克隆

官网:

Lynis基本

使用Lynis基本通过运行“ lynis”,程序将启动,并将提供可用的基本参数。如果您手动提取了Lynis(或使用的Git),则使用'./lynis'从本地目录启动程序。

启动Lynis的最常见命令是使用audit system命令。这仍然会启动安全扫描。

要运行Lynis,您应该满足一个要求:对/ tmp(临时文件)具有写权限

 

命令,选项和参数

介绍

程序的行为会受到命令,参数和选项的影响。这些术语经常会混淆,因此我们从快速介绍开始。

命令告诉程序该怎么做。一个选项告诉程序如何执行。如果使用了参数,它将说明它的适用范围。参数通常跟随一个选项,例如文件名或目标。

Example

$ ./lynis audit system --quick --auditor "The Auditor"

 

在此示例中,我们告诉Lynis使用目标系统(参数)进行审核(命令)。通过使用--quick(选项),我们告诉它不要等待。我们使用--auditor(选项)并将其定义为“ The Auditor”(参数)

Lynis命令


Lynis工具需要最少数量的参数才能运行。如果您是第一次使用它,只需运行lynis并查看其提供的输出即可。

.$ ./lynis

 

如果没有任何命令,Lynis将显示其状态以及如何启动的建议

 

审计

audit命令告诉Lynis执行审计。

目标包括:

系统-审核主机系统                      system - audit the host system

dockerfile-审核dockerfile             dockerfile - audit a dockerfile

Show

The show command informs Lynis to share information, like help or the value of something.

Examples:

  • help - show help and tips
  • profiles - show discovered audit profiles        显示发现的审核配置文件
  • settings - show active settings          显示活动设置
  • version - show Lynis version             显示Lynis版本

Profiles

Lynis使用配置文件为您的操作系统和首选项提供了一组预定义的选项。如果不提供配置文件(--profile <名称>),则将使用默认配置文件(default.prf)。建议您复制default.prf并根据需要进行调整。

通过使用配置文件,您可以为不同类型的系统创建模板/基线。

例子:
每个操作系统的配置文件(Debian Linux,RedHat Linux,OpenBSD)
每个系统角色的配置文件(邮件服务器,Web服务器)
每个安全级别的配置文件(低,中,高级别)

主机ID

在安全审核过程中,Lynis尝试为系统分配两个标识符。它们可以作为指纹进行比较,并且可以在其他工具中使用,并将数据链接到现有系统。

标识符:hostid和hostid2
第一个标识符名为hostid,长度为40个字符。系统的MAC地址通常用于其数据输入。第二个标识符是hostid2。它长64个字符,通常使用公共SSH密钥作为数据输入。

   lynis show hostids

覆盖标识符

如果系统无法自动生成主机标识符,则可以在自定义配置文件(custom.prf)中指定它们。当系统寿命很短,但您希望将相同的数据链接到此类实例时,这也很有用。

lynis configure settings hostid=$(head -c 64 /dev/random | sha1sum | awk '{print $1}'):hostid2=$(head -c 64 /dev/random | sha256sum | awk '{print $1}')

一线生成两个ID并将它们添加到配置中

重要笔记 :

仅在真正需要时覆盖主机标识符

确保标识符对于每个单独的系统都是唯一的

使用此选项时,必须在配置文件中同时设置hostid和hostid2的值

 

屏幕输出

Lynis扫描系统时,它将执行单个目标测试并将每个(执行的)测试结果输出到屏幕。每个扫描结果都必须由审核员解释并(重新)检查其含义。

 

在大多数测试的后面,它将输出[OK]或[WARNING],其中第一个被认为是预期的(良好)结果,而第二个则是意外的结果。但是,请记住,显示“ [OK]”的结果并不总是表示已正确配置扫描目标,安全(出于安全考虑)或最佳实践。

相反,由于系统(及其要求)不同,因此每个“ [WARNING]”都不必是“坏”的。但是,建议您作为审核员注意他们,并检查测试对您的系统或策略有什么影响。

收到警告后可以采取的措施:

- 解决问题
阅读有关技术背景的日志文件(通常在测试中包含建议),有关更改可能带来的影响,请查阅Internet资料和文档。
-禁用测试(白名单)
在扫描配置文件中,可以完全禁用测试(选项test_skip_always)。如果您的测试给出警告,并且您对该特定测试的结果不感兴趣,则可以将其注册。 you can ingore it.

例如: 您的工作站上仅配置了一个DNS服务器。测试显示警告,并显示它至少需要两个工作的名称服务器。在这种情况下,您可以选择不通知它并禁用测试。在测试配置文件中使用测试编号扩展test_skip_always选项(可以在日志文件中或Lynis屏幕输出的末尾找到该编号)。

每次扫描后,审核员应查阅日志文件(/var/log/lynis.log)并解释结果。如果测试显示为“ [WARNING]”,则日志文件将给出显示警告的原因。在大多数情况下,将显示“ Suggestion:”行,以帮助解决问题或提供更多测试(或预期)内容。

 

 

建议和警告

如上一节所述,屏幕输出将提供屏幕上大多数测试的状态。在审核过程中,Lynis将收集任何可能的建议或警告。这些结果将被分组并显示在屏幕输出的底部。通常,警告是确实需要采取措施的事件。 另一方面,建议可能表明仍有改进的余地。通常发现的建议多于警告。这并不意味着因为有很多建议(并且没有警告)表明系统已受到适当的保护!

为了确定已检查的内容以及相关的建议/警告,测试标识符显示在同一行上(方括号之间)。打开lynis日志文件(/var/log/lynis.log)并搜索此标识符。

外挂程式   Plugins

Lynis插件是Lynis核心的扩展。在正常的Lynis控件执行单个测试并共享结果的地方,插件通常只会收集信息。然后,将收集并批量处理此信息。最大的好处是更快,更强大。例如,可以通过收集数据并将其与中央节点相关联来应用安全情报。

 

插件阶段 Plugin phases

Lynis具有模块化支持,可通过使用插件来扩展基本功能。插件分几个阶段执行:


插件:第一阶段

确实在现有测试中使用钩子或收集数据以供以后处理的插件将使用阶段1进行初始化。插件中的某些测试将在阶段2中完成。

插件:第二阶段

运行完所有测试后,插件将获得最后的机会。例如,解析系统上发现的元素,例如Apache中的虚拟主机。 可以独立使用的插件(例如,没有钩子,没有来自现有测试的输入),可以在阶段1中执行。不需要阶段2组件。

启用插件:

可以通过使用配置文件中的plugin选项来启用插件。 示例:plugin =

插件目录

可以在其中存储插件的目录由Lynis确定。默认情况下,它尝试一些路径(/ usr / local / lynis / plugins / usr / local / share / lynis / plugins / usr / share / lynis / plugins和/ etc / lynis / plugins)。如果找不到这些目录,则正在使用本地工作目录。要使用其他目录,请使用--plugin-dir参数,后跟目录名称。

自定义插件

创建个人插件时,建议您添加个人前缀并使文件名唯一(即custom_myplugin)。这样可以防止文件在新版本中被覆盖。如果您只想进行单个测试,建议您改用custom_test文件,因为插件的目标不同。

如果您考虑编写插件,我们请您与我们联系以确定可能性。

5.报告和记录

Lynis支持一种报告格式,可用于收集结果并以自定义或(更)友好的演示形式显示结果。报告文件还可以用于比较过去的扫描结果与当前的扫描结果。另一方面,Lynis Enterprise具有显示数据的更多可能性,包括多种格式的扩展报告。

报告文件内容:
-备注:#<备注>
-部分:[<部分名称>]
-选项/值:<选项名称> = <选项的值>

当一个选项可能具有多个值(例如,例如已安装的软件包)时,将添加方括号([])。示例:installed_pa​​ckage [] = Package-1.0.0

 

记录中  Logging

扫描系统并显示结果时,其他调试信息将添加到日志文件中(默认值:/var/log/lynis.log)。对于高级测试人员,此信息对于查看程序在后台执行的操作或出现异常的位置(通常是为什么)很有用。

日志文件中的信息:

-动作/事件的时间

-测试失败或将被跳过的原因

-(内部)测试和子测试的输出

-有关配置选项或如何解决/改进问题的建议

-威胁/影响力分数

备注:每次扫描都会清除日志文件。如果您需要调试或记录信息以进行先前的扫描,请安排日志轮换或进行备份,然后再次运行Lynis。

 

6.与Lynis Enterprise集成

Lynis数据可以通过--upload选项上传。对于使用多个系统的公司,Lynis Collector通常是首选。该特定工具具有更多功能,可以处理大量数据。 --upload参数和Lynis Collector均用于将数据上传到中央节点。

通过Lynis上传

在扫描配置文件(default.prf或您自定义的配置文件)中添加许可证密钥。调整后,使用--upload参数在扫描后上传数据。

对于数据上传,使用了cURL实用程序。对于需要代理的环境,配置文件允许您定义给cURL的任何选项,例如--proxy。如果在中央节点上使用了自签名证书,则可以使用--insecure选项禁用完整证书检查。

通过Lynis Collector上传

另一种选择是使用Lynis Collector。该工具允许从具有互联网连接的中央计算机上载。这样,网络中的其他计算机不需要直接访问。 Lynis Collector可在下载部分为客户使用。https://cisofy.com/downloads/

Lynis_第1张图片

有关此组件的更多详细信息,请参见第二部分。

 

第二部分:Lynis收集器  Lynis Collector

Lynis套件中的Collector组件是一个支持工具。它从许多系统中收集报告,并批量上传。企业解决方案的用户可以使用它。网络内通常仅需要一个收集器。 有关完整的详细信息,请参见Lynis Collector文档  https://cisofy.com/documentation/lynis/collector/

介绍:

Lynis Collector是一个小实用程序,可帮助批量上传Lynis报告文件。典型的用例是从客户那里收到报告文件的审核员。对于想要限制传出连接数量的公司,它也很有用。在这种情况下,运行Lynis Collector的系统将成为代理。仅此系统需要传出连接(直接或通过HTTP代理)。

Lynis Collector适用于Lynis Enterprise的客户。

 

安装

下载 从门户网站下载Lynis Collector软件包,或作为软件包安装。  https://packages.cisofy.com/

创建用户    我们建议创建一个非特权用户来收集数据。在这里的示例中,我们将使用户为“ lynis”

adduser lynis

 

目录    下一步是创建相关目录以存储所有信息

mkdir -p /home/lynis/lynis-collector/{new,processed}

 

提取压缩包

tar xzf lynis-collector-[version].tar.gz

 

组态  Configuration
位置
最初没有配置文件。这样,程序可以检测软件组件的首次用户。

配置文件是/etc/lynis/lynis-collector.conf

根目录
首先配置所有数据的存储目录。这是根目录,它将包含“新”和“已处理”目录。

root-dir=/home/lynis/lynis-collector
Data server
要配置的第二件事是服务器,它将从收集器接收数据文件。这是数据服务器Data server 设置。

data-server = portal.example.com

注册码
从报告文件中获取上传的许可证密钥。因此,必须在客户端系统上对其进行配置,这是通过/etc/lynis/custom.prf文件完成的。示例:license-key = abcd-abcd-abcd-abcd

 

 调试模式

特别是在配置时,启用调试模式很有用。这可以通过调试设置来完成。

debug=1

 自签名证书

在企业节点上使用自签名证书时,请更改curl-options并允许“不安全”的连接。

curl-options=--insecure

 

收集数据

下一步是接收数据并将其推入“新”目录(默认值:/ usr / local / lynis-collector / new)。这可以通过不同的方式来实现。这取决于您的个人喜好以及网络的配置方式。

接收数据的常用选项是:

  • SCP
  • SFTP
  • Samba
  • POST upload via Apache/nginx

示例:使用SCP的Lynis Collector

如果您从客户端(例如每天进行cronjob)推送数据,则SCP可能是一个不错的选择。

1.在您的接收系统上创建非特权用户(例如lynis)
2.通过使用scponly shell限制访问并设置基于密钥的身份验证
3.创建一个lynis-upload目录(mkdir / home / lynis / lynis-upload)
4.在审核的系统上运行scp命令,然后将数据复制到Lynis Collector系统

提示
不要使用FTP等不安全的协议
导入许多文件时,将lynis-report.dat重命名为唯一的名称(e.g. lynis-report-$(date "+%s%N").dat)

上传中:

当第一个文件复制到新目录时,请使用--debug运行lynis-collector工具,以便显示步骤结果。

./lynis-collector upload --debug

 

第三部分:Lynis企业 | Lynis Enterprise

介绍

要求

要使用Lynis Enterprise,您需要一个许可证密钥和一个活动用户帐户。可以在订购过程中或之前创建一个帐户。使用基于Web的解决方案进行管理。无需安装任何外部插件即可使用我们的解决方案。

为了进行审核,需要在要审核的系统上配置Lynis。可以选择使用Lynis Collector收集数据,然后将其上传到中央系统。

请参考第一部分和第二部分来安装和配置这些组件。

 

14.帐户管理

Lynis Enterprise服务上的帐户提供对公司系统和配置的访问。每个帐户只能链接到一个公司。

15.系统管理

添加新系统

在系统的生命周期中,可以通过将数据上传到Lynis Enterprise轻松地添加它。如果尚不知道系统的唯一ID,则系统将被添加到计算机池中。

Removing

停用系统时,将注意到缺少新的扫描数据并引发相关事件。如果要完全删除系统,请选择系统并使用删除图标(Delete system)。

 

16.安全加固

Lynis和Lynis Enterprise的主要组件之一是为系统的安全强化提供指导。每个系统都列出了相关的安全控制。企业版包括针对您的环境定制的实施计划。通过这种方式,可以帮助您选择哪些控件。

17.合规与基准

基准提供了一种检查已定义策略并报告有关策略符合性的方法。每个系统都可以链接到选择的基准。

18.变更管理

更多细节将在后面

19.事件处理

Lynis Enterprise解决方案中的事件用于将特定活动通知管理员。这包括超过警告阈值或例如丢失数据。通常,事件是号召性用语并检查相关组件。

 

20.软件升级

由于Lynis将经常更新以支持新的测试和软件,因此建议执行定期更新。根据安装方法的不同,有两个选项可以保持最新:

选项1.使用软件包

如果所使用的平台提供了最新的Lynis软件包,则可以将其用作软件升级策略的一部分。 如果供应商仅维护“稳定”版本,则通常在下一个OS版本发布之前,他们不会发布Lynis的较新版本。然后,您可以考虑自己创建Lynis软件包。请参阅有关如何创建程序包的提示部分。 https://cisofy.com/documentation/lynis/#tips

选项2.未安装

可以完全不使用Lynis来安装cronjob,而可以从内部服务器(例如HTTP / FTP / SCP / NFS)中获取最新的Lynis软件包。 cronjob首先将tarball提取到一个临时目录中。然后从那里运行Lynis,在清理之前,它将数据发送到Lynis Collector。 更新到新版本意味着管理员将首先在一些系统上测试新版本,然后将其上传到中心位置。从那时起,所有系统都将使用最新版本。

 

提示与建议

保持最新

保持软件最新状态对于访问最新功能并确保已解决已知错误至关重要。由于Lynis是审核工具,因此紧跟最新版本可能更为重要。目前,我们还没有提供自动更新功能。我们坚信,人们应该在将软件版本投入生产之前对其进行测试。 要在新版本发布时得到通知,可以使用以下选项:

 

通知清单

在我们的下载页面上,https://cisofy.com/downloads/ 您可以订阅通知列表。当有新版本发布时,您会收到一封包含更改的电子邮件。

推特 关注创始人Michael Boelen(@mboelen)和我们的公司@cisofy_is

Lynis-检查更新

为了监视目的或通知自己,可以在Lynis检查最新版本时解析其输出。如果输出为“过时”,则有新版本可用。背景信息:Lynis使用DNS通过TXT记录查询来检查最新版本。

构建自己的包  Building your own packages
对于喜欢使用自己的软件包的公司或个人,有一个lynis.spec文件可用。
https://raw.githubusercontent.com/CISOfy/lynis-sdk/master/package-building/lynis.spec
由于Lynis依赖关系的数量很少,因此构建RPM非常容易,并且包括以下步骤:

包创建:
要创建自定义软件包以在您的计算机上安装:
-下载lynis.spec文件(请参阅项目页面)
-调整版本号,并在需要时调整路径
-运行'rpmbuild -ta lynis-version.tar.gz'构建RPM软件包
-通过运行以下命令安装软件包:rpm -ivh <文件名>
错误:您必须是root(或同等身份)才能执行审核。请su(do),然后重试。
Lynis需要以root身份执行以进行全面审核。更改为根目录,然后再次执行Lynis。 Sudo也可以工作。如果您没有超级用户权限,请使用--pentest选项。

错误:将./include/const和./include/functions的所有权更改为“ root”
为了保护文件的更改,Lynis进行了一些安全检查。如果相关文件不是root用户所有,或者它们的权限不够严格,Lynis将在屏幕上显示此文件,包括修复该文件的命令。通常,这是由于文件是由root以外的用户取消归档的。

 

Lynis和Lynis Enterprise有什么区别?

Lynis是一个开源审核工具,专注于审核基于Linux或Unix的单个系统。 Lynis Enterprise是一个集中式审核系统,具有附加的报告,立即可用的强化脚本,监控和仪表板。主要好处是可以通过自动化节省时间,并且随时可以获取最新的报告。

我可以创建自己的测试吗?
你当然可以! Lynis有一个名为“ custom”的测试类别(文件名tests_custom)。如果该文件存在,它将执行您自己定义的测试。

我的白色背景难以辨认使用的颜色,我该如何解决?
禁用颜色使用或使用--reverse-colors选项


普通测试和插件之间有什么区别?
尽管两者都可以做的很相似,但是测试的主要目的是进行检查并直接得出结论(是否存在某种东西,结果是好是坏)。
插件的目的是收集数据供以后使用。特别是Lynis Enterprise解决方案将使用插件来收集额外的数据,这些数据将在以后进行分析。一个示例是确定异常或异常值。在所有人都已经集中存储所有信息的情况下,让所有人建立数据数据库是没有意义的。
4.验证-签名
如果您的系统上安装了GnuPG,则可以下载我们的公钥(https://cisofy.com/files/cisofy-software.pub)和下载本身的相关签名。签名本身是扩展名为.asc的文件。
$ wget https://cisofy.com/files/cisofy-software.pub
$ gpg --import cisofy-software.pub
$ gpg --list-keys --fingerprint
/home/user/.gnupg/pubring.gpg

 

如果要创建自己的测试,请查看Lynis软件开发套件  https://github.com/CISOfy/lynis-sdk

Lynis软件开发套件  Lynis Software Development Kit

该项目具有三个主要目标:
提供有助于Lynis项目的提示
测试软件质量
让您开始使用自定义测试和插件。

入门
Lynis的开发很容易,因为该工具是用Shell脚本编写的。尽管我们使用一些外部工具,但是通常您不需要它们。

Lynis使用Bourne Shell,通常是系统上的/ bin / sh。不要与BASH(Bourne Again SHell)混淆。通过坚持使用Bourne shell,该工具可移植,并且可以在Linux,* BSD,Mac OSX等平台上运行。

经验教训:可移植性对于项目很重要。每个测试也应该在不同的UNIX衍生产品上运行

 

安装Lynis SDK    转到您要开发的目录

cd my / dev /目录

克隆两个项目:

git clone https://github.com/CISOfy/lynis

git clone https://github.com/CISOfy/lynis-sdk

 

转到SDK目录并运行开发工具包:

cd lynis-sdk

./lynis-devkit

 

这将检查Lynis树的存在并显示基本详细信息和帮助。

使用该套件,您可以执行质量检查,并测试一切是否按预期工作。我们鼓励所有开发人员和贡献者使用此工具包,尤其是在创建请求之前

 

结构体
了解项目的结构是一个重要的起点

目录结构
lynis-devkit工具,可以在Lynis源上执行各种测试

LICENSE.MD GPLv3许可证

README.MD此文件

documentation/  这个目录将存放最重要的开发文档。

包含/和单元测试/与lynis-devkit相关的组件  includes/ and unit-tests/ Components related to lynis-devkit

Contribute

首先分叉项目。有关如何执行此操作的详细信息,请参见GitHub文档。

Fork Lynis(https://github.com/CISOfy/lynis/fork)
创建功能分支(git checkout -b 增加我的新功能) (git checkout -b adding-my-new-feature)
在本地树中进行更改(change,git add,git commit -m'添加一些功能或改进')
测试变更
推送到分支(git push origin add-my-new-feature)
创建请求请求

 

提示

通常,许多小的请求比一个大的请求要好。这有助于我们更快地查看代码并评估更改可能带来的影响。 为了简化测试,您无需Lynis来执行所有测试。使用--tests-category或--tests专门确定要运行的测试。 检查您的更改及其对屏幕输出或执行的影响。确保不使用“ bashism”,以防止其在其他系统上运行。 在创建拉取请求期间,请提供有关拉取请求的含义(以及原因)的清晰说明。如果对不同的测试有多个更改,请将它们拆分为多个拉取请求。这样,更容易在master分支中检查和实现它们。

 

 

 

[Initialization] → [OS detection] → [Detection of binaries] → [Plugins phase 1] → [Built-in tests] → [Custom tests] → [Plugins phase 2] → [Report]

[初始化]→[操作系统检测]→[二进制检测]→[插件阶段1]→[内置测试]→[自定义测试]→[插件阶段2]→[报告]

 

你可能感兴趣的:(Lynis)