IBM HTTP服务器安全与加固指南

调整IBM HTTP服务器(IHS)以用于生产环境

IBM的HTTP服务器通常与IBM的WebSphere Application Server结合使用。一些使用IBM HTTP Server的popular sites是:

  • Airtel.in
  • Marriott.com
  • Hsbc.co.uk
  • Mercedes-benz.com.eg
  • Argos.co.uk

IHS基于Apache HTTP服务器,但由IBM进行了调整以支持企业应用程序和维护支持。它在Web服务器世界中所占份额很小,但在与WebSphere应用服务器广泛使用。

默认的IHS配置提供了很多敏感信息,这可以帮助黑客为攻击做准备并中断业务运营。作为管理员,您应该了解如何加固IHS配置以保持安全和secure the web applications

在本文中,我将解释如何使IHS成为可用于生产环境的环境,以保持安全和secure

一些事项:–

  • 如果尚未安装IHS,则您已在Linux环境中安装了IHS,如果没有,可以参考installation guide here
  • 建议您备份配置文件。
  • 您的浏览器中具有HTTP头extensions,或者您可以使用在线工具Header Checker
  • 由于文章长度较长,我将在下一篇文章中讨论SSL配置。

隐藏HTTP头中的服务器标识和产品信息

在设置生产环境时,可能是要执行的第一项任务之一是掩盖HTTP头中的IHS版本和服务器标识。这不是关键问题,但被认为是信息泄漏漏洞的低风险,并且对于符合PCI DSS的应用程序来说是必须的。

让我们看一下在默认配置中不存在(404)请求的响应。

哦,不,它透露了我正在使用IBM HTTP服务器以及服务器IP和端口号,这很不好看。让我们隐藏它们。

解决方案:–

  • 在IHS的httpd.conf文件中添加以下三个指令。
AddServerHeader Off
ServerTokens Prod
ServerSignature Off
  • 保存文件并重新启动IHS。

通过访问一个不存在的文件来验证。您也可以使用HTTP Header tool来验证响应。

好多了!现在它不会给出产品、服务器和端口信息。

禁用Etag

Etag头可以透露文件的完整性并帮助黑客执行NFS攻击。默认情况下,IHS会公开etag,以下是如何消除这个漏洞的方法。

解决方案:–

  • 在根目录中添加以下指令。
FileETag none

例如:

   Options FollowSymLinks
   AllowOverride None
   FileETag none
  • 重新启动IHS服务器以生效。

以非root帐户运行IHS

默认配置以root和nobody用户运行Web服务器,这是不可取的,因为通过特权帐户运行可能会在发生安全漏洞时影响整个服务器。为了降低风险,您可以创建一个专用用户来运行IHS实例。

解决方案:–

  • 创建名为ihsadmin的用户和组。
groupadd ihsadmin
useradd –g ihsadmin ihsadmin

现在,将IHS文件夹的所有权更改为ihsadmin,以便新创建的用户对其具有完全权限。假设您已经安装在默认位置– /opt/IBM/HTTPServer

chown –R ihsadmin:ihsadmin /opt/IBM/HTTPServer

让我们修改httpd.conf中的User & Group值

User ihsadmin
Group ihsadmin

保存httpd.conf并重新启动IHS服务器。这将帮助IHS以ihsadmin用户启动。

在Cookie中实施HttpOnly和Secure标志

拥有cookie secured and httponly将有助于降低XSS攻击的风险。

解决方案:–

为了实施这个解决方案,您必须确保在httpd.conf中启用了mod_headers.so

如果没有,请取消在httpd.conf中的以下行的注释

LoadModule headers_module modules/mod_headers.so

并添加以下标头参数

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

保存配置文件并重新启动Web服务器。

缓解点击劫持攻击

The clickjacking技术是一个众所周知的攻击方式,攻击者可以欺骗用户点击链接并执行嵌入的代码,而用户对此一无所知。

解决方案: –

  • 确保mod_headers.so已启用,并在httpd.conf文件中添加以下标头参数
Header always append X-Frame-Options SAMEORIGIN
  • 保存文件并重新启动服务器。

让我们通过访问URL来验证,它应该具有如下所示的X-Frame-Options。

配置Listen指令

如果服务器上有多个以太网接口/IP,则适用此操作。建议通过在Listen指令中配置绝对IP和端口,以避免DNS请求被转发。这在共享环境中经常见到。

解决方案: –

  • 在Listen指令下的httpd.conf中添加预期的IP和端口。例如:
Listen 10.0.0.9:80

添加X-XSS-Protection

如果用户在浏览器中禁用了跨站脚本(XSS)保护,您可以通过实施以下标头来应用保护。

Header set X-XSS-Protection "1; mode=block"

禁用Trace HTTP请求

在Web服务器中启用Trace方法可能会导致跨站跟踪攻击,并可能窃取Cookie信息。默认情况下,此选项已启用,您可以使用以下参数禁用它们。

解决方案: –

  • 修改httpd.con文件并添加以下行
TraceEnable off
  • 保存文件并重新启动IHS实例以使其生效。

希望以上提示有助于您加固生产环境中的IBM HTTP服务器。

类似文章