所以这是关于防止DoS攻击的最佳实践的一般性问题,我只是想弄清楚大多数人如何处理来自同一IP地址的恶意请求,这是我们目前遇到的问题.
我认为最好尽可能高地阻止真正恶意IP的IP,以防止使用更多资源,特别是在加载应用程序时.
思考?
我有一个'忘记密码'系统设置,用于向用户发送带有重置链接的电子邮件.问题是:如何防止滥用此系统?我怎样才能确保人们不会使用它来垃圾邮件收件箱,但仍然可以将它用于需要它的人?
我在读有关ReDOS的文章。 https://zh.wikipedia.org/wiki/ReDoS
看来如果您在Node.js中运行以下代码:
console.time('aaa');
/^(a+)+$/.test('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!')
console.timeEnd('aaa');
Run Code Online (Sandbox Code Playgroud)
运行大约需要7821毫秒。
但是,如果我向MongoDB添加相同的值:
db.users.insert({name: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!"});
db.users.findOne({name: { '$regex': '^(a+)+$'}});
Run Code Online (Sandbox Code Playgroud)
立即对此求值,并返回null。
知道MongoDB如何能够如此快速地对其进行评估吗?
在UDP客户端/服务器上阻止DoS攻击有哪些好的编程实践?目前唯一想到的是忽略具有错误源的数据包,因此(使用WinSock2):
if (oSourceAddr.sa_family == AF_INET) {
uSourceAddr = inet_addr(oSourceAddr.sa_data);
if (uSourceAddr == oCorrectDestAddr.sin_addr.S_un.S_addr) {
queueBuffer.push(std::string(aBuffer));
}
}
Run Code Online (Sandbox Code Playgroud)
足够快的攻击可能导致这种情况在循环中阻塞 - 特别是如果数据包大小很小.有没有办法可以防止数据包来自某个来源,或者除了正确来源之外的任何来源?我应该注意哪些其他事项?如果解决方案已内置到API中,则代码形式的解释将特别有用.
有没有办法阻止用户使用以下代码锁定Linux机器:
#import <stdio.h>
int main (int argc, char** argv)
{
while (1)
fork();
}
Run Code Online (Sandbox Code Playgroud)
有问题的计算机是在计算机实验室中进行的,所以我不能完全禁止编译......但有没有办法确保这些进程只占用系统资源的某一部分?这个问题的重要性因任何用户都可以进入任何系统而变得更加复杂,所以真正唯一的原因还没有成为问题,大多数用户或多或少都不熟悉C或其他低级语言.
不过,我还是想把这个扼杀在萌芽状态......
我很想知道在我的电子邮件和联系表单上防止DoS攻击的好方法.
我有一个"与朋友分享"功能,它打开了我创建的一个表单,但我宁愿不加入CAPTCHA.
我在这里看到了一个jQuery + PHP解决方案:http://docs.jquery.com/Tutorials : Safer_Contact_Forms_Without_CAPTCHAs#PHP_File
它看起来是一个很好的解决方案,我只是想帮助将PHP翻译成C#.我猜测ASHX文件最好用.
如果还有其他(更好的?)解决方案,我很乐意听到它们.
在Security + book中,已经告知DoS攻击可能无法检测到,攻击者可以使用无效的IP地址.
无效的IP地址是什么意思?它是僵尸IP吗?我们怎么能面对呢?
我在 Centos 上以 IDS 的身份运行 snort。我正在尝试测试 snort 是否可以检测到 Syn Flood 攻击。我从同一个 LAN 网络发送攻击。我在 local.rules 中添加了这个规则alert tcp !$HOME_NET any -> $HOME_NET 80 (flags: S; msg:"Possible TCP DoS"; flow: stateless; threshold: type both, track by_src, count 70, seconds 10; sid:10001;rev:1;)。当我在快速模式下运行 snort 时,Snort 警报文件没有记录。它正在记录,但现在不是。所以我看不到它是否检测到攻击。我怎样才能让 snort 检测到这种攻击?
如何preg_match()使用带有邪恶正则表达式(例如(a +)+)的函数来触发Regex-DOS ?
例如,我有以下情况:
preg_match('/(a+)+/',$input);
Run Code Online (Sandbox Code Playgroud)
如果我能控制的$input,我怎么可能会引发DOS攻击或达到回溯限制的preg_*PHP函数?
我如何使用以下表达式做到这一点?
([a-zA-Z]+)*
(a|aa)+
(a|a?)+
(.*a){x} | for x > 10
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种既便宜又好用的方法来防止对我的 ASP.NET MVC 站点的拒绝服务攻击。
我一直在考虑一个解决方案,它拦截 HttpHandler 然后计算 Cache 对象中的请求,关键是像“RequestCount_[IpAddressOfRequestClient]”这样的东西,但这似乎会产生一个疯狂的开销。
任何想法将不胜感激。谢谢!
我住在一个开放的社区..我在专用服务器上运行游戏,但不知道 ddos 安全性,我试图阻止对我的游戏服务器的并发攻击,但不知道在哪里制作我的第一部电影,就像我一样在激烈的国际象棋比赛中将死,我是否使用其他主机保护?我要建立自己的保护吗..去这里最好的方式是什么。我希望保护我的游戏免受 http 攻击和 tcp 攻击。