如何防范 DDOS 攻击

从今天早上十点多钟开始,有针对本站的大量异常请求

如果不是装了 Sentry 我还在上班可能还感受不到:

出现了大量的 BUG,,,报错,PHP 和 JS 都有,连负责接收处理 BUG 信息的 Sentry 内部都有错误产生

也感谢攻击者为我找到了这么多问题

这些请求鸡贼就鸡贼在 URL 填写的存在的URL 然后后面拼接上莫须有的随机文件名和文件后缀名,CDN 我是配了的,这些 URL 触发了 CDN 的回源机制

导致源站服务器需要不停的相应这些请求

CPU 轻轻松松上了 100%

好在我是 IIS 服务器,超级稳定

本次攻击未造成任何影响,因为有 CDN,站点的页面访问正常,响应时间也依然在20毫秒左右


接下来说说 IIS 有哪些设置可以在一定程度上优化 DDOS 攻击的

一、网站限制

限制带宽和连接数

blank

二、请求筛选

把一些后缀名禁用掉,这样相关请求可以直接报错

blank

三、IP 和域限制

这个就是黑名单/白名单

blank

四、动态 IP 限制

并发请求数限制,自动拒绝一段时间内超次数的请求 IP

blank

五、FastCGI 限制

PHP 本质上就是 一个个 FastCGI 进程,这里配一个限制完全没问题

blank

六、应用程序限制

IIS 的概念是有一个应用程序,负责包括垃圾回收啊什么的一个综合管理的东西,这里可以调一调

blank

为了防止其它形式的攻击,需要时刻给系统和网站等应用打补丁,防火墙也一定要打开,密码都使用随机生成的高强度带符号的字符串

另外,一些网站的关键版本不能暴露出去

blank

不要让别人一眼就知道你是安装的哪一个版本的 PHP/Wordpress/Laravel/IIS 版本号(顺便安利:这个看网站信息的插件很好用)

说实话分布式拒绝服务攻击(DDOS)挺没技术含量的,我这个博客本身没啥东西,数据库、代码、硬盘也都有定期的备份,黑我没啥意思