Lynis是一款开源的系统安全审计功能工具,该工具由一系列的shell脚本构成系统进行全面安全检查的工具,可以发现系统、账户、进程等多个层面所存在的安全风险,并以直观的方式逐一列出,支持目前主流的Linux平台。

一、LYNIS检查项目大致如下

系统程序是否被置换或篡改,避免管理者或使用者执行恶意程序

开机程序及系统设置,并检测目前已开启的服务

系统中的帐号信息(用户、组)及帐号验证方式

是否存在有风险的三方软件

防火墙设置是否开启

Web Server、 MySQL、 PHP、 Postfix检查

1. 系统上安装的二进制文件(例如/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin目录下的)

2.启动服务(例如GRUB是否有密码保护)

3.系统内核信息(例如默认运行级别,内核加载模块,内核配置文件)

4.内存与进程信息(例如是否有僵尸进程,是否有等待中的I/O操作)

5.账户,群组与身份验证(例如sudoers文件,PAM配置等密码策略,unmask设置等)

6.Shell(/etc/shells)

7.文件系统(例如tmp目录下是否有90天前的文件,root文件系统是否有ACL策略

8.是否禁止外设(usb,fireware)

9.NFS

10.DNS域名服务(/etc/resolv.conf,BIND,PowerDNS, ypbind,nscd)

11.软件包管理(dpkg,rpm)

12.网络信息(网卡,网关,ip,处于waiting状态的连接)

13.打印机(cups)

14.邮件系统(e.g.Postfix,Exim ,Qmail smtpd)

15.防火墙(iptable)

16、web服务器(apache,nignx)安全配置

17.SSH安全配置(例如不运行root远程登录)

18.SNMP安全配置

19.数据库安全配置(MySQL,PostgreSQL,Oracle)

20.LDAP安全配置

21.PHP安全配置

22.Squid安全配置

23.日志文件管理(syslog,logrotate)

24.危险服务 (inetd.conf)

25.系统指纹(/etc/motd /etc/issue /etc/issue.net)

26.定时任务(crontab/cronjob)

27.审计模块是否开启(auditd)

28. 时间同步服务(NTP)

29.加密(例如SSL证书有效期)

30.是否应用安全框架(SELinux,AppArmor ,grsecurity)

31.是否有文件系统完整性检测工具(AFICK,AIDE, Osiris,Samhain,Tripwire

32.是否有恶意程序检测工具(chkrootkit,Rootkit Hunter,ClamAV scanner)

33.特定文件的权限是否合理(例如/root/.ssh是否为rwx------)

34.home目录下是否有敏感文件(例如shell history文件内容是否可疑)

35.是否做过内核加固(扫描sysctl内容)

二、安装及运行wget http://www.rootkit.nl/files/lynis-1.6.0.tar.gz

tar zxvf lynis-1.6.0.tar.gz

cd lynis-1.6.0/

查看帮助

sudo ./lynis --man

全部检查(最常用)

sudo ./lynis --check-all -Q

采用crontab自动检查

sudo ./lynis -c --auditor "automated" --cronjob > /var/log/lynis/report.txt

三、查看日志中的敏感信息

grep Warning /var/log/lynis.log

grep Suggestingon /var/log/lynis.log