如何说服我的pipe理员Java ON A SERVER本身不是不安全的?

应用程序

我们有一个小的Java应用程序,它使用一些骆驼路线从Web服务器上传文件,处理它们,并发送一些电子邮件的结果。

运行此应用程序的服务器已经中断。 现在我们必须在动力不足的硬件上运行它,因为我无法说服pipe理员在networking服务器(实际上是一个多用途服务器)上安装JRE。

害怕

我自己是一名Java应用工程师,我写JEE代码为生,每周处理价值数万欧元的B2B交易。 但我有问题find可靠的来源,反驳java本身是不安全的神话。

pipe理员反对安装JRE的两个主要观点:

  1. Java应用程序吃掉了我所有的RAM
  2. Java充满了漏洞

真相?

当谈到java应用程序吃ram。 那么…我会说我们必须为Xmx设置适当的值。 完成。

现在有很多关于Java的漏洞的资源。 这些资源主要针对的是运行美国雷德蒙德某公司某个操作系统的最终用户。 AFAIK这可能是未经修补的版本的Java浏览器插件,它被configuration为自动执行所有的小程序,有相当大的机会成为受感染驱动器的受害者。 就像在上class的时候在火车上与eveyone进行无保护的性行为时一样,可能会发生性病。

但是我找不到世界上任何人谈论服务器应用程序或JRE运行无头的人。 那是另一回事

或者我在这里错过了什么?

澄清:我只关心服务器上的Java。 我不关心在Java中开发的Java插件和/或特定软件的问题。

java放到你的环境中的附加安全表面是复杂的,重要的是不要忽略它或者试图简化它。

首先,JRE有安全漏洞的可怕logging。 很难指出具体的一个,这是可怕的一部分 – 这些错误是非特定向量的压倒性的未知的漏洞。

当我作为一名安全顾问阅读“允许远程攻击者”这样的条款而没有进一步的限定时,我发现这可能意味着某些参数进入某个函数可能会引发这个脆弱的条件,即使你只运行你写的代码。 而且,因为它们没有详细说明,所以你不知道你是否受到影响。

更好的是,甲骨文公布的规范JRE对关键更新(包括几乎所有的安全更新)都有一个明确的季度更新周期。 他们在过去的四年中共创造了11次循环补丁。 这意味着,在您有任何解决方法之前,您可能会在报告三个月之后发现安全漏洞。

还有其他的问题,我不会在这里进入,但真的,似乎有一个合理的担心,特别是对于一个多用途的服务器。 如果你必须运行这些东西,至less应该为它制作一个单一目的的虚拟机,并将其与其他东西隔离。

特别是,如果JRE中有一个允许攻击者获得RCE的远程攻击者,另一个在PHP中执行相同的操作,而另一个在Ruby中执行相同操作,则必须对所有三个进行打补丁。 所有这三个看起来有点可能,因为这些事情发生了,攻击者可以select最方便的,然后拥有整个服务器。 这就是为什么我们应该使用虚拟机来分离软件,尤其是像托pipe语言框架这样的错误软件,特别是那些每年只安装四次安全补丁的软件,并且是面向所有证据certificate自己是安全。

为了更新,下面是我通过示范的方式从ChrisS的链接CVEsearch中摘录的一些CVE。

而我最喜欢的,因为我在那里:

顺便说一句,这只是一个小样本。

Java应用程序吃掉了我所有的RAM

使用RAM的替代方法是浪费RAM。 以后不能保存。

Java充满了漏洞

这并不重要,因为你不会把JVM暴露给世界。 我认为你不会运行任何敌对的程序,如果你是,Java比大多数其他语言更安全。 重要的是你的应用程序是否有漏洞。

聘请公司对您的程序进行静态分析。 例如,Veracode就是我以前用来审计Java程序的代码安全性的公司。

比较你的pipe理团队的收费代码,显然。

解释所有其他语言(或虚拟机)可以通过部署在其上的代码变得不安全,就像Java一样。 如果他认为其他平台本身就是安全的(或者比Java更安全)而没有正确解决安全问题,那么他就是妄想。

您的公司显然投资雇用Java开发人员,为什么系统pipe理员拒绝支持该公司决定使用的技术?

我会抛开这个问题,问他他提出了什么替代scheme,以及如何以非常具体的方式比最新的可用服务器JRE更安全。 与此同时,努力向您展示您了解您的技术,可能的攻击面以及您将其用于最小化的攻击面(例如不必要的框架,第三方代码等)。 对代码进行validation,寻找在过去X年中为依赖的框架发布的漏洞,将其与其他语言/框架进行比较(确保也包括市场份额,没有发布漏洞的晦涩框架并不意味着什么)。

我们不可能知道你们之间的整个转换是怎么发生的,但如果这是他的两个论点,我相信你正在和一个初级系统pipe理员打交道。 他有使用Java应用程序服务器的经验吗? 也许他对这项技术感到不舒服,并且害怕在没有完全了解的情况下投入某些东西(那么系统pipe理员的态度就很好)。