网站部署上线前的安全防护,建议按照「网络边界→服务器系统→网站应用→数据核心→运维审计」五层架构逐层加固,从外到内形成纵深防御。以下是可直接落地的防护项,同时兼顾个人开发者的操作成本,多数操作在宝塔面板中即可可视化完成。
一、网络边界层:第一道入口防线(上线前必做)
这一层在流量到达服务器前就拦截绝大多数攻击,成本最低、防护收益最高。
- 云安全组最小权限配置
- 仅放行业务必需端口:80(HTTP)、443(HTTPS)、自定义SSH端口、面板管理端口;
- 数据库(3306)、Redis(6379)、FTP等高危端口绝对禁止对公网开放,仅允许本地或内网IP访问;
- SSH、宝塔后台等管理入口,建议绑定你的固定公网IP白名单,仅允许指定IP登录。
- 服务器本地防火墙双重防护
- 开启系统防火墙(firewalld/ufw),配合云安全组形成双层拦截;宝塔面板自带「防火墙」功能,可可视化管理端口与IP黑白名单。
- 定期巡检开放端口,及时关闭闲置服务的端口,缩小攻击面。
- Web应用防火墙(WAF)
- 优先开启云厂商基础版WAF(多数免费),或使用宝塔自带的Nginx免费WAF;
- 核心作用:拦截SQL注入、XSS跨站脚本、恶意文件上传、CC攻击、爬虫扫描等绝大多数Web层攻击。
- 基础DDoS防护
- 云服务器默认自带基础DDoS防护,确认已开启,可抵御小规模流量攻击。
二、服务器系统层:加固主机本体,防止被入侵
服务器一旦被入侵,所有网站数据都将失控,这一层是主机安全的基础。
- 账号与登录安全(核心必做)
- 禁用root账号远程SSH登录,新建普通管理员账号并配置sudo权限;
- SSH强制使用密钥登录,关闭密码登录,彻底杜绝暴力破解;
- 修改SSH默认22端口、宝塔默认8888端口为自定义端口,降低被扫描命中的概率;
- 宝塔后台设置强密码,开启面板登录验证与IP白名单。
- 服务与权限最小化
- 数据库、Redis、缓存等内部服务,仅监听本地
127.0.0.1,绝不绑定0.0.0.0对公网开放;Redis必须设置密码,禁止无密码运行。 - 禁用Telnet、FTP等明文传输服务,改用SFTP传输文件。
- 网站服务(Nginx、PHP-FPM、Node等)使用低权限用户(如www-data/www)运行,绝对禁止用root账号运行网站进程。
- 系统与环境漏洞修复
- 定期更新系统内核与安全补丁(生产环境更新前先在测试环境验证兼容性);
- Nginx、MySQL、PHP、Node.js等运行环境,保持稳定安全版本,及时修复高危漏洞。
- 防暴力破解拦截
- 安装
fail2ban或开启宝塔防暴力破解功能,自动封禁多次SSH、后台登录失败的IP。
三、网站应用层:堵住业务逻辑漏洞
多数数据泄露并非服务器被攻破,而是网站代码存在业务漏洞,这一层直接防护业务数据。
- 全站HTTPS加密(必做)
- 部署SSL证书,开启全站HTTPS,强制HTTP跳转HTTPS,保障用户与服务器之间的数据传输全程加密,防止中间人窃取、篡改数据。
- 开启HSTS(HTTP严格传输安全),避免SSL降级攻击。
- 宝塔面板可一键申请免费Let's Encrypt证书并自动续期。
- 输入输出安全校验
- 所有用户输入必须做合法性校验,数据库操作统一使用参数化查询/预编译语句,从根源杜绝SQL注入;
- 对前端输出内容做转义处理,防范XSS跨站脚本攻击;
- 关键提交操作添加CSRF令牌校验,防止跨站请求伪造。
- 文件上传高风险点加固
- 严格白名单限制允许上传的文件类型,仅放行业务必需格式,禁止上传.php、.jsp等可执行文件;
- 上传后的文件随机重命名,隐藏真实存储路径;
- 将上传目录移出Web可访问目录,或给上传目录设置「禁止执行脚本」权限。
- 管理后台加固
- 修改默认后台路径,避免使用
/admin、/manage等通用路径; - 禁用admin、test等通用管理员用户名,设置强密码,高价值站点建议开启后台二次验证(2FA)。
- 敏感信息隐藏
- 生产环境关闭详细错误回显,禁止向用户暴露数据库结构、文件路径、系统版本等敏感信息;
- 禁止直接访问
.env、.git、备份文件、phpinfo探针等敏感文件与目录,避免源码、配置泄露。
四、数据核心层:守住数据安全的最后底线
即使外层被突破,也要保证核心数据不泄露、不丢失。
- 数据库权限最小化
- 为每个网站创建独立的数据库账号,仅授予对应数据库的读写权限,绝不使用root账号连接业务数据库;
- 定期更换数据库密码,使用高强度密码。
- 敏感数据加密存储
- 用户密码必须使用
bcrypt/Argon2等不可逆哈希算法加盐存储,绝对禁止明文或MD5弱加密存储; - 手机号、身份证号、银行卡号等核心敏感信息,采用对称加密存储,避免数据库拖库后数据裸奔;
- 日志、测试环境中的敏感数据必须脱敏处理。
- 自动备份策略(最后一道防线)
- 配置「日增量+周全量」的自动备份,覆盖数据库、网站源码、配置文件三类核心数据;
- 执行本地+异地双备份:除服务器本地备份外,同步备份到云对象存储(阿里云OSS、腾讯云COS等),避免服务器被入侵、故障后备份一同丢失;
- 定期验证备份文件的完整性与可恢复性,确保出事时能正常回滚。
- 宝塔面板自带备份插件,可一键设置自动备份到本地或第三方云存储。
五、运维审计层:持续监控,及时发现异常
安全不是一次性配置,需要持续监控,在攻击造成损失前发现异常。
- 日志留存与审计
- 开启网站访问日志、错误日志、数据库日志、系统登录日志,留存至少15-30天;
- 定期巡检日志,关注异常访问、批量扫描、多次登录失败、可疑文件操作等行为。
- 文件篡改监控
- 开启网站文件监控,核心目录文件被修改、新增时触发告警,及时发现webshell木马植入。
- 定期安全巡检
- 每月至少做一次全面检查:漏洞补丁、开放端口、异常账号、可疑文件、备份有效性;
- 定期用Web漏洞扫描工具检测站点,及时修复高危漏洞。
六、进阶可选防护(适合高价值站点)
- CDN隐藏源站IP:网站接入CDN,所有流量先走CDN节点,源站真实IP不对外暴露,避免被定向攻击。
- 主机安全Agent:安装云厂商主机安全客户端,实时查杀木马、监控异常进程、检测漏洞。
- 内容安全策略(CSP):配置CSP响应头,限制页面资源加载来源,大幅降低XSS攻击危害。
上线优先级总结
- 必做(上线前必须完成):安全组最小端口配置、SSH密钥登录、全站HTTPS、数据库权限最小化、自动异地备份、开启WAF、后台路径加固
- 建议做:修改默认端口、防暴力破解、敏感数据加密、日志留存、错误信息隐藏
- 进阶优化:CDN隐藏源站、主机安全Agent、定期漏洞扫描