快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门银河网址amyh的网站_博格自动化网进入

澳门银河网址amyh的网站

简介

第 1 部分 说清楚明了 IBM WebSphere Application Server V6.1 和更高版本在设计时若何斟酌到默认安然性安然原则。目标是在最常见的设置设置设备摆设摆设和对照简单的情况中,让这个产品在默认环境下具有合理的安然水平,只管这个目标还没有完美地实现。前一篇文章着末先容了 WebSphere Application Server 中已经采纳的许多紧张的基于根基举措措施的预防性安然步伐。本文先容基于利用法度榜样的其他预防性步伐,然后评论争论一些紧张的留意事变。

只管本文中的信息基于 I澳门银河网址amyh的网站BM WebSphere Application Server V7,然则评论争论的大年夜多半问题同样适用于 V6.1。对付某个版本特有的问题,我们会专门指出。

基于利用法度榜样的预防性步伐

设置设置设备摆设摆设步伐

到今朝为止,本文的重点是为了创建安然的 IBM WebSphere Application Server 根基举措措施可以采取的基础步骤。这显然很紧张,但仅仅关注根基举措措施是不敷的。既然根基举措措施已经加强了,现在必须钻研利用法度榜样必要做哪些工作来确保安然性。当然,利用法度榜样必须使用 WebSphere Application Server 供给的根基举措措施,但利用法度榜样开拓职员还必须履行(或避免)其他一些操作以尽可能前进利用法度榜样的安然性。

不要将 Web 办事器的文档根设置为 WAR

仔细反省每个 servlet 又名是否安然

不要经由过程类名供给 servlet

不要将敏感信息放在 WAR 根目录中

定义默认的差错处置惩罚法度榜样

斟酌禁用文件办事和目录浏览

启用会话安然性

留意定制的 JMX 收集造访

为了赞助您将这些步伐与特定的进击种别联系起来,每个步伐应用 第 1 部分 先容的标记表示进击的种别。

1. 不要将 Web 办事器的文档根设置为 WAR

WAR 文件包孕利用法度榜样代码和大年夜量敏感信息。此中只有一部分信息是可以向 Web 供给的内容。是以,将 Web 办事器文档根设置为 WAR 根目录是分歧适的。假如这样做,Web 办事器将不加解释地供给 WAR 文件的所有内容。这会导致将代码、未经处置惩罚的 JSP 和其他内容供给给终极用户。(这个步伐只在 Web 办事器和利用法度榜样办事器放在一路时才有用。)

2. 仔细反省每个 servlet 又名是否安然

WebSphere Application Server 经由过程 URL 保护 servlet。每个要保护的 URL 都必须在描述利用法度榜样的 web.xml 文件中指定。假如 servlet 有不止一个又名(也便是说,多个 URL 造访相同的 servlet 类),或者有许多 servlet,则很轻易遗忘对某个又名的保护。这必要小心。因为 WebSphere Application Server 保护的是 URL,而不是底层类,以是纵然只有一个 servlet URL 是不安然的,入侵者也能够绕过您的安然步伐。为了削减这种要挟,应该尽可能应用通配符来保护 servlet。假如那样做分歧适,则应该在支配前再次仔细反省 web.xml 文件。

APAR PK83258(在 WebSp澳门银河网址amyh的网站here Application Serv澳门银河网址amyh的网站er Versions 7.0.0.7 和 6.1.0.27 中)会像对待 GET 哀求那样反省 HEAD 哀求的授权,是以在必然程度上堵住了这个破绽。

在为 servlet 指定授权约束时,要确保不列出任何措施,或者异常仔细地列出 servlet 的所有措施(很可能在多个约束中),比如 GET、POST、PUT、HEAD 等。对付每个 Java™ EE 规范,假如授权约束显式地列出措施,没有提到的措施就没有授权约束!这对付 HEAD 等措施尤其危险,HEAD 在默认环境下经由过程调用 GET 获取所需的头,这实际上会调用 GET 措施而不反省它的授权约束。清单 1 中的 web.xml 代码是不安然的,而清单 2 中的代码是安然的。

清单 1. web.xml – 不安然

myservlet

/myservlet

GET

arole

