服务器安全吗?Lynis一键安全审计帮你查漏

服务器安全吗?Lynis一键安全审计帮你查漏

你觉得自己服务器安全吗?

改了SSH端口,关了root登录,装了fail2ban。应该还可以吧?

但你是不是还用过一键脚本?是不是有些目录权限是777?是不是有些软件版本好几年没更新?

这些细节,一个普通人很难全部记住。但Lynis可以。它是一个开源的Linux安全审计工具,跑一遍,自动检查系统配置、软件漏洞、权限设置、防火墙规则、日志策略……然后告诉你哪里有问题,应该怎么修。

今天带你走一遍。


先看一个场景

有个朋友的服务器,跑了三年没出过事。他一直觉得自己安全措施到位。

有一次我帮他跑了一下Lynis,报告出来,吓了一跳:

  • 防火墙规则存在漏洞
  • 某软件版本有已知CVE漏洞
  • /tmp目录权限配置不当
  • 部分日志没有被轮转

这些都是他平时不会注意到的问题。他说:“要不是跑这一遍,我都不知道还有这么多漏洞。”

那些你“不知道”的漏洞,才是最大的风险。


Lynis是什么?

Lynis是一个开源的Unix/Linux安全审计工具。它不做主动攻击,只做“体检”。它会扫描你的系统,检查几百个安全配置项。

检查范围包括:

  • 系统内核参数
  • 软件包版本和已知漏洞
  • 用户账户和密码策略
  • SSH配置
  • 防火墙规则(iptables、ufw、firewalld)
  • 文件系统权限
  • 日志轮转和审计
  • 服务配置(Nginx、Apache、MySQL等)
  • 恶意软件扫描(基础版)

跑完之后,它会生成一份报告。每一项都会标注状态:OK(通过)、WARNING(需要修复)、SUGGESTION(建议优化)。


安装

Ubuntu/Debian:

bash

sudo apt update
sudo apt install lynis -y

CentOS/RHEL:

bash

sudo yum install epel-release -y
sudo yum install lynis -y

如果你用的是其他发行版,或者想用最新版,可以从GitHub直接拉:

bash

git clone https://github.com/CISOfy/lynis.git
cd lynis

验证安装:

bash

lynis --version

运行安全审计

执行系统全面审计:

bash

sudo lynis audit system

第一次跑要一两分钟。它会逐项检查,屏幕上会实时显示当前测试项。

审计结束后,会输出一个总结。同时日志保存在/var/log/lynis.log,报告在/var/log/lynis-report.dat

你也可以生成一份人类可读的报告:

bash

sudo lynis show details

解读报告

Lynis的输出主要分几类:

OK(绿色)

配置正确,通过检查。这些不用管。

WARNING(黄色)

存在安全隐患,建议修复。这是重点。

SUGGESTION(灰色)

可选优化项,不是必须,但做了更好。

其他信息

软件版本、内核参数等。可以用来参考,不一定需要改。

一个典型的报告片段:

text

[WARNING] Could not find a tool to check for security updates.
建议:安装unattended-upgrades并配置自动安全更新。

[WARNING] The maximum amount of processes for a user is not limited.
建议:在/etc/security/limits.conf中设置合理的进程数限制。

Lynis不会替你改配置,但它会把问题点出来,告诉你应该怎么修。


常见发现与修复示例

1. 防火墙未启用

Lynis提示No firewall is active

修复

bash

# Ubuntu启用ufw
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

2. SSH配置不够安全

常见问题

  • SSH端口还是22
  • 允许root登录
  • 允许密码登录
  • PermitEmptyPasswords开启

修复:编辑/etc/ssh/sshd_config,改这几项:

ini

Port 2222
PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no

改完systemctl restart sshd

3. 软件包有已知漏洞

Lynis提示Package xxx has a known vulnerability

修复

bash

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

或者装unattended-upgrades自动打补丁。

4. 内核参数需要优化

常见提示:关掉IPv6、禁止IP转发、设置网络安全参数等。

修复:编辑/etc/sysctl.conf,添加:

ini

net.ipv4.ip_forward=0
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=1

然后sysctl -p生效。

5. 文件权限问题

常见案例/tmp目录没有粘滞位、/home目录权限过于宽松。

修复

bash

# /tmp加粘滞位(防止用户删别人文件)
sudo chmod 1777 /tmp

# 个人目录收紧权限
sudo chmod 750 /home/*

定期审计自动化

安全审计不是做一次就完事的。系统会变,软件会更新,配置可能会被改。每个月跑一次Lynis。

写一个脚本/root/security-audit.sh

bash

#!/bin/bash
/usr/bin/lynis audit system > /var/log/lynis.log
# 可选:把报告发到邮箱
mail -s "Lynis Security Report for $(date)" your@email.com < /var/log/lynis.log

加入crontab,每月1号凌晨跑:

bash

0 2 1 * * /root/security-audit.sh

以后每个月自动检查一次,有问题早发现。


Lynis vs 其他安全工具

工具用途适用场景
Lynis配置审计、漏洞扫描系统整体安全评估
ClamAV病毒扫描检测已知恶意软件
rkhunterRootkit检测查找隐藏后门
fail2ban动态防御防暴力破解
OSSECHIDS(主机入侵检测)实时监控文件完整性

Lynis是体检中心,告诉你身体哪里有问题。漏洞扫描、入侵检测、病毒查杀是专科医生,处理具体问题。

先用Lynis做全面扫描,再针对问题做专项处理。


一个真实案例

一个做金融系统的公司,每年都要过等保(网络安全等级保护)。他们之前每次等保都要请安全公司上门,花好几万。

后来运维自己学会了用Lynis,每个月跑一遍,逐条修复Lynis给出的WARNING。等保预检的时候,通过率从60%提高到了90%。

他们运维说:“Lynis不是帮我发现了一个漏洞,是帮我发现了一百个。”


最后一句

安全这件事,最危险的不是有人打你,是你不知道自己有什么漏洞。

Lynis做不到100%安全,但它能让你对自己的服务器有一个客观的认识。

今天跑一遍。把WARNING修一修。下个月再跑一遍。你的服务器会比现在安全得多。

知识库

还在用vim改服务器代码?VS Code Remote SSH 拯救你

2026-5-8 16:19:04

实操指南知识库

混合云架构:平衡灵活性与控制的完美方案

2024-11-19 13:52:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