linux服务器安全巡检需围绕资产可信、访问可控、行为可溯、风险可知四大目标,构建标准化流程,聚焦账户认证、服务端口、日志异常、文件配置四方面实操检查,每项均对应明确处置动作。

Linux服务器安全巡检不是“查一遍就完事”,而是围绕资产可信、访问可控、行为可溯、风险可知四个核心目标,构建可执行、可复现、可追踪的标准化流程。一份有效的巡检清单,既要覆盖关键风险面,又要避免流于形式——重点不在“有没有做”,而在“能不能发现真问题”。
账户与认证安全
弱口令、僵尸账号、过度权限是入侵常见入口。巡检需聚焦实际登录能力而非仅看配置文件。
- 检查 /etc/shadow 中空密码(第二字段为 !! 或 * 表示锁定,但 空字段 表示无密码——高危)
- 列出近90天未登录的账号:lastlog -b 90 | awk '$NF=="Never" {print $1}',结合业务确认是否应禁用
- 排查 sudo 权限滥用:运行 sudo -l -U ALL 2>/dev/null | grep -E "(ALL|NOPASSWD)",重点关注非必要用户拥有 ALL NOPASSWD 权限的情况
- 验证 SSH 认证方式:检查 /etc/ssh/sshd_config 中 PermitRootLogin no、PasswordAuthentication no(如启用密钥登录)、AllowUsers 白名单是否生效(重启后 reload 即可,无需 restart)
服务与端口暴露面
每个监听端口都是潜在攻击面。巡检必须区分“业务必需”和“历史残留”,并验证真实监听状态。
含Whois查询,可以检查全世界任何后缀名的域名,可以通过订购域名,主机和其他服务,并通过Worldpay, PayPal, Invoice 或你自己的安全服务器支付费用,客户可以察看他们的产品,购买更多的服务,更新产品,请求技术支持,察看在线知识库或最新新闻,可以管理客户的详细资料,并通过email向你的客户发送产品到期或即将到期的清单
- 列出所有监听 IPv4 端口:ss -tlnp | grep ':.*:'(比 netstat 更轻量可靠),过滤掉 systemd、kernel 等内建进程,只关注用户级服务(如 nginx、mysql、redis)
- 对照业务架构图,标记每个端口用途、所属服务、是否对外网开放;对非必要监听(如 Redis 绑定 0.0.0.0、MySQL 开放 3306 给公网)立即整改
- 检查服务版本是否已知漏洞:对关键服务(如 OpenSSH、Nginx、Apache)运行 ss -tlnp | grep :22 | awk '{print $5}' | xargs -r -n1 sh -c 'echo "$0"; ssh -V 2>&1 | head -1' 类似逻辑快速识别(注意避免主动探测引发告警)
日志与异常行为痕迹
日志不是“存着就行”,巡检要验证其完整性、可用性,并扫描高频可疑模式。
- 确认关键日志路径可读且未被轮转覆盖:ls -lh /var/log/{auth.log,syslog,kern.log,secure}(Ubuntu/Debian 与 CentOS 路径略有差异)
- 检查 rsyslog/rsyslogd 是否运行中:systemctl is-active rsyslog;验证日志是否写入磁盘(tail -1 /var/log/auth.log 时间戳是否实时更新)
- 快速筛查高危操作痕迹:
• 暴力破解尝试:grep "Failed password" /var/log/auth.log | tail -20
• 非常规提权:grep "sudo:.*COMMAND" /var/log/auth.log | grep -E "(\/dev\/shm|\/tmp|curl|wget|bash -i)"
• 异常时间登录:awk '$3 "23:59" {print}' /var/log/auth.log | head -10
文件系统与关键配置校验
配置漂移和恶意篡改常无声无息。巡检需关注权限、哈希、变更时间三个维度。
- 检查敏感文件权限:ls -l /etc/shadow /etc/passwd /etc/sudoers /etc/ssh/sshd_config,确保 shadow 为 0000 或 0400,sudoers 为 0440
- 对核心二进制和服务配置生成 SHA256 校验值存档(首次巡检时):sha256sum /bin/bash /usr/bin/sudo /etc/ssh/sshd_config > /root/.baseline.sha256,后续巡检用 sha256sum -c /root/.baseline.sha256 快速比对
- 定位最近修改的系统级配置:find /etc -type f -mtime -7 -not -path "/etc/ssl/*" -exec ls -lt {} \; 2>/dev/null | head -10,人工确认每项修改是否合规
一份能落地的巡检清单,本质是把防御思维转化为可敲命令、可读输出、可追责任的动作。不追求全覆盖,而要每一条都指向明确处置动作——发现即响应,才是安全巡检的价值所在。









