搬瓦工 VPS Lynis 系统安全审计工具教程
Lynis 是一款专业的 Linux 系统安全审计工具,能够自动扫描系统配置、软件版本、用户权限、网络设置等数百个安全项目,并给出综合安全评分和详细的加固建议。它由 CISOfy 开发维护,广泛用于安全合规检查和系统加固工作中。本文将介绍如何在搬瓦工 VPS 上使用 Lynis 进行全面的安全审计。
一、安装 Lynis
1.1 通过包管理器安装
# Ubuntu / Debian
apt update
apt install lynis -y
# CentOS / RHEL
yum install epel-release -y
yum install lynis -y
1.2 从 Git 安装最新版
cd /opt
git clone https://github.com/CISOfy/lynis.git
cd lynis
./lynis --version
二、运行安全审计
2.1 完整系统审计
lynis audit system
扫描过程会逐项检查系统各方面的安全配置,通常需要 2-5 分钟。
2.2 快速审计(跳过等待)
lynis audit system --quick
2.3 仅检查特定类别
# 仅检查防火墙相关
lynis audit system --tests-from-group firewalls
# 仅检查 SSH 相关
lynis audit system --tests-from-group ssh
# 仅检查文件权限
lynis audit system --tests-from-group file_permissions
三、审计报告解读
3.1 查看审计日志
# 完整审计日志
cat /var/log/lynis.log
# 审计报告数据(机器可读格式)
cat /var/log/lynis-report.dat
# 提取安全评分
grep "hardening_index" /var/log/lynis-report.dat
3.2 评分说明
- 80-100 分:安全配置优秀,系统加固到位。
- 60-79 分:基本安全,但有改进空间。
- 40-59 分:安全配置一般,需要重点加固。
- 低于 40 分:安全隐患较多,建议立即进行加固。
3.3 查看建议和警告
# 查看所有建议
lynis show suggestions
# 查看所有警告
lynis show warnings
# 查看特定建议的详细信息
lynis show details SUGGESTION-ID
四、常见加固项目
4.1 SSH 安全加固
# 根据 Lynis 建议修改 /etc/ssh/sshd_config
PermitRootLogin no
MaxAuthTries 3
PasswordAuthentication no
X11Forwarding no
AllowTcpForwarding no
ClientAliveCountMax 2
ClientAliveInterval 300
LoginGraceTime 30
MaxSessions 3
systemctl restart sshd
4.2 文件权限加固
# 修复常见的权限问题
chmod 600 /etc/shadow
chmod 644 /etc/passwd
chmod 644 /etc/group
chmod 700 /root
chmod 600 /boot/grub/grub.cfg
4.3 内核安全参数
cat >> /etc/sysctl.d/99-security.conf <<'EOF'
# 禁用 IP 转发(非路由器)
net.ipv4.ip_forward = 0
# 启用 SYN Cookie 防护
net.ipv4.tcp_syncookies = 1
# 禁用 ICMP 重定向
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# 启用源地址验证
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# 禁止源路由
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# 记录异常数据包
net.ipv4.conf.all.log_martians = 1
# 禁用核心转储
fs.suid_dumpable = 0
# 地址空间随机化
kernel.randomize_va_space = 2
EOF
sysctl --system
五、自定义 Lynis 配置
# 创建自定义配置文件
cat > /etc/lynis/custom.prf <<'EOF'
# 跳过特定测试
skip-test=FIRE-4513
skip-test=HRDN-7222
# 设置审计报告语言
language=en
# 自定义 SSH 端口
config:ssh_daemon_port:2222
# 调整日志详细程度
verbose=false
EOF
六、定期自动化扫描
# 创建定期扫描脚本
cat > /opt/lynis-scan.sh <<'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
REPORT_DIR="/var/log/lynis-reports"
mkdir -p $REPORT_DIR
# 运行审计
lynis audit system --quick --no-colors > "$REPORT_DIR/lynis-$DATE.txt" 2>&1
# 提取评分
SCORE=$(grep "Hardening index" "$REPORT_DIR/lynis-$DATE.txt" | awk '{print $NF}')
echo "Security Score: $SCORE" >> "$REPORT_DIR/lynis-$DATE.txt"
# 保留最近 30 天的报告
find $REPORT_DIR -name "lynis-*.txt" -mtime +30 -delete
EOF
chmod +x /opt/lynis-scan.sh
# 添加 Crontab 每周执行
echo "0 3 * * 1 root /opt/lynis-scan.sh" >> /etc/crontab
七、与其他工具配合
Lynis 主要负责发现安全问题和提供建议,实际的防御和监控应配合其他工具:
总结
Lynis 是搬瓦工 VPS 安全加固工作的起点,通过全面的安全审计发现系统中的薄弱环节,按照建议逐项修复即可显著提升服务器安全性。建议至少每月运行一次完整审计,确保系统始终处于良好的安全状态。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 进入官网购买。