我打算部署一个包含敏感数据的内部应用。我建议我们将它放在一台不暴露于普通互联网的机器上,只是我们的内部网络。 I.T.部门拒绝了这个建议,说为一个申请预留一台整机是不值得的。 (该应用程序有自己的域名以防相关,但我被告知他们无法根据URL阻止请求。)
在应用程序内部,我将其编程为仅尊重请求,如果它们来自内部I.P.地址,否则它只显示一个页面,上面写着“你不能看这个。”我们的内部地址都有一个独特的模式,所以我正在检查请求I.P.反对正则表达式。
但是我对这个策略很紧张。对我来说这感觉有点笨拙。这是否相当安全?
答案 0 :(得分:15)
IP过滤总比没有好,但它有两个问题:
IP地址可能会被欺骗。
如果内部计算机遭到入侵(包括客户端工作站,例如通过安装特洛伊木马程序),则攻击者可以将其用作跳转主机或代理来攻击您的系统。
如果这是非常敏感的数据,它不一定需要专用机器(尽管这是最佳做法),但您至少应该以某种方式验证您的用户,并且不要运行灵敏度较低(并且更容易受到攻击)应用程序在同一台计算机上。
如果它真的很敏感,请让安全专业人员检查你正在做什么。
编辑:顺便说一句,如果可以的话,抛弃正则表达式并使用类似tcpwrappers或OS中的防火墙功能(如果有的话)。或者,如果您的应用程序可以使用不同的IP地址,请使用防火墙阻止外部访问。 (如果你没有防火墙,那么你也可以放弃并通过电子邮件将数据发送给攻击者: - )
答案 1 :(得分:12)
我更愿意使用SSL和一些证书,或者使用简单的用户名/密码保护而不是IP过滤。
答案 2 :(得分:4)
这完全取决于你真正需要它的安全性。
我假设您的服务器是外部托管的,而不是通过VPN连接。因此,您正在检查您的HTTPS(您使用的是HTTPS,不是吗?)站点的请求地址是否在您自己组织的网络中。
使用正则表达式来匹配IP地址听起来如果有,你不能像其他人一样使用网络/网络掩码吗?
它真的需要多安全? IP地址欺骗并不容易,欺骗性数据包不能用于建立HTTPS连接,除非它们还操纵上游路由器以使返回数据包重定向到攻击者。
如果您需要它非常安全,只需让您的IT部门安装VPN并通过专用IP地址空间进行路由。为这些私有地址设置IP地址限制。通过基于主机的VPN路由的IP地址限制仍然是安全的,即使有人危及上游默认网关。
答案 3 :(得分:4)
如果您的应用程序正在检查IP地址,那么它非常容易受到攻击。此时,您在IP过滤真正需要的路由器上没有任何保护。您的应用程序可能正在检查发送IP地址的HTTP标头信息,这非常容易欺骗。如果您在路由器上锁定IP地址,这是一个不同的故事,并将为您提供一些关于谁可以从哪里访问该网站的真正安全性。
如果您正在进行内部访问应用程序,那么除非您尝试从组织内部的各方获取信息,或者您需要客户端证书,否则SSL不会为您带来太多帮助。这假设您不会从外部连接访问该站点(VPN不计数,因为您正在隧道进入内部网络,并且在那时技术上是其中的一部分)。它既不会受到伤害,也不会很难设置,只是不要认为它将成为解决所有问题的方法。
答案 4 :(得分:1)
如果它受到IP地址的限制,那么虽然它们可以欺骗IP地址,但它们将无法得到答复。当然,如果它暴露在互联网上,它仍会受到针对应用程序以外的攻击的打击。
答案 5 :(得分:1)
我对资源问题的第一个想法是询问是否有可能在虚拟机上运行一些魔法?
除此之外 - 如果您检查的IP地址是您知道的IP属于应该访问应用程序的计算机或本地IP范围的IP,那么我看不出它是如何不够安全的(I我实际上在一个项目中使用了类似的方法,尽管这个网站被“隐藏”并不是非常重要。)
答案 6 :(得分:1)
仅仅因为所有内部IP都与给定的正则表达式匹配,这并不意味着匹配给定正则表达式的所有IP都是内部的。因此,您的正则表达式可能会导致安全性失败。
我不知道您使用什么技术构建您的网站,但如果是Windows / ASP.net,您可以在发出请求时根据其Windows凭据检查请求计算机的权限。
答案 7 :(得分:1)
与所有安全性一样,它本身也没用。如果您必须将其放在面向公众的网络服务器上,请使用IP白名单,使用基本用户名/密码身份验证,使用 SSL,使用一个不错的监控设置, 一个最新的服务器应用程序。
那说,让服务器公开访问,然后将其限制为仅内部IP地址有什么意义?看起来它基本上是重新发明NAT免费提供给你的东西,而且只有内部服务器,你还要担心网络服务器漏洞等等。
你似乎没有任何东西可以通过外部访问获得任何东西,并且让它只在内部有许多好处..
答案 8 :(得分:0)
您的安全性与最薄弱的环节一样强大。在宏伟的计划中,欺骗知识产权是孩子的游戏。使用SSL并要求客户端证书。
答案 9 :(得分:0)
首先根据管理关系区分不同类型的IP vpn,而不是将节点互连的技术。一旦定义了关系,就可以使用不同的技术,具体取决于安全性和服务质量等要求。
答案 10 :(得分:0)
也许这会有所帮助?我一直在寻找相同的答案,并从Red Hat Linux Ent中找到了这个stackoverflow以及这个想法。我很快就会试一试。我希望它有所帮助。
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP
其中0/24是您要保护的LAN范围。我们的想法是阻止面向(转发)设备的“互联网”设备欺骗本地IP网络。
参考:http://www.centos.org/docs/4/html/rhel-sg-en-4/s1-firewall-ipt-rule.html
答案 11 :(得分:0)
一个合适的防火墙可以防止IP欺骗,并不像说欺骗你的来电显示那么容易,所以由于欺骗危险而使用IP过滤的参数是否有点过时。安全性最好应用于层中,因此您不仅仅依赖于一种机制。这就是为什么我们有WAF系统,用户名+密码,第3层防火墙,第7层防火墙,加密,MFA,SIEM和许多其他安全措施,每个都增加了保护(成本增加)。
如果这是您正在谈论的Web应用程序(从您的问题中不清楚),解决方案相当简单,无需高级安全系统的成本。无论是使用IIS,Apache等,您都可以基于每个应用程序将与应用程序的连接限制为特定目标URL以及源IP地址 - 无需更改您的应用程序。防止基于IP的Web浏览应用程序,加上IP源限制,可以为您提供针对休闲浏览/攻击的重要保护。如果这不是一个Web应用程序,您必须更加具体,以便人们知道基于操作系统的安全性(由其他人提出)是否是您唯一的选择。
答案 12 :(得分:0)
正如其他人所提到的,IP白名单易受IP欺骗和中间人攻击。在MITM上,请考虑某些交换机或路由器已被泄露并将看到“回复”。它既可以监控甚至改变它们。
还要考虑使用SSL加密的漏洞。根据不同的努力,这也可以在MITM中得到挫败,以及众所周知的重复使用素数等等。
根据您的数据的敏感性,我不会满足于SSL,但会使用StrongSWAN或OpenVPN以获得更高的安全性。如果处理得当,这些将更不容易受到MITM的攻击。</ p>
单独依赖白名单(即使使用SSL)我会考虑“低等级”,但可能足以满足您的需求。只是敏锐地意识到其含义,不要陷入“虚假安全感”的陷阱。