你怎么能模糊你正在运行Apache的事实?

我怎样才能让它看起来好像我没有运行Apache? 我认为最好的方法是看起来好像是lighthttpd或iis的另一种types的httpd。 我知道通过使用mod_security你可以将你的服务器签名变成任何东西:

SecServerSignature "Microsoft IIS" 

有没有人知道其他技巧遮蔽正在使用的HTTPD?

你为什么要这样做?

有很多明显的和非显而易见的方法,Apache的httpd显示自己。 花点时间在真正的安全上吧。 版本标识符,库存页面,HTTP头文件和加载的模块只是Apache httpd显示的一些方式。

运行Apache几个模块加载尽可能。 船注销到另一个主机,并做实时日志分析。

devise你的系统,以便妥协的Apache不会直接访问任何你试图保护。

有两种方法。 最简单的是把它添加到你的apacheconfiguration文件中:

 ServerSignature Off ServerTokens Prod 

另一个是在apache源文件中更改这个文件/src/include/httpd.h。 更改:

 #define SERVER_BASEVENDOR “Apache Group” #define SERVER_BASEPRODUCT “Apache” #define SERVER_BASEREVISION “” 

 define SERVER_BASEVENDOR: Microsoft define SERVER_BASEPRODUCT: Microsoft-IIS define SERVER_BASEREVISION: 5.0 

然后重新编译apache。

其他解决scheme可能会退出,尝试在谷歌上的“阿帕奇旗帜伪造”。

人们可以知道,Apache正在从股票错误页面(404,500等)的样式和内容中运行。 指定你自己的。

正如霍尔斯特所说,你应该真的质疑你为什么要掩盖你的主人。 模糊是安全的一个机制,但应该被认为是最弱的,因此在一个更强大的安全体系结构中,这只是一个层面。

我强烈build议审查Apache的CIS基准,并实施可在您的环境中使用的任何东西。 与NIST一起,互联网安全基准中心经常被用作标准configuration的基础。 这很好,因为来自Nessus的Professional Feed包含用于与CIS基准进行比较的审计文件。 而且,这使您走上了一个标准configuration的道路,这个标准configuration可以很容易地被审计,并大大降低了试图充分pipe理多种不同系统的风险。

回到原来的问题,CIS Apache基准testing版v2.2推荐以下信息泄漏保护设置

 ServerTokens Prod ServerSignature Off