java web 停止_java-如何停止对Web API的hack / DOS攻击

防止暴力攻击:

有大量工具和策略可用来帮助您完成此任务,要使用哪种工具和策略完全取决于您的服务器实施和要求。

如果不使用防火墙,IDS或其他网络控制工具,则无法真正阻止DDOS从拒绝向应用程序提供服务。 但是,您可以修改您的应用程序,以使暴力攻击更加困难。

执行此操作的标准方法是实施锁定或逐步延迟。 如果IP登录N次失败,则锁定将阻止IP在X分钟内发出登录请求。 渐进式延迟为处理每个错误的登录请求增加了越来越长的延迟。

如果您使用的是Tomcat的身份验证系统(即,您的Web应用程序配置中包含Valve元素),则应使用Tomcat LockoutRealm,该功能可以在IP地址发出许多错误请求后将其轻松地放置在锁定中。

如果不使用Tomcat的身份验证系统,则必须发布有关所用内容的更多信息,以获取更多特定信息。

最后,您可以简单地增加API密钥的长度。 64位似乎是一个不可逾越的巨大键空间,但按现代标准来看,它却不足。 许多因素可能导致其安全性远低于您的预期:

如果没有适当的保护措施,僵尸网络(或其他大型网络)每秒可能进行数万次尝试。

根据您生成密钥和收集熵的方式,您实际的键空间可能要小得多。

随着有效密钥数量的增加,需要的密钥数量试图找到一个有效的(至少在理论上)滴尖锐地。

将API密钥长度增加到128(或256或512)不会花费太多,并且您将极大地增加任何蛮力攻击的搜索空间(因此也就增加了难度)。

缓解DDOS攻击:

但是,要缓解DDOS攻击,您需要做更多的工作。 DDOS攻击很难防御,如果您无法控制服务器所在的网络,则尤其难以防御。

话虽如此,您可以做一些服务器端的事情:

安装和配置Web应用程序防火墙,例如mod_security,以拒绝违反您定义的规则的传入连接。

设置一个IDS系统(如Snort)来检测DDOS攻击何时发生,并采取缓解措施

参见@Martin Muller的帖子,了解另一个出色的选项fail2ban

如此处所述,创建您自己的Tomcat Valve,以拒绝其User-Agents(或任何其他条件)的入站请求,作为最后一道防线。

最后,您只能免费阻止DDOS攻击。 一台服务器只有这么多的内存,这么多的CPU周期和这么多的网络带宽; 有了足够的传入连接,即使是最高效的防火墙也不会阻止您宕机。 如果您投资更高带宽的互联网连接和更多服务器,或者在Amazon Web Services上部署应用程序,或者购买了许多消费者和企业DDOS缓解产品之一(@,则可以更好地抵御DDOS攻击。 SDude在他的帖子中有一些很好的建议)。 这些选择都不是便宜,快速或简单的,但是它们是可用的。

底线:

如果您依靠应用程序代码缓解DDOS,您已经迷路了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值