Linux系统审计工具Lynis的使用总结

您所在的位置:网站首页 审计报告怎么扫描 Linux系统审计工具Lynis的使用总结

Linux系统审计工具Lynis的使用总结

2023-12-26 20:29| 来源: 网络整理| 查看: 265

一、lynis简介

Lynis是Linux系统中的审计工具,能够对Linux系统的安全进行检测,在对Linux系统进行扫描检测后,会生成报告。Lynis 是一套适用于各种 UNIX based system 的系统安全检测工具,以 Shell Script建构而成。它能找出系统安全需要补强的地方,同时提供许多提升系统安全的作法与建议,对于系统管理者来说是一套既实用,又能从中学习(或复习)到许多系统安全观念的好工具。不足之处:该款工具比较全面的涵盖了系统安全的审计内容,但每个审计项都不深入,需要具体的扩展,例如PHP、Apache,MySQL的安全配置,就需要细化。

1.1 下载安装包安装lynis

在lynis官网上下载最新版本的安装包:lynis-3.0.0.tar.gz,如下 https://cisofy.com/downloads/lynis/在这里插入图片描述 下载到本机后,上传到服务主机上, root权限使用以下命令,进行系统扫描:

# cp lynis-3.0.0.tar.gz /opt # cd /opt # tar zxvf lynis-3.0.0.tar.gz # cd lynis # ./lynis audit system 1.2 rpm包安装到CentOs/RHEL/Fedora

在lynis官网上下载最新版本的安装包:lynis-3.0.0.tar.gz,如下: https://packages.cisofy.com/#package 在这里插入图片描述 下面选择Lynis Community免费版本进行配置

更新依赖

#yum update ca-certificates curl nss openssl

创建yum源

#vim /etc/yum.repos.d/cisofy-lynis.repo [lynis] name=CISOfy Software - Lynis package baseurl=https://packages.cisofy.com/customers/LICENSE-KEY/lynis/rpm/ enabled=1 gpgkey=https://packages.cisofy.com/keys/cisofy-software-rpms-public.key gpgcheck=1

安装lynis及lynis-plugins

#yum makecache fast #yum install lynis lynis-plugins

启动lynis

#lynis audit system 二、如何借助lynis扫描Linux的安全漏洞 2.1 启动lynis

切换到root权限下,进入到lynis文件下下,使用./lynis audit system进行系统扫描,如下图所示:

# ./lynis audit system

在这里插入图片描述在这里插入图片描述

2.2 执行扫描

一旦lynis开始扫描你的系统,它就会执行以下类别的审查工作:

category类别作用System Tools系统工具扫描可用工具;检测系统二进制代码Boot and Services引导和服务引导装入程序和启动服务Kernel内核运行级别、已装入模块、内核配置和核心转储Memory and Processes内存和进程僵尸进程和输入输出等待进程Users,Groups and Authentication用户、用户组和验证用户组编号、sudoers文件、可插拔验证模块(PAM)配置、密码老化和默认掩码ShellsFile systems文件系统挂载点、临时文件和根文件系统Storage存储USB存储(usb-storage)和火线开放式主机控制器接口(firewire ohci)NFS Check running NFS daemonName services名称服务DNS搜索Ports and packages端口和软件包容易受到攻击/可以升级的程序包和安全存储库Networking网络名称服务器、混杂接口和连接Printers and Spools打印机和假脱机通用Unix打印系统(CUPS)配置Software:email and messaging软件:电子邮件和消息传送Exim status、postfix status、dovecot status、qmail status、sendmail statusSoftware:firewalls防火墙Iptables、host based firewallSoftware:webserver网站服务器Apache、nginxSSH supportSSH支持Checking running SSH daemonSNMP SupportChecking running SNMP daemonDatabasesMySQL根密码LDAP ServicesChecking OpenLDAPHPSquid SupportLogging and files日志和文件syslog守护程序和日志目录Insecure services不安全服务Checking inetd statusBanners and identificationBanner信息和身份认证Scheduled tasks调度任务Checking crontab/cronjob /vrontabsAccounting账号Accounting information/sysstat accounting data/auditdTime and Synchronization时间和同步ntp守护程序Cryptography密码学Checking for expired SSL certificatesVirtualization虚拟化ContainersSecurity frameworks安全框架AppArmor、SELinux、grsecurity、MAC frameworkSoftware:file integrity文件完整性Software:system toolingChecking automation tooling/Checing for IDS/IPS toolingSoftware:Malware恶意软件扫描工具File permissionsHome directories主目录Checking shell history filesKernel hardeningHardeningInstalled compiler Installed malware scannerCustom testsRunning custom tests

