我需要实现一个可以从互联网上公开访问的服务器.服务器有一个非常简单的任务:

>通过HTTPS接受来自用户的表单POST(实际的HTML表单位于不同的站点上)
>将表单帖子重写为JSON
>通过单独的HTTPS连接将其发送到内部服务器,并进行多服务器故障转移
>等待JSON中的回复,包含成功或错误原因
>将“303”重定向从一个返回到成功URI或失败URI,将错误原因作为查询参数

此服务器通常承受的负载很小,但由于没有访问限制,服务器显然可能受到DOS等的攻击.

然而,这里的真正问题是安全性对于服务器来说绝对是至关重要的 – 服务器涉及具有足够大量的支付交易以使其成为理想的破解目标.服务器位于IPS之后,但是直接连接到互联网,并且将直接终止来自最终用户浏览器的HTTPS连接,而无需任何干预反向代理或SSL加速器等.

所以,我的问题是,哪个Java Web服务器是最安全的选择呢?

或者,如果你真的认为这些请求不应该由Java直接接收,而是由lighttpd或其他东西接收,你可以提出其他建议.但只有它能满足上面给出的要求.

一个非常好的答案将触及这些问题:

> OpenSSL与Java加密与替代方案的相关安全性(所有漏洞都存在)
> Java VM功能的相关安全性(例如最近的XML解析漏洞)
> Web服务器的HTTP头解析的相关安全性(几乎所有似乎都有漏洞)
>可选压缩的相关安全性(zlib存在漏洞,mod_deflate除此之外还有单独的漏洞)

解决方法

我认为您的主要关注点应该是遵循最佳安全实践并使您的软件保持最新状态,而不是您选择的软件.预测未来的漏洞几乎是不可能的.具有很多过去漏洞的软件并不一定意味着它不那么安全,可能更频繁地定位并因此更频繁地修复.在这方面,您需要定期更新的软件,并且您可以轻松地定期获取这些更新.

我建议使用Tomcat并遵循Improving Apache Tomcat Security中的步骤.Tomcat具有通用和开源的优点,因此它得到了很多关注和快速修复.许多攻击都是针对你甚至不需要的东西,所以禁用你能做的一切.将web.xml配置为仅接受您期望的URL路径,并为其他所有路径提供错误.

听起来您不需要在Web容器前面使用Apache HTTPD.最好是减少攻击向量的数量,并将Web请求直接发送到Web容器.无法知道哪些HTTPD或Java会为SSL和gzip发现更多漏洞.然而,如果您只使用Java,那么您至少不会对HTTPD的其余部分开放,而不是Java的一组有限的本机实现问题.

确保Java和您的Web容器保持最新.如果没有,网络和操作系统强化也应该进行研究.您可能还希望查看每日扫描Web漏洞以了解新威胁.

Java中面向Internet的Web服务器的安全选择是什么?的更多相关文章

  1. HTML5 Web缓存和运用程序缓存(cookie,session)

    这篇文章主要介绍了HTML5 Web缓存和运用程序缓存(cookie,session),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. ios – ARkit – 从SCNScene中的Web服务器URL加载.scn文件

    我正在为我的应用程序使用ARKit,我尝试从我的web服务器(URL)动态加载.scn文件这是我的代码的一部分NSLog的:.scn文件下载与上面提到的(新位置)文件路径..但当我尝试在SCNScene中使用此下载文件总是场景值为零.错误Thread4:Fatalerror:UnexpectedlyfoundnilwhileunwrappinganOptionalvalue如何解决这个问题.谢谢解

  3. 近期曝光的针对银行SWIFT系统攻击事件综合分析

    概述2016年2月孟加拉国央行被黑客攻击导致8100万美元被窃取的事件被曝光后,如越南先锋银行、厄瓜多尔银行等,针对银行SWIFT系统的其他网络攻击事件逐一被公开。在分析孟加拉国央行和越南先锋银行攻击事件期间,我们发现近期曝光的这4起针对银行的攻击事件并非孤立的,而很有可能是由一个组织或多个组织协同发动的不同攻击行动。2016年5月10日,孟加拉国央行的新掌门人、纽约联邦储备银行和SWIFT官员在瑞士巴塞尔会晤讨论。

  4. android – 在Internet上发布我的RESTful Web服务

    什么是最好的方法?例如,我可以使用AmazonWebServices或ApacheHTTPServer吗?

  5. android – 通过套接字看到一个Web服务器. . .

    ).HTTP的默认端口为80.因此,如果我们假设该PC的IP地址是192.168.0.1,则应该具有:要么

  6. ThinkPHP 5.x远程命令执行漏洞复现

    这篇文章主要介绍了ThinkPHP 5.x远程命令执行漏洞复现的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

  7. PHP默认安装产生系统漏洞

    当你下载PHP後,在它内含的安装文件中帮助了PHP在NTApacheWebServer的安装方式,其中的安装帮助会要你将底下这几行设置加到apache的httpd.conf设置文件中,而这个安装文件将导引你将你的系统门户大开。

  8. phpcmsv9.0任意文件上传漏洞解析

    这篇文章主要介绍了phpcmsv9.0任意文件上传漏洞解析,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. nodejs实现的简单web服务器功能示例

    这篇文章主要介绍了nodejs实现的简单web服务器功能,结合实例形式分析了nodejs构建web服务器的相关监听、响应、数据处理等操作技巧,需要的朋友可以参考下

  10. Java 实现 web服务器的简单实例

    这篇文章主要介绍了Java 实现 web服务器的简单实例的相关资料,需要的朋友可以参考下

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部