IBM HTTP Server安全性和强化指南

针对生产环境调整IBM HTTP Server(IHS)
IBM的HTTP Server通常与IBM WebSphere Application Server结合使用。使用IBM HTTP Server的一些受欢迎的站点是:

  • Airtel.in
  • Marriott.com
  • Hsbc.co.uk
  • Mercedes-benz.com.eg
  • Argos.co.uk
IHS基于Apache HTTP Server, 但是IBM对其进行了调整, 以支持企业应用程序和维护支持。它在Web服务器领域的市场份额很少, 但仍与WebSphere Application Server一起广泛使用。
IBM HTTP Server安全性和强化指南

文章图片
默认的IHS配置提供了很多敏感信息, 可以帮助黑客为攻击做准备并中断业务运营。作为管理员, 你应该了解加强IHS配置以保护Web应用程序的安全。
在本文中, 我将解释如何使IHS生产就绪的环境保持安全。
一些事情: –
  • 如果未在Linux环境上安装IHS, 则可以在此处参考安装指南。
  • 建议你备份配置文件。
  • 你在浏览器中具有HTTP标头扩展名, 或者可以使用标头检查器联机工具。
  • 由于文章太长, 我将在下一篇文章中讨论SSL配置。
隐藏HTTP标头中的服务器横幅和产品信息
设置生产环境时可能要做的首要任务之一是在标头中屏蔽IHS版本和Server Banner。这不是很关键, 但被认为是信息泄漏漏洞的低风险, 对于符合PCI DSS的应用程序必须做到这一点。
让我们看一下默认配置下不存在(404)请求响应的方式。
IBM HTTP Server安全性和强化指南

文章图片
哦, 不, 这表明我正在使用IBM HTTP Server以及服务器IP和端口号, 这很丑陋。隐藏它们。
解决方案:–
  • 在IHS的httpd.conf文件中添加以下三个指令。
AddServerHeader Off ServerTokens Prod ServerSignature Off

  • 保存文件并重新启动IHS
通过访问不存在的文件进行验证。你也可以使用HTTP标头工具来验证响应。
IBM HTTP Server安全性和强化指南

文章图片
好多了!现在, 它不提供产品, 服务器和端口信息。
禁用Etag
Etag标头可以揭示inode信息, 并可以帮助黑客执行NFS攻击。默认情况下, IHS会显示etag, 这是纠正此漏洞的方法。
IBM HTTP Server安全性和强化指南

文章图片
解决方案:–
  • 在根目录中添加以下指令。
FileETag none

例如:
< Directory />     Options FollowSymLinks     AllowOverride None     FileETag none < /Directory>

  • 重新启动IHS服务器以使其生效。
IBM HTTP Server安全性和强化指南

文章图片
使用非根帐户运行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 ihsadmin Group ihsadmin

保存httpd.conf并重新启动IHS服务器。这将帮助IHS以ihsadmin用户身份启动。
在Cookie中实现HttpOnly和Secure标志
保护cookie的安全性和仅使用httponly可以帮助你降低XSS攻击的风险。
解决方案:– 为了实现这一点, 你必须确保在httpd.conf中启用了mod_headers.so。
如果不是, 请取消注释httpd.conf中的以下行
LoadModule headers_module modules/mod_headers.so

并在Header参数下面添加
Header edit Set-Cookie ^(.*)$ $1; HttpOnly; Secure

保存配置文件并重新启动Web服务器。
缓解点击劫持攻击
点击劫持技术众所周知, 攻击者可以诱骗用户单击链接并在用户不知情的情况下执行嵌入式代码。
解决方案:–
  • 确保启用了mod_headers.so并在httpd.conf文件中添加以下header参数
Header always append X-Frame-Options SAMEORIGIN

  • 保存文件并重新启动服务器。
通过访问URL进行验证, 它应该具有X-Frame-Options, 如下所示。
IBM HTTP Server安全性和强化指南

文章图片
配置监听指令
如果服务器上有多个以太网接口/ IP, 则适用。建议在” 监听” 指令中配置绝对IP和端口, 以避免转发DNS请求。这在共享环境中很常见。
解决方案:–
  • 在监听指令下的httpd.conf中添加预期的IP和端口。例如:-
Listen 10.0.0.9:80

添加X-XSS-Protection
如果用户在浏览器中禁用了以下标头, 则可以通过实施以下标头来应用Cross for Site Scripting(XSS)保护。
< IfModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" < /IfModule>

禁用跟踪HTTP请求
在Web服务器中启用跟踪方法可能会导致跨站点跟踪攻击, 并可能窃取Cookie信息。默认情况下, 此功能已启用, 你可以使用以下参数禁用它们。
解决方案:–
  • 修改httpd.con文件并在下面添加行
TraceEnable off

  • 保存文件并重新启动IHS实例以使其生效。
【IBM HTTP Server安全性和强化指南】我希望以上技巧可以帮助你针对生产环境强化IBM HTTP Server。

    推荐阅读