【发布时间】:2023-03-08 09:30:01
【问题描述】:
我们目前正在测试 Image Resizer 库,其中一个问题是,如果有人以编程方式向服务器发送数千个任意大小的图像大小调整请求,导致 CPU/RAM 过载,我们如何避免对网站的恶意攻击?服务器并可能由于大量缓存文件而导致磁盘空间耗尽。
有没有办法将某些维度列入白名单?或者避免这种情况的最佳做法是什么?
谢谢! 斯蒂芬
【问题讨论】:
标签: imageresizer
我们目前正在测试 Image Resizer 库,其中一个问题是,如果有人以编程方式向服务器发送数千个任意大小的图像大小调整请求,导致 CPU/RAM 过载,我们如何避免对网站的恶意攻击?服务器并可能由于大量缓存文件而导致磁盘空间耗尽。
有没有办法将某些维度列入白名单?或者避免这种情况的最佳做法是什么?
谢谢! 斯蒂芬
【问题讨论】:
标签: imageresizer
在对 ImageResizer 的 (D)DOS 攻击期间,CPU 或 RAM 通常都不会过载。内存分配是连续的,这意味着除非剩余大约 15-30% 的可用 RAM,否则无法处理图像。在 default 管道下,只有 2 个内核用于图像处理,因此普通服务器也不会看到 CPU 饱和。
一般来说,攻击 ASP.NET 网站的方法远比通过 ImageResizer 有效得多。任何重数据库的页面都更有可能成为弱点,因为内存分配更小,更容易使服务器饱和。
启用 autoClean="true" 可以缓解磁盘空间不足的情况。
如果您是一个高知名度的网站,有很多不怀好意的人,您还可以考虑以下几点:
这两者都会降低开发敏捷性并限制您对响应式网页设计的选择,因此除非您过去确实受到过攻击,否则我不建议您这样做。
在实践中,针对动态映像软件的 (D)DOS 攻击很少能用于破坏任何东西,除非是临时的未缓存的映像,即使在同一应用程序池下运行也是如此。由于访问过的图片往往会被缓存,实际效果比较可笑。
【讨论】: