使用PHP
从外部攻击中保护内部网网站的最佳方法是什么?
答案 0 :(得分:11)
这是一个令人震惊的发人深省的问题,我很惊讶你没有得到更好的答案。
你要为面向外部的应用程序做的一切,然后是一些。
如果我正确理解你,那么你会问一个问题很少很少有开发人员在问自己。大多数公司的防守都很差,一旦攻击者进入,他就进入了。显然你想把它提升到一个水平。
那么,我们在想什么样的攻击呢? 如果我是攻击者并且我正在攻击您的Intranet应用程序,那么我必须以某种方式访问您的网络。这可能不像听起来那么困难 - 我可能会尝试使用鱼叉式网页钓鱼(将电子邮件定位到您组织中的个人,包含恶意软件附件或指向安装恶意软件的网站的链接)以在内部计算机上安装木马。
一旦我完成了这项工作(并控制了内部PC),我将尝试针对任何互联网应用程序尝试的所有相同攻击。
但是,这不是故事的结尾。我有更多的选择:如果我有一个用户的PC,那么我可以使用键盘记录器来收集用户名和密码,以及查看所有电子邮件中的姓名和电话号码。
有了这些,我可以直接登录您的应用程序。我甚至可以学习管理员用户名/密码。即使我没有,一个名单和电话号码列表以及对公司术语的感觉给了我一个体面的机会,让我在公司内部进行更广泛的访问。
保护网络应用的常见答案:
答案 1 :(得分:9)
如果是在内部网络上,为什么甚至可以从外部访问应用程序?防火墙规则至少应该到位。
答案 2 :(得分:1)
最好的方法?禁用直接外部访问!
如果员工需要来使用它(比如外联网风格的网站),你应该让他们进入VPN。通过VPN,你有更多的身份验证选项,其中大部分是更多的安全,而不是从互联网上访问您的内部网服务器。
另一个选项,这仅在数据是公共安全的情况下才有效,即将内部网服务器安排为推送数据到另一个可从外部访问的服务器。我说推,因为你真的不希望这台服务器有权访问你的网络。让您的网络服务器完成工作。
答案 3 :(得分:1)
保护它的最佳方法是什么?请勿将其连接到网络。让您的用户通过单一控制台进入一个看守的房间,运行Mosaic。
哦,你想要它易于使用吗?
如果你忘了这些简单的规则,你可以找到你的应用程序在所有报纸的头版上主演,就像雅虎邮件一样。
答案 4 :(得分:1)
如果可能的话,我会回复@Oli并支持VPN方法。但是,如果由于任何原因您需要比此更多的任意访问,则应使用SSL来保护任何身份验证。除了密码验证/ IP地址验证之外,还应该考虑将SSL与客户端证书一起使用。
答案 5 :(得分:0)
您只能允许从php应用程序本身访问内部IP。也不要忽视通常的安全性和最佳实践。输入验证和输出编码(仅限白名单),带有哈希密码的用户帐户等。