Security 通过源IP验证TCP连接是否安全?

Security 通过源IP验证TCP连接是否安全?,security,authentication,tcp,spoofing,Security,Authentication,Tcp,Spoofing,我正在开发一个应用程序,它通过internet接受来自客户端的连接。所有这些客户端都位于固定的IP地址上,将建立一个非加密的TCP连接 当前的计划是让服务器检查连接来自哪个IP,并且只允许已知IP列表中的客户端连接 这对IP欺骗有多安全 我的理由是,由于这是一个TCP连接,攻击者不能只是伪造其发送方IP(这很容易),而是必须确保数据包返回给他,因此他必须攻击路径上的所有路由器,这似乎相当困难 我知道我可以使用加密,比如SSH,但让我们继续讨论普通TCP连接有多安全的问题。首先,使用IP您不是在识

我正在开发一个应用程序,它通过internet接受来自客户端的连接。所有这些客户端都位于固定的IP地址上,将建立一个非加密的TCP连接

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

这对IP欺骗有多安全

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


我知道我可以使用加密,比如SSH,但让我们继续讨论普通TCP连接有多安全的问题。

首先,使用IP您不是在识别客户端,而是识别一些数字。即使IP是正确的,在用户的计算机上仍然可以有一个troyan,代替用户本身进行身份验证(因为我不知道您提供什么样的服务,我认为这可能是有意义的)

现在,如果一个人可以访问客户端和服务器之间的数据包通过的路由器之一,那么他几乎可以做任何事情——他可以以客户端的名义发送和接收数据包,或者他可以修改数据包(因为数据未加密)。此外,攻击者不需要攻击所有或一个路由器——他只需要访问(包括合法的)数据传输通道,无论是路由器本身还是电缆(可以切割和插入路由器)


综上所述,IP可以作为某种程度上加强欺骗的组件之一,但它不能成为主要的安全措施

首先,使用IP不是识别客户机,而是识别一些数字。即使IP是正确的,在用户的计算机上仍然可以有一个troyan,代替用户本身进行身份验证(因为我不知道您提供什么样的服务,我认为这可能是有意义的)

现在,如果一个人可以访问客户端和服务器之间的数据包通过的路由器之一,那么他几乎可以做任何事情——他可以以客户端的名义发送和接收数据包,或者他可以修改数据包(因为数据未加密)。此外,攻击者不需要攻击所有或一个路由器——他只需要访问(包括合法的)数据传输通道,无论是路由器本身还是电缆(可以切割和插入路由器)


综上所述,IP可以作为某种程度上加强欺骗的组件之一,但它不能成为主要的安全措施

不安全。BGP网关无法免疫攻击,因此,虚假路由可能被公布,IP可能被欺骗。

不安全。BGP网关无法抵御攻击,因此,虚假路由可能被公布,IP可能被欺骗。

在实际情况下,通过IP地址限制连接通常是一种很好的做法,因为它大大减少了攻击面,并使攻击的复杂性大大提高。如其他答案所述,您现在必须进行IP欺骗或攻击网络本身(虚假BGP路由等)

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


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

在实际情况下,通过IP地址限制连接通常是一种良好的做法,因为它大大减少了攻击面,并使攻击的复杂性大大提高。如其他答案所述,您现在必须进行IP欺骗或攻击网络本身(虚假BGP路由等)

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

最后,您能否要求客户机和服务器相互验证