常识是,生活在可信网络内部的内部应用程序(如Exchange)在暴露于Internet时应该是反向代理. Microsoft建议使用UAG / TMG,因为它具有一些内置的安全功能. Mod_security在apache反向代理方案中具有类似的作用.但是,我看到很多安装都使用了反向代理,但没有使用这个额外的安全层.
为什么在这种情况下甚至打扰使用反向代理呢?如果您没有使用某些L7逻辑来缓解攻击,那么添加代理层与直接暴露应用程序有什么好处?
解决方法
从防御攻击的角度来看,当然不过滤进/出数据不会增加任何有价值的东西.有人可能会争辩说,没有事先考虑的代理实际上会降低安全性:
>引入了更大的复杂性,通常是复仇.
>透明度较低,多个日志和警报层需要每个事务的关联.
>通过其他子系统增加攻击面.
>系统的更多样化增加了人为错误的风险.
>每个系统都带有引入不确定性的错误,代理也不例外.
更不用说技术资源中的浪费(机器,存储,备份/恢复等).
另一方面,在其他方面可能会有与安全相关的胜利:
>负载平衡和故障转移的可能性.
>在接入层与服务层分离方面具有更大的灵活性(即更容易进行维护,重组等).
>未来的选项,可轻松引入过滤和诸如此类而无需争用服务层中的系统资源.
>分离除简单攻击特征码过滤之外的其他功能,例如重写逻辑或某些日志记录,例如使配置更容易,更改期间风险更小.
>在代理平台上可以更好地记录或知道某些功能,通过将它们从后端移开来提供更大的稳定性和控制能力或减少未知数.
我相信还有更多,这只是从头顶而来.