我怎样才能让它看起来好像我没有运行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