工作界面如下所示: 在这里插入图片描述

2.2.1 扫描结果

在这里插入图片描述 lynis系统扫描完成,当前界面会给出扫描结果,如上图 ** -[ Lynis 3.0.0 Results ]- ** :2个告警,49个建议; 同时可以通过链接 https://cisofy.com/lynis/controls/AUTH-9216/ 去查看针对此条告警的具体表现及解决方案等信息。 结果分析

潜在安全漏洞的警告信息:没有查到两个功能正确的域名服务器 分析内容来源: https://cisofy.com/controls/NETW-2705/ 问题描述: 连通性是系统进行通信的中心环节。互联系统的通信大多数发生在第3层 (网络层)。DNS 解析对正常运行是非常重要的。DNS 解析,虽然是最基本的一部分,但是往往被忽视。为了减少失效或者糟糕性能的机会,建议至少需要两个可工作的名称服务器。工具Lynis 测试名称服务器的可用性以及是否对查询做出实际的相应。若要确定使用哪些 DNS 服务器,请查阅 /etc/resolv.conf 文件

解决方案: 依据个人系统的不同,需要去修改/etc/resolv.conf文件或者其他方法,Debian系统使用/etc/network/interfaces去定义名称服务器(dns-nameservers 1.2.3.4 5.6.7.8 9.10.11.12)或者是/etc/resolvconf/resolv.conf.d/tail

用于加固Linux系统的建议措施