清单 2. web.xml – 安然

myservlet

/myservlet

arole

3. 不要经由过程类名供给 servlet

可以经由过程类名或一样平常的 URL 又名来供给 servlet。平日利用法度榜样选用后者。也便是说,开拓职员在 web.xml 文件中手动定义从每个 URL 到每个 servlet 类的准确映射,或者应用各类 WebSphere Application Server 开拓对象之一来定义。

然而,WebSphere Application Server 也容许经由过程类名供给 servlet。一个通用的 URL(例如 /servlet)并不为每个 servlet 定义映射,而是供给所有 servlet。假设基础路径后面的路径因素是 servlet 的类名。例如,"/servlet/com.ibm.sample.MyServlet" 引用 servlet 类 "com.ibm.sample.MyServlet"。

经由过程类名供给 servlet 是经由过程在 ibm-web-ext.xmi 文件中将 serveServletsByClassnameEnabled 属性设置为 true 完成的,或者在 IBM Rational® Application Developer 的 WAR 编辑器中选中 serve servlets by classname。请不要启用这个特点 —— Rational Application Developer 在默认环境下启用它,以是您必须禁用它。这个特点使得知道 servlet 类名的任何人都可以直接调用它。纵然 servlet URL 是受保护的,进击者也可能绕过正常的基于 URL 的安然步伐。别的,根据类装载器的布局,进击者可能能够调用您的 Web 利用法度榜样之外的 servlet,比如 IBM 供给的 servlet。

假如不确定各个利用法度榜样的设置是否差错地启用了经由过程类名供给 servlet,可以经由过程 设置一个定制属性 让利用法度榜样办事器轻忽这个设置,从而禁用经由过程类名供给 servlet。

4. 不要将敏感信息放在 WAR 根目录中

WAR 文件包孕可供给的内容。Web 容器将供给 WAR 文件根目录中的任何文件。只要只在根目录中放置应该供给的内容,就没问题。是以,决不要将不应该显示给终极用户的内容放在 WAR 的根目录中。例如,不要将属性文件、类文件或其他紧张信息放在那里。假如您必须将这种信息放在 WAR 中,则将其放在 WEB-INF 目录中,这是 servlet 规范容许的。Web 容器决不会供给那里的信息。

5. 定义默认的差错处置惩罚法度榜样

当 Web 利用法度榜样中呈现差错时,纵然是在利用法度榜样分派之前(例如 WebSphere Application Server 无法发明目标 servlet),会向用户显示差错消息。在默认环境下,WebSphere Application Server 会显示差错的原始非常客栈转储。这不仅对终极用户异常不友好,也裸露了利用法度榜样的有关信息(客栈信息中有类和措施的名称)。同时还显示非常消息,此中可能包孕敏感信息。

最好定义默认的差错页面,每当呈现未处置惩罚的非常时显示它,从而确保终极用户永世看不到原始差错消息。此页面可所以对用户友好的差错消息,而不是客栈跟踪。默认的差错页面是在 ibm-web-ext.xmi 中应用 defaultErrorPage 属性定义的,也可以在 Rational Application Developer 中应用 Web 支配描述符编辑器(Extensions 选项卡)设置。

6. 斟酌禁用文件办事和目录浏览

可以经由过程禁用 Web 利用法度榜样中的文件办事和目录浏览,进一步限定供给不适当内容的风险。当然,假如 WAR 包孕可供给的静态内容,则必须启用文件办事。

7. 启用会话安然性

WebSphere Application Server 平日不强制对 HTTP 会话造访进行任何授权。任何具有有效会话标识符的一方都可以造访会话。虽然会话标识符弗成预测,但也可能经由过程其他手段得到会话标识符。

要想低落这种进击形式的风险,应该斟酌启用会话安然性。这一设置是在 Application server >>澳门银河网址amyh的网站 Web container > Session management 面板中设置设置设备摆设摆设的。只需选择 Security integration 选项,见图 1。

图 1. 会话安然完备性

WebSphere Application Server 将跟踪哪个用户(根据用户供给的 LTPA 凭据来确定)拥有哪个会话,确保只有特定用户才能造访特定会话。

您可能还会对下面的文章感兴趣: