保护使用PHP
外部攻击开发的Intranet网站的最佳方法是什么?
这是一个惊人的发人深省的问题,我很惊讶你没有得到更好的答案.
你要为面向外部的应用程序做的一切,然后是一些.
如果我理解正确,那么你问这问题很少数开发商都在问自己.大多数公司的防御都很差,一旦攻击者进入,他就进入了.显然你想把它提升到一个水平.
那么,我们在考虑什么样的攻击?
如果我是攻击者并且我正在攻击您的Intranet应用程序,那么我必须以某种方式访问您的网络.这可能不像听起来那么困难 - 我可能会尝试使用鱼叉式网页钓鱼(将电子邮件定位到您组织中的个人,包含恶意软件附件或指向安装恶意软件的网站的链接)以在内部计算机上安装木马.
一旦我完成了这个(并控制了内部PC),我将尝试所有相同的攻击,我会尝试对任何互联网应用程序.
然而,这不是故事的结局.我有更多选择:如果我有一个用户的PC,那么我可以使用键盘记录器来收集用户名和密码,以及查看所有电子邮件中的姓名和电话号码.
有了这些,我可以直接登录您的应用程序.我甚至可以学习管理员用户名/密码.即使我没有,一个名单和电话号码列表以及对公司术语的感觉给了我一个体面的机会,让我在公司内部进行更广泛的访问.
首先,在所有技术解决方案之前:培训您的安全用户
保护Web应用程序的常见答案:
使用多重身份验证
例如用户名/密码和某种伪随机数小工具.
消除所有输入.
防止跨站点脚本和SQL注入.
使用SSL(也称为HTTPS).
这是一个痛苦的设置(编辑:实际上这正在改善),但它提供了更好的安全性.
坚持"职责分离"和"最低权利"的原则
换句话说,通过确保所有用户只拥有完成工作所需的权限(以及其他任何人的工作),您可以确保他们具有绝对最低的伤害能力.
如果它在内部网络上,为什么甚至可以从外部访问应用程序?防火墙规则至少应该到位.