
核心要点(TL;DR)
- 五阶段防护体系:资产梳理、基础加固、边界防护、持续监控、应急响应。
- 基础加固必做:更新补丁、最小权限、关闭多余端口、配置防火墙。
- 部署WAF可拦截SQL注入、XSS等常见Web攻击,推荐AegisX。
- 定期备份并测试恢复,确保勒索软件攻击后能快速还原。
你的网站是否曾因漏洞被入侵,导致数据泄露或服务中断?中小企业往往缺乏专职安全团队,面对层出不穷的攻击手法,不知从何下手。本文提供一套五阶段实战指南,从零搭建防护体系,每阶段附带具体命令和检查清单,帮你快速构建纵深防御。
阶段一:资产梳理与风险摸底
安全的第一步是知道你有什么。很多中小企业连自己有多少个对外服务都不清楚,导致防护盲区。
操作步骤
- 域名与IP梳理:使用
dig或在线工具列出所有子域名,通过nmap -sS -p 1-65535 <IP>扫描开放端口。 - 服务识别:对开放端口进行版本探测
nmap -sV <IP>,记录Web服务、数据库、中间件及其版本。 - 资产清单:用表格记录域名、IP、端口、服务、版本、负责人。示例:
| 域名 | IP | 端口 | 服务 | 版本 |
|---|---|---|---|---|
| www.example.com | 192.0.2.1 | 80,443 | Nginx | 1.18.0 |
| api.example.com | 192.0.2.2 | 8080 | Tomcat | 9.0.41 |
检查清单:是否所有资产都已记录?是否有未知端口开放?版本是否过旧?
阶段二:基础安全加固
在边界防护之前,先确保每台服务器自身足够坚固。以下以Linux为例。
系统层加固
- 更新补丁:
apt update && apt upgrade -y(Debian/Ubuntu)或yum update -y(CentOS)。 - 最小权限:禁用root远程登录,修改
/etc/ssh/sshd_config中PermitRootLogin no,重启sshd。 - 防火墙:使用
ufw或firewalld只开放必要端口。例如ufw allow 80,443/tcp,然后ufw enable。 - 账户安全:设置强密码策略,安装
fail2ban防止暴力破解。
Web层加固
- 隐藏版本号:Nginx中
server_tokens off;,Apache中ServerTokens Prod。 - 目录权限:确保Web目录不可写,
chmod -R 755 /var/www,文件属主为专用用户。 - 禁用危险函数:PHP中
disable_functions = exec,passthru,shell_exec,system。
检查清单:系统是否最新?是否禁用root登录?防火墙是否启用?Web目录权限是否正确?
阶段三:边界防护与WAF部署
边界是攻击者的第一道关卡。除了防火墙,Web应用防火墙(WAF)能拦截SQL注入、XSS等应用层攻击。
部署WAF
可选云WAF或自建。自建推荐ModSecurity+OWASP核心规则集。以Nginx为例:
# 安装ModSecurity
apt install libmodsecurity3 libnginx-mod-security
# 下载OWASP规则
git clone https://github.com/coreruleset/coreruleset.git /etc/nginx/modsec/coreruleset
# 配置Nginx加载ModSecurity
# 在nginx.conf的http块中添加:
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
对于希望快速接入且免运维的团队,可以考虑使用AegisX的云WAF能力,一键接入并自动更新规则。
其他边界措施
- 启用HTTPS:使用Let's Encrypt免费证书,
certbot --nginx自动配置。 - 限速防CC:Nginx中
limit_req_zone限制单IP请求频率。 - IP黑名单:封禁恶意IP,可使用
ipset或云防火墙。
检查清单:WAF是否生效?HTTPS是否强制?是否有CC防护?
阶段四:持续监控与日志分析
安全不是一劳永逸,需要持续监控异常。
监控要点
- 日志集中:使用
rsyslog或filebeat将日志发送到ELK或Graylog。 - 文件完整性:安装
aide,定期检查关键文件是否被篡改。 - 流量分析:使用
iftop或nethogs查看异常连接。 - 告警设置:对异常登录、大量404、CPU飙升等设置邮件/短信告警。
推荐使用AegisX的监控模块,可实时检测Webshell、异常进程并自动阻断。
检查清单:日志是否集中?是否有完整性检查?告警是否可达?
阶段五:应急响应与备份恢复
即使防护再好,也要假设会被入侵。快速响应能减少损失。
应急响应流程
- 隔离:立即将受感染服务器从网络断开,防止横向移动。
- 取证:备份日志、进程列表、网络连接、可疑文件。
- 分析:确定入侵途径,修复漏洞。
- 恢复:从干净备份恢复数据,重装系统更安全。
- 总结:更新防护策略,加强监控。
备份策略
- 3-2-1原则:3份备份,2种介质,1份离线。
- 定期测试恢复:每季度模拟恢复一次。
- 使用工具:
rsync、borgbackup或云备份服务。
检查清单:是否有应急手册?备份是否可恢复?是否定期演练?
行动建议
安全建设非一日之功,建议按五阶段逐步推进。先从资产梳理和基础加固开始,再部署WAF和监控,最后完善应急响应。每完成一个阶段,打勾检查清单。对于资源有限的中小企业,可借助AegisX等一体化安全平台,快速补齐短板。立即行动,从今天起加固你的网站。
常见问题(FAQ)
中小企业网站安全防护应该从哪一步开始?
从资产梳理开始。先列出所有对外的域名、IP、端口、服务、中间件和框架版本,明确保护对象。可以使用Nmap扫描或手动整理,然后建立资产清单,后续所有加固和监控都基于此清单。没有清晰的资产,防护就无从下手。
如何低成本实现网站基础安全加固?
优先做四件事:1) 系统与软件更新到最新稳定版;2) 配置防火墙只开放必要端口(如80、443);3) 使用强密码并禁用root远程登录;4) 安装免费WAF如ModSecurity或使用云WAF。这些措施能防御大部分自动化攻击。
WAF能防御哪些攻击?必须部署吗?
WAF可防御SQL注入、XSS、文件包含、CC攻击等常见Web威胁。对于中小企业,强烈建议部署,因为手动修复所有代码漏洞不现实。云WAF或AegisX等方案可快速接入,成本低,能显著降低入侵风险。
如何监控网站是否被入侵?
部署日志集中分析(如ELK)、文件完整性监控(如AIDE)、流量异常检测。定期检查Web日志中的可疑请求(如大量404、异常User-Agent),设置告警。使用AegisX可实时监控并阻断异常行为。
被入侵后应该怎么应急响应?
立即隔离受感染服务器,保留证据(日志、进程、文件),分析入侵途径,修复漏洞,从干净备份恢复数据,并更新所有密码。事后总结并加强防护。建议提前制定应急响应预案,定期演练。