gpt4 book ai didi

java - Grizzly 项目是否处理缓冲区溢出或拒绝服务攻击?

转载 作者:行者123 更新时间:2023-12-02 08:26:24 25 4
gpt4 key购买 nike

我已经搜索了很多,但仍然不明白使用 Grizzly 是否意味着我可以免受这些攻击,或者我应该付出更多努力?

目前,我在程序中所做的唯一一件事就是通过以下代码将资源类(由 @Path 注释 - 我正在使用 Jersey)部署到 Grizzly:

final Map<String, String> initParams = new HashMap<String, String>();
initParams.put("com.sun.jersey.config.property.packages","MyServer.resources");
SelectorThread threadSelector;
try{
threadSelector = GrizzlyWebContainerFactory.create(
uri, initParams);
System.out.println("Press enter to stop server...");
System.in.read();
threadSelector.stopEndpoint();
}catch(...){...}

在我的资源方法中,我可以访问 JAXB bean 列表,我没有为其指定任何大小(我不知道此时是否可以检查大小以避免收到较大的请求 - 如果这是可能的,如果有人告诉我,这将是一个很大的帮助!),所以,我担心攻击者可能会发送连续的大请求(我的正常请求大小应该小于6个bean!)并导致拒绝服务 - 我刚刚开始学习安全风险并处理它们,这是我的第一次尝试!

我将检查请求处理程序方法主体中的大小,这是在服务器完全接收到请求之后。够了吗?

Grizzly 文档说它有良好的缓冲区管理(我可能将缓冲区溢出与拒绝服务混合在一起),但我不知道是否应该设置任何设置,还是默认保护?

编辑:

我已经收到了我的部分问题的良好答案,但是,我仍在寻找一些提示,特别是关于 Grizzly 或 Jersey 的提示,以及是否有一个单一的入口点,我可以在其中对所有传入的内容进行一些检查请求?

谢谢!

最佳答案

如果您使用 Java,您几乎不会受到经典缓冲区溢出攻击的影响,除非您使用 native 代码库来处理从网络获取的内容。

另一方面,保护自己免受拒绝服务攻击往往需要采用整体系统方法。

编辑

我所说的“整体系统”方法是指考虑对网络带宽、基础设施和后端服务器以及 Web 服务器的影响的方法。例如,无论您如何实现网络服务器,针对您的网络带宽或 DNS 的攻击都可能导致您无法使用无线网络。在另一端,有人可以针对您的 Web 应用程序的各个方面;例如知道特定查询非常昂贵......或者它泄漏资源并最终使您的应用程序崩溃。

(我不是这方面的专家。我只是想指出,如果您真的关心防御 DDoS,仅查看您的 Web 服务器平台是不够的。)

关于java - Grizzly 项目是否处理缓冲区溢出或拒绝服务攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com