转载自FreeBuf.COM

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

Lynis是一款Unix系统的安全审计以及加固工具,能够进行深层次的安全扫描,其目的是检测潜在的时间并对未来的系统加固提供建议。这款软件会扫描一般系统信息,脆弱软件包以及潜在的错误配置。扫描完成后,Lynis还会为我们生成一份包含所有扫描结果的安全报告。

Lynis是Unix/Linux系统用于软件补丁管理,恶意软件扫描和漏洞检测的最值得信赖的自动化审计工具之一。此工具非常适合于安全审计人员,网络安全专家,渗透测试人员,网络和系统管理人员以及安全工程师使用。

与Lynis兼容的操作系统包括:

Lynis也可以被用于软件审计

一旦lynis开始扫描你的系统,它将执行多个类别的审计:

第一次运行Lynis建议使用-c参数,-c表示对系统进行最全面的检查。如果你想要添加审计员的名字,可以使用–auditor参数。

GitHub下载和安装Lynis。

git clone https://github.com/CISOfy/lynis
$ cd lynis-1.3.8
# ./lynis

使用示例:

# lynis -c –auditor “BALAJI”

图1.初始化

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图2.系统工具

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图3. Boot&Services和Kernel

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图4.用户和组

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图5.Shell和存储

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图6.软件,端口和软件包

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图7.网络和打印机

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图8.电子邮件,防火墙和Web服务器

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图9. SSH,SNMP和数据库

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图10. PHP,Squid代理和日志记录

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图11. Inetd,Banner和Cron

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图12.Accounting,NTP和密码学

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图13.虚拟化,安全框架和文件完整性

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图14.恶意软件扫描程序,系统工具和主目录

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图15.内核加固

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图16.加固,自定义测试和结果

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

图17.index加固

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

自定义测试

你的当前测试的系统可能并不需要对所有内容进行测试,例如你的系统并没有运行Web服务器,那么我们可以使用-tests参数,语法如下:

# lynis –tests “Test-IDs”

有超过100个我们可以做的测试。以下是Lynis  Tests-ID的部分列表。

FILE-7502 (检查系统所有的二进制文件)

BOOT-5121 (GRUB boot loader存在检查).

BOOT-5139 (LILO boot loader存在检查)

BOOT-5142 (检查SPARC Improved boot loader (SILO))

BOOT-5155 (检查YABOOT boot loader配置文件)

BOOT-5159 (OpenBSD i386 boot loader存在检查)

BOOT-5165 (检查FreeBSD boot services)

BOOT-5177 (检查Linux boot和正在运行的services)

BOOT-5180 (检查Linux boot services (Debian style))

BOOT-5184 (检查引导文件/脚本的权限)

BOOT-5202 (检查系统的正常运行时间)

KRNL-5677 (检查CPU选项和支持)

KRNL-5695 (确定Linux内核版本和版本号)

KRNL-5723 (确定Linux内核是否为单内核)

KRNL-5726 (检查Linux加载的内核模块)

KRNL-5728 (检查Linux内核配置)

KRNL-5745 (检查FreeBSD加载的内核模块)

KRNL-5770 (检查活动内核模块)

KRNL-5788 (检查新内核的可用性)

KRNL-5820 (检查核心转储配置)

以下是运行“检查系统正常运行时间”和“检查核心转储配置”测试的命令示例。

# ./lynis –tests “BOOT-5202 KRNL-5820”

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

想要获得更多Tests-ID,可以在/var/log/lynis.log中找到。这里有一个窍门。

1.首先,我们使用-c (check-all)参数运行lynis。

# ./lynis -c -Q

2.然后看看/var/log/lynis.log文件。使用cat命令并与grep结合使用。假设你想搜索与Kernel相关的Test-ID。则可以使用关键字KRNL找到它。

# cat /var/log/lynis.log | grep KRNL

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

以下是Lynis提供的完整的Test-ID关键字。

如果你觉得输入Test-ID是件非常麻烦的事,那么你可以使用-test-category参数。使用该选项,Lynis将运行包含在特定类别内的Test-ID。例如,你想运行防火墙和内核测试。你可以输入以下命令:

# ./lynis –tests-category “firewalls kernel”

详解Linux开源安全审计和渗透测试工具Lynis-LMLPHP

Lynis作为Cronjob运行

除了以上的方便之外,我们还可以将Lynis作为Cronjob定期自动运行。以下是每月运行一次的示例:

#!/bin/sh
AUDITOR=”automated”
DATE=$(date +%Y%m%d)
HOST=$(hostname)
LOG_DIR=”/var/log/lynis”
REPORT=”$LOG_DIR/report-${HOST}.${DATE}”
DATA=”$LOG_DIR/report-data-${HOST}.${DATE}.txt”
cd /usr/local/lynis
./lynis -c –auditor “${AUDITOR}” –cronjob > ${REPORT}
mv /var/log/lynis-report.dat ${DATA}
# End

将脚本保存到/etc/cron.monthly/lynis。还有千万不要忘记添加相关路径(/usr/local/lynis/var/log/lynis),否则脚本将无法正常工作。

*参考来源:gbhackers,FB小编 secist 编译,转载自FreeBuf.COM

05-28 10:03