我正在开发一个系统,其主要关键应该是安全性。所以我必须考虑最薄弱的地方,它可能会被破坏。可能,第一个是蛮力和 DDOS 攻击。我已经阅读了很多“最佳实践”来对抗它们,我想做的第一件事就是启用某种动态 IP 限制。我认为这类问题非常流行,并且 IIS(我使用的是 IIS 7)将具有一些在内核级别阻止恶意请求的内置功能,因此它比编写自己的 asp.ent 模块要快得多,或 WCF 扩展(我使用 WCF 服务作为额外的安全层)。
我发现的最好的东西是 IIS 7 附加“动态 ip 限制”(http://learn.iis.net/page.aspx/548/using-dynamic-ip-restrictions/?FeaturePage=4FA9C136-25BD-4833- 853A-99EAAD0754D2),但是有一个非常烦人的功能缺失部分 - 我无法设置 IP 地址的禁用时间,我什至不知道。我在互联网上看到在以前的版本中启用了它,我想知道为什么他们在新版本中将其关闭...
无论如何,也许有人知道一个好的解决方案?我会考虑编写自己的内核级模块的选项(我不确定在 IIS7 集成模式下,asp.net 托管模块是否是 IIS 内核模块,它们的生命周期是什么),但有可能从IIS 管理器,就像那个“动态 IP 限制”插件一样,但最好的选择是现成的产品。