linux服务器安全巡检是持续系统化过程,聚焦弱口令、未授权服务、异常进程和高危配置;检查登录记录、uid为0用户、ssh限制、监听端口、防火墙策略、敏感文件权限、sudo授权、定时任务、异常进程及隐藏启动项。

Linux服务器安全巡检不是一次性的任务,而是持续、系统化的过程。关键在于聚焦高风险项,用最小成本发现最可能被利用的漏洞——比如弱口令、未授权服务、异常进程和权限过大的配置文件。
检查用户与认证安全
重点看谁在登录、怎么登录、权限是否合理:
- 运行 last -n 20 查最近20次登录,关注非工作时间、非常用IP或root直接登录记录
- 执行 sudo awk -F: '$3 == 0 {print $1}' /etc/passwd 找出UID为0的用户,确认是否只有root且无多余账户
- 检查SSH配置:sudo grep -E "^(PermitRootLogin|PasswordAuthentication|AllowUsers|DenyUsers)" /etc/ssh/sshd_config,确保 PermitRootLogin no、PasswordAuthentication no(若已配密钥),并限制允许登录的用户列表
- 用 sudo pwck 和 sudo grpck 校验用户/组数据库完整性
识别监听服务与网络暴露面
少开一个端口,就少一个攻击入口:
含Whois查询,可以检查全世界任何后缀名的域名,可以通过订购域名,主机和其他服务,并通过Worldpay, PayPal, Invoice 或你自己的安全服务器支付费用,客户可以察看他们的产品,购买更多的服务,更新产品,请求技术支持,察看在线知识库或最新新闻,可以管理客户的详细资料,并通过email向你的客户发送产品到期或即将到期的清单
- 执行 sudo ss -tuln(或 netstat -tuln)列出所有监听端口,对照业务需求逐个确认必要性
- 对非必要服务(如telnet、ftp、rpcbind、xinetd),查其所属包:systemctl list-unit-files | grep enabled,再用 rpm -qf $(which rpcbind)(CentOS/RHEL)或 dpkg -S $(which rpcbind)(Debian/Ubuntu)定位来源,然后禁用并停止:sudo systemctl disable --now rpcbind
- 检查防火墙状态:sudo iptables -L -n -v 或 sudo nft list ruleset,确认默认策略为DROP,且仅放行明确需要的端口和源IP
审计关键文件与权限配置
配置错误比代码漏洞更常见,尤其在/etc目录下:
- 检查敏感文件权限:sudo ls -l /etc/shadow /etc/passwd /etc/group /etc/sudoers,确保 /etc/shadow 权限为 000 或 600,/etc/sudoers 为 440
- 查找全局可写文件:find /etc -type f -perm -o+w 2>/dev/null,特别关注 cron.d、pam.d、sysctl.conf 等目录下的文件
- 验证 sudo 权限范围:sudo -l -U username(对每个有sudo权限的用户执行),避免出现 NOPASSWD: ALL 这类过度授权
- 检查定时任务:sudo crontab -l(root)、sudo ls /etc/cron.*、sudo cat /etc/crontab,留意异常路径或可疑命令
排查异常进程与持久化痕迹
攻击者常通过隐蔽进程或启动项维持访问:
- 查看非标准路径的运行进程:ps auxf | grep -E "(\/tmp|\/dev|\/var\/run|\/opt)",结合 ls -la /proc/PID/exe 验证二进制真实路径
- 检查开机启动项:sudo systemctl list-unit-files --state=enabled,过滤掉非系统必需服务;同时检查 ls -la /etc/init.d/ /etc/rc.local
- 扫描隐藏进程和模块:sudo chkrootkit 或 sudo rkhunter --check(需提前更新数据库),不依赖结果全信,但提示项必须人工复核
- 检查用户家目录下的隐藏脚本:grep -r "bash\|sh" /home/*/.* 2>/dev/null | grep -E "(ssh|curl|wget|base64)",警惕 .bashrc、.profile 中的异常远程调用
安全巡检的价值不在“做完”,而在“做对”——每次检查都应带着攻击者视角:这个配置能不能被绕过?这个服务有没有补丁?这个日志有没有被清空?坚持下来,服务器就不只是能用,而是真正可控、可信任。









