linux服务器安全巡检是持续性运维动作,需定期检查高危账户、最小化服务暴露面、严格文件权限、验证日志完整性及排查恶意行为痕迹。

Linux服务器安全巡检不是一次性的任务,而是持续运行中的关键运维动作。重点在于及时发现配置偏差、权限异常、未授权服务和潜在入侵痕迹,而不是等出问题再补救。
用户与认证安全
检查系统中是否存在高危账户(如空密码、root远程直接登录、长期未用的账号)是第一道防线。
- 执行 sudo awk -F: '($2 == "" || $2 == "*") {print $1}' /etc/shadow 查找空密码或禁用密码的用户
- 运行 sudo grep "PermitRootLogin.*yes" /etc/ssh/sshd_config 确认 root 是否允许 SSH 登录;应设为 no 或 prohibit-password
- 用 sudo lastlog -b 90 查看 90 天内未登录的用户,评估是否需禁用或删除
- 检查 sudo 权限:运行 sudo -l -U username 审查每个有 sudo 权限的用户,避免过度授权
服务与端口暴露面
最小化暴露面能显著降低被攻击概率。只运行必需服务,并限制其监听范围。
含Whois查询,可以检查全世界任何后缀名的域名,可以通过订购域名,主机和其他服务,并通过Worldpay, PayPal, Invoice 或你自己的安全服务器支付费用,客户可以察看他们的产品,购买更多的服务,更新产品,请求技术支持,察看在线知识库或最新新闻,可以管理客户的详细资料,并通过email向你的客户发送产品到期或即将到期的清单
- 列出所有监听端口:sudo ss -tuln 或 sudo netstat -tuln,比对业务需求,关闭非必要服务(如 telnet、ftp、rpcbind)
- 确认关键服务(如 SSH、Nginx)是否绑定到 127.0.0.1 而非 0.0.0.0,除非明确需要外部访问
- 检查 systemd 服务状态:systemctl list-unit-files --state=enabled,识别并禁用非核心自启服务(如 avahi-daemon、cups)
- 使用 sudo nmap -sT -p- 127.0.0.1 本地扫描,验证端口开放情况是否与预期一致
文件权限与关键日志
错误的文件权限可能让普通用户提权,而日志缺失则会让攻击行为无法追溯。
- 检查敏感文件权限:sudo ls -l /etc/shadow /etc/passwd /etc/sudoers,确保 /etc/shadow 为 000 或 400,/etc/sudoers 为 440
- 查找世界可写目录:find / -xdev -type d -perm -0002 -ls 2>/dev/null,重点关注 /tmp、/var/tmp 及应用临时目录
- 验证日志服务是否运行:sudo systemctl is-active rsyslog(或 journald),并检查 /var/log/auth.log 和 /var/log/secure 是否有近期登录记录
- 确认日志轮转正常:ls -lt /var/log/*.log*,避免因日志爆满导致覆盖关键事件
恶意行为与入侵痕迹
主动排查可疑进程、网络连接、定时任务和隐藏文件,是发现已失陷系统的有效方式。
- 查看异常进程:ps auxf --sort=-%cpu | head -20,结合 top -c 观察 CPU/内存异常占用
- 检查非常规外连:sudo ss -tunp | grep -E ':80|:443|:22' | grep -v '127.0.0.1',关注非业务 IP 的持续连接
- 审查定时任务:sudo crontab -l(root)、sudo ls /etc/cron.*、for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l 2>/dev/null; done | grep -A1 -B1 '[^[:space:]]\+\.[sh|py|pl]$'
- 搜索隐藏文件与异常 shell:find / -name ".*" -type f -size -10M 2>/dev/null | xargs -r file 2>/dev/null | grep "shell script\|ELF"
安全巡检不复杂但容易忽略细节。把常用命令整理成脚本定期执行,再配合人工复核关键项,就能建立稳定可靠的基础防护节奏。









