Security 隐藏后端技术堆栈

Security 隐藏后端技术堆栈,security,obfuscation,Security,Obfuscation,作为安全措施,我想隐藏我在服务器上使用的技术堆栈。有什么有效的方法可以做到这一点?我想到 1) 使用mod_rewrite或rewrite模块隐藏任何页面扩展名,如.php或.aspx 2) 关闭所有错误报告 1b)使用mod_rewrite故意提供误导性的扩展,比如将php页面伪装成aspx 2b)抛出误导性错误(1b),使我的php页面显示类似asp的错误。您可以在响应中添加假的服务器:和/或X-Powered-By头,假装它是由其他服务器生成的。(或,服务器:我的不可打包服务器) 不显示准

作为安全措施,我想隐藏我在服务器上使用的技术堆栈。有什么有效的方法可以做到这一点?我想到

1) 使用mod_rewrite或rewrite模块隐藏任何页面扩展名,如.php或.aspx
2) 关闭所有错误报告

1b)使用mod_rewrite故意提供误导性的扩展,比如将php页面伪装成aspx

2b)抛出误导性错误(1b),使我的php页面显示类似asp的错误。

您可以在响应中添加假的
服务器:
和/或
X-Powered-By
头,假装它是由其他服务器生成的。(或,
服务器:我的不可打包服务器

  • 不显示准确的页面扩展名
  • 不要使用标准错误页
  • 确保web服务器和应用程序层(ASP.NET、PHP等)在浏览器标题中隐藏它们的存在)
  • 如果您的错误页面是动态的,那么假设这可能会以某种方式失败,并且您可以提供一组静态html页面,这些页面不是web服务器的默认页面
  • 确保我们所有的技术日志堆栈都配置为不在本地服务器以外的机器上的任何错误页面上显示堆栈跟踪。如果由于某种原因,您的所有自定义错误都失败了,那么用户可能会看到技术堆栈,但他们不会看到底层代码的窗口

  • 这是一项不可能完成的任务。您必须修改整个堆栈,在这种情况下,您将刚刚创建了新的错误版本,现在必须与供应商的版本保持同步

    要做到这一点,必须降低网站的安全性

    你可以做一些蹩脚的事情,比如删除X-Powered-By,或者如果使用ASP或PHP之类的已知会话生成方案,则可以更改会话生成方案。事实上,它不会阻止任何人真正想知道你在跑什么


    对于基本示例(它比这个要深入得多),一些web服务器将接受任何标题,因此我可以说
    getLolololHTTP/1.1
    ,它仍然可以工作。有些堆栈将使会话保持活动状态,有些堆栈则不会。您还可以看到堆栈上有哪些功能,因为web上的功能太多,而且根本不可能有任何堆栈支持完全相同的功能集。

    我认为您最好使用这些工具,首先创建一个更安全的应用程序。它不必是完美的。我只是希望它尽可能好,而不会给代码带来太多问题。