服务器不安全配置排查整改需“先定位风险点、再分层处置、最后验证闭环”,覆盖HTTPS/TLS校验、系统账户加固、服务暴露面收敛、应用中间件审计四层,每步对应真实攻击路径并须闭环验证。

服务器不安全配置项排查与整改,核心是“先定位风险点、再分层处置、最后验证闭环”。不能靠经验猜,也不能只修表面——得从协议层、系统层、应用层逐级往下挖,每一步都对应真实攻击路径。
一、HTTPS与TLS配置校验
这是用户最先感知到的“不安全”提示来源,也是攻击者最常利用的入口之一。
- 用 SSL Labs(ssllabs.com) 扫描域名,看证书链是否完整、是否启用 TLS 1.2+、是否存在弱加密套件或过期中间证书
- 检查是否启用 HSTS:curl -I https://yourdomain.com 查响应头里有没有 Strict-Transport-Security 字段
- 确认混合内容:打开 Chrome 开发者工具 → Security 标签页 → 点 “View certificate” 和 “Overviews” 查 HTTP 资源加载项
- Nginx 或 Apache 配置中必须包含强制跳转和升级策略,例如:add_header Content-Security-Policy "upgrade-insecure-requests";
二、系统账户与认证加固
弱口令、root直登、多余高权限账户,是横向移动的第一跳板。
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
- Linux 执行:sudo awk -F: '$3 == 0 {print $1}' /etc/passwd 确认 UID 0 用户只有 root
- 查最近登录:last -n 30 | grep -E "(tty|pts)",重点关注非工作时间、非常用 IP 或 root 登录记录
- SSH 配置必须禁用密码登录(PasswordAuthentication no)、禁用 root 登录(PermitRootLogin no),并限制允许用户列表
- Windows 检查:net accounts 和 secedit /export /cfg secpol.cfg,确认密码最短长度 ≥14、最长使用期限 ≤90 天、复杂度已启用
三、服务暴露面与权限收敛
开一个不必要的端口,等于给攻击者留一扇没锁的门;配错一个文件权限,可能让整个系统沦陷。
- 运行 sudo ss -tuln 列出所有监听端口,对照业务清单逐个确认必要性;对 rpcbind、telnet、ftp 等老旧服务,直接 systemctl disable --now
- 检查防火墙策略:sudo iptables -L -n -v(或 nft list ruleset),默认策略应为 DROP,只放行明确需要的端口+源 IP
- 关键文件权限必须收紧:/etc/shadow 应为 600、/etc/sudoers 应为 440、/etc/crontab 不可写
- 查找全局可写文件:find /etc -type f -perm -o+w 2>/dev/null,特别关注 cron.d、pam.d、sysctl.conf 下的文件
四、应用与中间件配置审计
PHP、WebDAV、数据库等组件若配置不当,会绕过系统层防护直接暴露漏洞。
- PHP:访问 phpinfo() 页面确认加载的 php.ini 路径,检查 display_errors=Off、expose_php=Off、allow_url_include=Off
- WebDAV:禁用调试模式(debug: false),allowed_hosts 不设为 ["*"],TLS 必须使用可信 CA 证书而非自签名
- MySQL/PostgreSQL:检查 bind_address 是否绑定 127.0.0.1(非 0.0.0.0),远程访问需通过 SSH 隧道或白名单限制
- 检查定时任务:sudo crontab -l(root)、sudo cat /etc/crontab、sudo ls /etc/cron.*,删除可疑脚本或异常路径
整改不是改完就结束。每次调整后,要用对应工具复测:SSL Labs 再扫一次、curl -I 看响应头、ss -tuln 确认端口关闭、phpinfo() 验证参数生效。闭环验证比修改本身更重要。

















