安全基线检查脚本,一键对Linux服务器做安全基线自查
本文围绕410安全基线检查脚本展开,会告诉你它到底能查什么、怎么在一台Linux服务器上一键运行,以及结果报告如何看懂。
适合没有写过安全加固脚本、需要快速完成安全自查的运维新手。
读完你就能自己完成一次安全基线检查,并知道该优先处理哪些风险。
这个脚本主要检查哪些安全项
安全基线就是指一套默认的安全配置标准。
410脚本会把服务器当前配置和基线要求做对比,然后输出差异。
常见检查项包括:账号密码策略(比如是否允许root直接登录)、SSH端口和登录限制、关键文件权限、防火墙状态、系统补丁情况、不必要的服务、日志配置等。
注意:不同版本脚本覆盖范围可能不一样,运行前先看脚本头部注释或README,确认检查项是否符合你的需要。
运行前的准备工作
使用脚本前,确认满足以下条件:
- 服务器系统:主流Linux发行版,如CentOS 7/8、Ubuntu 20.04/22.04、Debian 10/11等。
- 权限:需要root用户或能够执行
sudo -i提权。 - 文件:拿到410安全基线检查脚本本体,可以放在
/root或/tmp目录下。 - 备份:如果是首次运行,建议先对关键配置文件做备份,避免误判后修改损坏。
如果脚本是压缩包,先解压:
tar -zxvf 410.tar.gz
然后进入脚本目录:
cd 410
一键执行安全基线检查
给脚本赋予执行权限并运行:
chmod +x check.sh
./check.sh
有些版本使用bash直接执行也可以:
bash check.sh
运行过程中会逐个模块检查,控制台会输出类似[OK]、[WARN]、[FAIL]的标记。FAIL表示当前配置不符合基线,需要重点关注;WARN表示建议改进,但不一定紧急。
检查结束后,脚本通常会在当前目录或/var/log/security-check下生成一份报告文件,例如check_20250214.txt。
报告里包含每项检查的当前值、基线要求和建议处理方式。
常见报错与避坑说明
运行中可能遇到以下情况:
- Permission denied:没加执行权限,或当前用户不是root。用
sudo bash check.sh执行。 - 未找到命令:脚本依赖
openssl、ssh、iptables等命令。可以先用which确认,没安装的用包管理器补上,比如CentOS执行yum install -y openssl,Ubuntu执行apt install -y openssl。 - 脚本编码问题:在Windows下编辑过的脚本会出现
\r换行报错,可以执行sed -i 's/\r$//' check.sh清理。
另外还有几个坑提醒:
不要对未知来源脚本直接提权运行。
先head -100 check.sh看下脚本内容,确认没有恶意操作。不要盲目照报告改配置。
比如基线要求关闭root登录,但如果你的服务器只能通过root连接,改完容易把自己锁在门外。
建议逐项评估后再动手。
如何确认检查结果真实有效
验证不是只等脚本跑完输出一个"安全"就结束了。
可以这样复核:
- 抽查几项核心配置与报告是否一致,比如
grep -E "^PermitRootLogin" /etc/ssh/sshd_config。 - 检查报告生成时间是否在本次运行的时刻,避免误用了旧文件。
- 重新运行一次脚本,观察输出是否稳定,排除偶发误报。
如果脚本支持--json或--html输出,可以导出结构化报告,便于和团队或等保测评材料对接。
最后,安全基线自查不是一次性的,建议把410安全基线检查脚本纳入每月或每季度的巡检清单。
如果过程中遇到脚本本身报错,可以优先看下官方仓库的issue区,或者按报错信息的关键词搜索,很多问题都能找到现成答案。