Linux云服务器基线检测:15项核心配置检查清单
文章分类:售后支持 /
创建时间:2025-08-06
管理Linux云服务器时,基线检测如同系统“体检报告”——既查当前运行状态,也找潜在风险点。通过这份15项核心配置检查清单,能帮你系统性排查隐患,让云服务器运行更稳更安全。
系统信息类:摸清“体质”底数
1. 操作系统版本检查
过时的系统版本可能携带已知漏洞,是攻击的“突破口”。通过命令`cat /etc/os-release`可查看当前系统版本(如Ubuntu 20.04 LTS、CentOS 7.9),建议优先选择厂商提供的长期支持(LTS)版本。若发现版本过旧,可通过`yum update`(CentOS)或`apt upgrade`(Ubuntu)升级。
自动化提示:可编写脚本定期检测版本,示例如下(保存为check_os.sh):
#!/bin/bash
OS_VERSION=$(cat /etc/os-release | grep PRETTY_NAME | cut -d'"' -f2)
if echo "$OS_VERSION" | grep -q "LTS"; then
echo "系统版本合规:$OS_VERSION"
else
echo "警告:系统版本非LTS,建议升级!当前版本:$OS_VERSION"
exit 1
fi
2. 内核版本检查
内核是系统运行的“心脏”,漏洞修复和性能优化多通过内核更新实现。执行`uname -r`查看当前内核版本(如5.4.0-150-generic),对比官网发布的最新稳定版,若差距超过2个小版本,需优先升级。
优化建议:生产环境升级内核前,建议在测试环境验证兼容性,避免因驱动不匹配导致服务中断。
账户与权限类:筑牢“访问关卡”
3. 账户密码策略检查
弱密码是最常见的安全隐患。通过`vi /etc/login.defs`查看密码策略,重点检查:
- PASS_MIN_LEN(密码最小长度)≥8
- PASS_MAX_DAYS(密码有效期)≤90
- PASS_WARN_AGE(密码过期提醒天数)≥7
若不符合,直接修改参数后执行`chage`命令强制生效。
4. 闲置账户清理
长期未登录的账户可能被攻击者利用。用`lastlog | awk 'NR>2 {print $1,$4,$5,$6}'`列出所有账户最后登录时间,对90天未登录的账户执行`usermod -L 用户名`锁定,确认无业务需求后删除。
脚本优化:可结合crontab每月执行清理,命令示例:`0 3 1 * * /usr/local/scripts/clean_inactive_users.sh`。
5. 超级用户权限管理
直接使用root账户操作风险极高,建议通过sudo机制授权。编辑`/etc/sudoers`(需用`visudo`命令避免格式错误),为运维用户添加`用户名 ALL=(ALL) NOPASSWD:ALL`(仅必要时开启无密码),并限制具体命令权限(如`/usr/bin/systemctl restart nginx`)。
网络配置类:严守“通信边界”
6. 防火墙配置检查
防火墙是网络安全的第一道防线。CentOS系统用`systemctl status firewalld`检查服务状态,`firewall-cmd --list-all`查看当前规则;Ubuntu系统可通过`ufw status`验证。确保仅开放80(HTTP)、443(HTTPS)等必要端口,禁用ICMP协议防ping扫描。
7. 开放端口检查
执行`netstat -tuln | grep -v "Active Internet connections"`筛选监听端口,重点关注非标准端口(如修改后的2222端口替代默认SSH)。对无业务关联的端口(如3306未部署MySQL时),用`firewall-cmd --remove-port=端口号/tcp --permanent`关闭。
8. SSH服务配置检查
SSH是远程管理的核心通道。编辑`/etc/ssh/sshd_config`,强制禁用`PermitRootLogin yes`(改为`no`),将`Port 22`修改为自定义端口(如2222),并启用`PasswordAuthentication no`(仅允许密钥登录)。修改后执行`systemctl restart sshd`生效。
文件与目录类:把好“数据闸门”
9. 敏感文件权限检查
`/etc/passwd`(用户信息)、`/etc/shadow`(密码哈希)等文件需严格控权。用`ls -l /etc/passwd`查看权限,标准应为`-rw-r--r--`(644);`/etc/shadow`应为`-rw-------`(600)。若权限过松,用`chmod 644 /etc/passwd`修正。
10. 临时文件目录清理
`/tmp`目录易堆积恶意文件或无用缓存。可编写清理脚本(保存为clean_tmp.sh):
#!/bin/bash
find /tmp -type f -atime +7 -delete
echo "已清理/tmp目录过期文件,时间:$(date)" >> /var/log/tmp_clean.log
并通过`crontab -e`添加每日凌晨执行:`0 3 * * * /usr/local/scripts/clean_tmp.sh`。
日志与审计类:留存“操作痕迹”
11. 系统日志配置检查
rsyslog是日志收集的核心服务。用`systemctl status rsyslog`确认运行状态,编辑`/etc/rsyslog.conf`设置日志轮转策略(如`/var/log/messages { rotate 7 daily missingok notifempty compress delaycompress }`),避免单文件过大占满磁盘。
12. 审计服务配置检查
开启auditd记录关键操作。执行`systemctl enable --now auditd`启动服务,编辑`/etc/audit/audit.rules`添加规则:
- `-w /etc/passwd -p wa -k passwd_change`(监控用户修改)
- `-w /etc/sudoers -p wa -k sudo_modify`(监控sudo权限变更)
通过`ausearch -k passwd_change`可回溯具体操作记录。
软件与服务类:精简“运行负担”
13. 不必要服务关闭
用`systemctl list-unit-files --type=service --state=running`列出所有运行服务,关闭telnet(不安全)、rpcbind(非必要)等冗余服务。执行`systemctl disable --now 服务名`彻底禁用。
14. 软件包更新检查
过时软件包是漏洞重灾区。CentOS用`yum check-update`、Ubuntu用`apt list --upgradable`查看待更新包,执行`yum upgrade -y`或`apt full-upgrade -y`完成更新。生产环境建议先在测试机验证补丁兼容性。
15. 定时任务检查
检查`/etc/crontab`和用户级crontab(`crontab -l`),重点关注:
- 是否存在未知脚本(如`* * * * * /tmp/malicious.sh`)
- 任务执行权限是否合理(避免root用户运行低权限脚本)
- 输出日志是否留存(添加`>> /var/log/cron_task.log 2>&1`)
通过这15项检查,能覆盖Linux云服务器的核心风险点。实际操作中,建议将高频检查项封装成自动化脚本,结合CI/CD管道或定时任务(如Ansible剧本、Jenkins任务)定期执行,既能提升效率,也能避免人工疏漏。7×24技术支持团队可协助定制专属检测方案,让你的云服务器始终处于“健康状态”。