序号建议措施描述及解决方案1BOOT-5122-Set boot loader password序在启动周期开始时启动,并且是用户选择要启动的操作系统。通常情况下,一个带有计时器的通道被选中作为默认选项,当计时器到期时,选择此默认通道,触发相应的操作系统开始安装。引导装载程序包含主流操作系统和几个备用选项。在这种配置中,带有以前Linux内核版本的相同操作系统是个常见的选项,另一个选项是一个救援图像,当系统不再启动时用来执行紧急维修。紧急情况下,尽管一个救援选项或者备用版本是很好的方法,但是它们也可能成为弱点,具有物理访问系统的人可以使用这个选项来重置跟密码,尤其对于笔记本电脑来说,这是个风险。当主机系统处在一个共享数据中心时,这种情况下可以给引导装载程序上设置密码。给引导装载程序设置密码 默认情况下,在系统启动阶段,任何一个具有物理访问权限的人都可以加载可替代的软件或者另一个操作系统,在grub中配置一个密码以预防这种可能;2KRNL-5788-Linux kernel update available 确定可用的内核更新优先级此控件是基于Debian/Ubuntu系统的,用来测试一个新的Linux内核的可用性。当更新可用时,这个更新常常是一个与安全相关的或者可以修复严重缺陷的更新。当一个基于Debian/Ubuntu系统的内核更新时,它们通常是与安全相关,确定是否可以使用相关的更新以及安排重启系统。3AUTH-9228-Linux password file consistencyLinux 密码文件的一致性 对密码文件,比如/etc/passwd 和/etc/shadow应该进行定期检查;通过运行pwck和grpck来检查密码和组文件,通过运行vigr和 vipw去解决发现的问题。4AUTH-9262-PAM password strengthening toolsPAM密码加强工具 PAM框架的几个模块可以帮助限制除经过授权的人员之外的其他人员的访问设施,密码应该尽可能的被保护和加强。在基于Unix和Linux系统中,通常采用PAM模块和相关的配置文件进行。例如使用passwdqc(密码质量控制)和cracklib工具(密码破解图书馆);安装pam_cracklib 或 pam_passwdqc 的 PAM 模块,以进行密码强度测试5AUTH-9286-Password aging密码老化在/etc/login.defs中配置密码最短使用期限和最长使用期限6AUTH-9328-Default umask默认掩码在/etc/login.def和/etc/init.d/rc中的默认掩码应该像027一样严格7FILE-6310-Separation of partitions分离的分区一些像/tmp和/home分区很容易被系统的用户装满,当这些分区没有从根文件系统分离出来时,很容易增加填充这个文件系统的风险以及引起其他系统组件故障;为了减少完整/tmp文件系统的影响,将/tmp放到一个分离的分区中;为了减少完整/var文件系统的影响,将/var放到一个分离的分区中8STRG-1840-USB storage drivers USB存储驱动器为了防止未经授权的存储或数据被盗,当驱动器不使用时将其禁止,比如USB存储驱动器9PKGS-7370-Install debsums utility 安装debsums实用程序安装debsums实用程序以验证带有良好数据库的安装包10PKGS-7398-Package audit tool 包审计工具大多数操作系统都提供一个检测安全安装包的工具,用来修复易于被攻击的已安装的软件版本,如果可以,安装一个。安装一个包审计工具以确定易于被攻击的包11NETW-2705-Properly functioning name servers 正确功能的名称服务器检查resolv.conf文件并填写一个备份名称服务器12NETW-3032-ARP monitoring ARP监控考虑使用一个工具用来监控ARP流量13PRNT-2307-CUPS configuration file permissions CUPS配置文件权限进入CUPS配置的权限应该更严格些:调整/etc/cups/cupsd.conf文件的权限14FIRE-4590 - Active firewall 激活防火墙配置防火墙/数据包筛选器以筛选器传入和传出流量15SSH-7408 - SSH configuration SSH配置考虑强化SSH配置:AllowTcpForwarding (YES --> NO);ClientAliveCountMax (3 --> 2);Compression (DELAYED --> NO);LogLevel (INFO --> VERBOSE);MaxAuthTries (6 --> 1);MaxSessions (10 --> 2);PermitRootLogin (WITHOUT-PASSWORD --> NO);Port (22 --> );TCPKeepAlive (YES --> NO);UseDNS (YES --> NO);UsePrivilegeSeparation (YES --> SANDBOX);X11Forwarding (YES --> NO)16LOGG-2190-Deleted files 已删除文件检查那些仍在使用的已删除文件并查找原因17BANN-7126-Banner /etc/issue 添加banner给/etc/issue文件和/etc/issue.net文增加一个声明以警告非授权的用户,咨询公司内的法律联络人,或使用一个预定义的版本。18ACCT-9622 - Linux process accounting Linux进程统计Enable process accounting

2.2.1 自动保存审查报告 一旦扫描完毕,系统的审查报告就会自动生成,并保存在/var/log/lynis.log中。如上图所示,具体的审查流程可以查看var/log/lynis-report.dat 审查报告含有该工具检测到的潜在安全漏洞方面的警告信息。比如说: #grep Warning /var/log/lynis.log 用来检查报告内容

审查报告还含有许多建议措施,有助于加固你的Linux系统。比如说: #grep Suggestion /var/log/lynis.log 用来检查建议内容

扫描你系统的安全漏洞,作为一项日常计划任务 2.2.2 设置日常计划任务 想最充分地利用lynis,建议经常来运行它,比如说将它安排成一项日常计划任务。在用“–cronjob”选项来运行时,lynis在自动的非交互式扫描模式下运行。 下面是日常计划任务脚本,在自动模式下运行lynis,以便审查你的系统,并且将每日扫描报告进行归档。

#sudo vim /etc/cron.daily/scan.sh

#chmod 755 /etc/cron.daily/scan.sh

三、使用lynis检查系统是否足够安全

Lynis是一个为系统管理员提供的 Linux和Unix的审计工具 。 Lynis扫描系统的配置,并创建概述系统信息与安全问题所使用的专业审计。当用户启动该软件后,Lynis会会逐次扫描系统的内核、用户目录、软件信息等,并最后生成一个全面的报告。需要说明的是,该工具只能生成一个扫描检测后的报告,对用户起到提醒作用,本身并不能提高系统的安全性。但是该工具却可以成为其他安全软件、系统测评软件的模块。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3