2011-02-10 52 views
0

我正在开发一个接受客户端通过互联网连接的应用程序。所有这些客户端都使用固定IP地址,并建立一个非加密的TCP连接。通过源IP安全认证TCP连接吗?

当前的计划是让服务器检查哪个IP连接来自并且只允许来自知名IP列表的客户端连接?

IP欺骗的安全性如何?

我的推理是,由于这是一个TCP连接,攻击者不能伪造其发送者IP(这很容易),但必须确保数据包返回给他,因此他必须破解路径上的所有路由器,这似乎相当困难。

我知道我可以使用加密,如SSH,但让我们坚持普通TCP连接的安全性问题。

回答

2

通过IP地址限制连接在实际中通常是一种很好的做法,因为它大大减少了攻击面并使攻击的复杂性更高。正如其他答案中所述,您现在必须做一些类似IP欺骗,或攻击网络本身(错误的BGP路由等)。

也就是说,IP地址限制应该用作纵深防御方法的一个层次。你可以加密TCP流,没有太多的返工?也许SSL?如果你不能修改程序,那么网络怎么样?站点ti站点IPSEC VPN隧道并不难建立,因为几乎任何商业防火墙都支持它们。甚至一些soho路由器也可以修改为支持IPSEC(例如OpenWrt和OpenSwan)。

最后,您是否可以要求客户端和服务器进行相互验证?

0

首先,使用IP你不能识别客户端,但只是一些数字。 即使如果IP是正确的,用户的计算机上仍然可能存在Troyan,而不是用户本身的身份验证(因为我不知道您提供的是哪种服务,我认为这可能有意义)。

现在,如果有人可以访问客户端和服务器之间的数据包所经由的路由器之一,那么他几乎可以做任何事情 - 他可以以客户端的名义发送和接收数据包,或者他可以修改他们(因为数据未加密)。此外,攻击者不需要破解所有或一个路由器 - 他只需要访问(包括合法的)到数据所在的通道,无论是路由器本身还是电缆(可以将其切断和路由器可以插入)。因此,总而言之,IP可以被用作在一定程度上强化欺骗的组件之一,但它不能成为主要的安全措施。

1

不安全。 BGP网关不会受到攻击,因此,可以通告虚假路由并且IP可能被欺骗。