服务器防攻击策略需分层设防:网络层用安全组+WAF或防火墙限流;系统层关停非必要服务、禁用root登录、最小化模块;应用层加固HTTP头、限请求体与频次、严控目录权限;运维层集中日志告警、定期扫描验证、常态化备份快照。

网络层:先拦住流量再放行
这是第一道防线,目标是不让恶意请求触达服务本身。
-
云环境优先用安全组+WAF组合:安全组只开放业务必需端口(如443、22),且SSH限制来源IP段;WAF开启SQL注入、XSS、路径遍历等默认规则,并自定义拦截含
union select、<script></script>、../../../的请求。 -
自建服务器必须配防火墙规则:用
iptables或ufw设置默认拒绝策略,再逐条放行。例如仅允许内网192.168.10.0/24访问SSH:ufw allow from 192.168.10.0/24 to any port 22。 -
对高频连接做速率限制:防止CC或暴力破解,比如用
iptables限制单IP每分钟最多30个新连接:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j DROP。
系统层:减少漏洞面+收紧权限
很多攻击不靠“破门”,而是利用你开着的“后窗”。
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
-
关掉所有非必要服务:用
systemctl list-unit-files --type=service | grep enabled检查,停用并禁用cups、postfix、rpcbind等默认启用但业务不用的服务。 -
禁用root远程登录,强制密钥认证:修改
/etc/ssh/sshd_config,设PermitRootLogin no、PasswordAuthentication no、PubkeyAuthentication yes,重启SSH生效。 -
定期更新+最小化模块:Linux启用
unattended-upgrades,Apache/Nginx只加载必需模块(如注释掉mod_dav.so、mod_autoindex.so)。
应用层:堵住代码和配置的常见缺口
Web服务是攻击重灾区,防护要落到具体配置和运行时行为上。
-
HTTP头加固不可少:在Apache或Nginx中设置
Content-Security-Policy、X-Content-Type-Options: nosniff、Strict-Transport-Security,防XSS和MIME混淆。 -
限制请求体与频率:Apache用
LimitRequestBody 1048576防大文件上传攻击;Nginx用limit_req限制单IP访问频次,例如每秒最多1个请求,突发允许5个。 -
目录权限严格管控:Web根目录属主设为
www-data(非root),权限设为750;上传目录禁止执行脚本(php_flag engine off或Nginx中location ~ \.php$ { deny all; })。
运维层:让防御可验证、可回溯、可持续
再好的配置,没人看日志、不更新规则、不复盘就等于没做。
-
日志集中+关键行为告警:把
/var/log/auth.log、nginx/access.log、WAF日志接入ELK或Loki+Grafana,对“5分钟内10次SSH失败”“同一IP触发WAF规则超20次”自动发邮件或钉钉告警。 -
定期扫描+手动验证:每月用
nmap -sV 目标IP检查开放端口与服务版本,用lynis audit system做基线检查,确认补丁、密码策略、防火墙状态是否符合预期。 -
备份与快照常态化:数据库每日全量+binlog备份,系统盘每周打快照,且备份文件单独存放、不可写(
chattr +i),确保被勒索或删库后能快速恢复。

















