用lynis工具对linux系统进行安全审计

2022-06-02 15:44:42 浏览数 (2)

Lynis 是一个开源且功能强大的 auditing tool适用于类 Unix/Linux 操作系统。它扫描系统的安全信息、一般系统信息、已安装和可用的软件信息、配置错误、安全问题、没有密码的用户帐户、错误的文件权限、防火墙审计等。

Lynis是最值得信赖的自动化审计工具之一,用于在基于 Unix/Linux 的系统中进行软件补丁管理、恶意软件扫描和漏洞检测。这个工具很有用auditors, networksystem 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

如果不想安装 Lynis,你可以下载源文件并直接从任何目录运行它。因此,为以下内容创建自定义目录是个好主意Lynis

代码语言:javascript复制
/usr/local/lynis
代码语言:javascript复制
# mkdir /usr/local/lynis

下载稳定版 Lynis使用wget 命令从受信任的网站获取源文件,然后使用tar 命令将其解压缩,如下所示。

代码语言:javascript复制
# 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基本使用

你必须是 root 用户运行 Lynis 因为它创建并将输出写入

代码语言:javascript复制
/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

如果你想为你的系统创建每日扫描报告,那么你需要为其设置一个 cron 作业。在 shell 中运行以下命令。

代码语言:javascript复制
# crontab -e

添加以下带有选项的 cron 作业,

代码语言:javascript复制
--cronjob

所有特殊字符将从输出中忽略,并且扫描将完全自动运行。

代码语言:javascript复制
30 22 * * * root    /path/to/lynis -c -Q --auditor "automated" --cronjob

上面的示例 cron 作业将在每天晚上10:30运行

代码语言:javascript复制
/var/log/lynis.log

Lynis 扫描结果

扫描时,你将看到输出为 [OK] 或者 [WARNING]。在哪里 [OK] 被认为是一个很好的结果和 [WARNING] 一样糟糕。但这并不意味着 [OK] 结果配置正确且 [WARNING] 不一定是坏的。在阅读日志后,你应该采取纠正措施来解决这些问题

代码语言:javascript复制
/var/log/lynis.log

更新 Lynis

如果你想 update 或者 upgrade 当前的 lynis 版本,只需键入以下命令,它就会下载并安装最新版本的 lynis。

代码语言:javascript复制
# ./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

检查版本

0 人点赞