Lynis
是一个开源且功能强大的auditing tool
适用于类 Unix/Linux 操作系统。它扫描系统的安全信息、一般系统信息、已安装和可用的软件信息、配置错误、安全问题、没有密码的用户帐户、错误的文件权限、防火墙审计等。
Lynis
是最值得信赖的自动化审计工具之一,用于在基于 Unix/Linux 的系统中进行软件补丁管理、恶意软件扫描和漏洞检测。这个工具很有用auditors
,network
和system administrators
,security specialists,
和penetration testers
.
Lynis
很灵活,它用于各种不同的目的,包括:
- 安全审计
- 合规性测试
- 渗透测试
- 漏洞检测
- 系统强化
在 Linux 中安装 Lynis
安装
Lynis
通过系统包管理器是开始使用 Lynis 的最简单方法之一。要在你的发行版上安装 Lynis,请按照以下说明进行操作。
在 Debian、Ubuntu 和 Mint 上安装 Lynis
代码语言:javascript复制$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C80E383C3DE9F082E01391A0366C67DE91CA5D5F
$ sudo apt install apt-transport-https
$ echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
$ apt update
$ apt install lynis
$ lynis show version
在 CentOS、RHEL 和 Fedora 上安装 Lynis
代码语言:javascript复制# yum makecache fast
# yum install lynis -y
在 openSUSE 上安装 Lynis
代码语言:javascript复制$ sudo rpm --import https://packages.cisofy.com/keys/cisofy-software-rpms-public.key
$ sudo zypper addrepo --gpgcheck --name "CISOfy Lynis repository" --priority 1 --refresh --type rpm-md https://packages.cisofy.com/community/lynis/rpm/ lynis
$ sudo zypper repos
$ sudo zypper refresh
$ sudo zypper install lynis
使用源码安装 Lynis
代码语言:javascript复制如果不想安装
Lynis
,你可以下载源文件并直接从任何目录运行它。因此,为以下内容创建自定义目录是个好主意Lynis
下
/usr/local/lynis
代码语言:javascript复制# mkdir /usr/local/lynis
代码语言:javascript复制下载稳定版
Lynis
使用wget 命令从受信任的网站获取源文件,然后使用tar 命令将其解压缩,如下所示。
# cd /usr/local/lynis
# wget https://downloads.cisofy.com/lynis/lynis-3.0.4.tar.gz
代码语言:javascript复制解压压缩包
# tar -xvf lynis-3.0.4.tar.gz
lynis基本使用
代码语言:javascript复制你必须是
root
用户运行Lynis
因为它创建并将输出写入
/var/log/lynis.log
代码语言:javascript复制不带任何选项运行,它将为你提供可用参数的完整列表
# cd lynis
# ./lynis
Usage: lynis command [options]
Command:
audit
audit system : Perform local security scan
audit system remote <host> : Remote security scan
audit dockerfile <file> : Analyze Dockerfile
show
show : Show all commands
show version : Show Lynis version
show help : Show help
update
update info : Show update details
...
代码语言:javascript复制使用以下命令以如下所示的参数开始扫描。
# ./lynis audit system
Or
# lynis audit system
你执行上述命令,它将开始扫描你的系统并要求你
press [Enter] to continue, or [CTRL] C to stop)
它扫描并完成的每个过程。
image-20210920121229244
Lynis 颜色含义
- 绿色:意味着一切正常或被禁用
- 黄色:跳过,未找到,可能有建议
- 红色:表示特定测试或扫描不安全或需要更多关注。
在内核扫描运行级别、CPU 支持、内核版本、内核类型、/etc/inittab 和加载的内核模块中。
用于审计和强化 Linux 系统的 Lynis 安全工具
用户、组和身份验证扫描管理员帐户、UID、GID、/etc/passwd、sudoers 和 PAM 文件、密码、单用户模式、登录失败和 umask。
用于审计和强化 Linux 系统的 Lynis 安全工具
端口和包扫描包管理器,如果找到包管理器(rpm、deb 等),它将查询已安装的包列表并检查包漏洞、包更新。最后,检查 GPG 签名以确保包安全。
用于审计和强化 Linux 系统的 Lynis 安全工具
网络扫描 IPv6 是否启用、服务器配置测试、搜索可用网络接口、MAC 地址、网络 IP 地址、DHCP 状态。
用于审计和强化 Linux 系统的 Lynis 安全工具
日志和文件扫描 syslog 守护进程是否正在运行及其配置文件。
用于审计和强化 Linux 系统的 Lynis 安全工具
文件权限在此扫描所有类型的文件权限
img
创建 Lynis Cronjobs
代码语言:javascript复制如果你想为你的系统创建每日扫描报告,那么你需要为其设置一个 cron 作业。在 shell 中运行以下命令。
# crontab -e
代码语言:javascript复制添加以下带有选项的 cron 作业,
--cronjob
所有特殊字符将从输出中忽略,并且扫描将完全自动运行。
代码语言:javascript复制30 22 * * * root /path/to/lynis -c -Q --auditor "automated" --cronjob
代码语言:javascript复制上面的示例 cron 作业将在每天晚上
10:30
运行
/var/log/lynis.log
Lynis 扫描结果
代码语言:javascript复制扫描时,你将看到输出为 [
OK
] 或者 [WARNING
]。在哪里 [OK
] 被认为是一个很好的结果和 [WARNING
] 一样糟糕。但这并不意味着 [OK
] 结果配置正确且 [WARNING
] 不一定是坏的。在阅读日志后,你应该采取纠正措施来解决这些问题
/var/log/lynis.log
更新 Lynis
代码语言:javascript复制如果你想
update
或者upgrade
当前的 lynis 版本,只需键入以下命令,它就会下载并安装最新版本的 lynis。
# ./lynis update info
Or
# lynis update info
Lynis 参数
一些 Lynis 参数供你参考。
audit system
– 执行系统审核。show commands
– 显示可用的 Lynis 命令。show help
– 提供帮助屏幕。show profiles
– 显示发现的配置文件。show settings
– 列出配置文件中的所有活动设置。show version
– 显示当前的 Lynis 版本。
常用的选项
参数 | 说明 |
---|---|
--auditor | 审计人员 |
--checkall,-c | 开始审查整个系统 |
--check-update | 检查lynis是否需要升级 |
--cronjob | 作为定时任务启动 (includes -c -Q) |
--help,-h | 显示帮助 |
--manpage | 查看手册页 |
--nocolors | 不使用任何颜色 |
--pentest | 执行渗透测试扫描(非特权) |
--quick,-Q | 除错误外,不要等待用户输入 |
--quiet | 仅显示警告(包括 -quick,但不等待) |
--reverse-colors | 为浅色背景使用不同的配色方案 |
--version,-V | 检查版本 |