Lek*_*eyn 8 openid denial-of-service
我正在考虑将OpenID作为我的PHP应用程序的登录方法,但是有一件事阻止我继续:我如何保护OpenID消费者免受滥用?
滥用包括将其他服务器充满请求,使用我的应用程序作为代理,将大量下载作为URL传递或通过执行大量请求不必要地降低服务器速度.
我想我应该在做请求时实施限速,但我该怎么办呢?可能的攻击者可以使用其他代理或TOR来绕过IP检查.限制允许的提供程序会违反OpenID的原则吗?
我不希望我的用户是邪恶的,但我想知道在添加另一个可能的攻击向量之前我需要考虑哪些事情.
如果重要的是,我将使用lightopenid作为PHP应用程序的后端.
您需要将攻击分为两个池。1) 针对您自己的网站的攻击,以及 2) 针对使用您作为代理的其他人的攻击。这些问题都不是新问题,也不是 OpenID 独有的。例如,经典的“告诉朋友”电子邮件表单可以自动从代理方的 IP 地址和电子邮件发送垃圾邮件,保护垃圾邮件发送方免受后果,并为他们提供(可能)干净的 IP/电子邮件已被垃圾邮件防护标记。这主要是通过“CAPTCHA”解决的,以防止表单的自动使用。
对于针对您自己网站的攻击,这方面的内容之前已经被介绍过无数次了。试试这里:保护自己免受 DOS 攻击
对于针对其他人的网站的攻击,许多相同的原则适用于其他问题中提到的。限制身份验证请求,拒绝不合理或格式错误的请求,根据 POST 返回的实际内容验证 Content-Length 标头,当然,您始终可以添加经典的“CAPTCHA”以帮助防止使用 OpenID 消费者的自动攻击。
与此处的其他建议相反,我不会根据 OpenID TLD 进行限制,而是根据请求方的 IP 地址进行限制。是的,人们可以租用代理 IP,但您无法根据 TLD 进行公平限制,因为每个 OpenID 提供商的用户群差异很大。您还可以从MaxMind等公司购买已知代理 IP 的数据库。如果用户来自代理 IP,请增加限制的强度。
| 归档时间: |
|
| 查看次数: |
409 次 |
| 最近记录: |