Client Server套接字安全性

时间:2009-11-24 21:26:29

标签: security client-server

假设我们有服务器S和一些客户端(C),并且每当客户端更新服务器时,服务器上的内部数据库都会更新并复制到其他客户端。这都是使用Intranet环境中的套接字完成的。 我相信攻击者可以相当轻松地嗅到这个纯文本流量。我的同事们认为我过于偏执,因为我们身处防火墙后面。

我是否过于偏执?你知道任何利用这种情况以及可以采用不同方式做什么的漏洞(请链接)。客户端用Java重写,但服务器仍在使用C ++。 代码中的任何东西都可以防止攻击吗?

8 个答案:

答案 0 :(得分:5)

在公司的防火墙内部,您可以从外部直接进行黑客攻击。但是,我不会麻烦挖掘的统计数据声称,企业数据的大部分损害都是从INside完成的。其中大部分都是简单的事故,但是员工心怀不满并且没有被发现的原因各不相同;如果您的数据敏感,他们可能会以这种方式伤害您的公司。

关于如何处理个人身份证数据,还有大量法律规定。如果您正在处理的数据属于那种类型,那么在公司内部不经意地处理它也可能会使您的公司面临诉讼。

解决方案是使用SSL连接。您希望为此使用预打包的库。您为两端提供私钥/公钥,并使用通常的文件访问权限保持私钥隐藏,并且嗅探问题主要得到解决。

答案 1 :(得分:3)

你的同事很天真。

一个高调的攻击发生在Heartland Payment Systems,一个信用卡处理器,人们会对安全性非常小心。假设防火墙后面的内部通信是安全的,他们没有使用像SSL这样的东西来确保他们的隐私。黑客能够窃听该流量,并从系统中提取敏感数据。

以下是another story对攻击本身的更多描述:

  

鲍德温称之为“相当不错   复杂的攻击,“他说它有   一直很难发现   怎么回事。法医队   发现黑客“抓住了   用嗅探器恶意软件编号   走过我们的处理平台,“   鲍德温说。 “不幸的是,我们是   确信持卡人的姓名和   数字暴露。“数据,包括   发送的卡交易   Heartland的内部处理   平台,是未加密的,他   解释说,“正在进行交易   处理后,它必须是未加密的   表单以获取授权请求   出“。

答案 2 :(得分:3)

SSL提供加密和身份验证。 Java有built inOpenSSL是C / C ++常用的库。

答案 3 :(得分:1)

你可以做很多事情来防止中间人攻击。对于大多数内部数据,在防火墙/受IDS保护的网络中,您实际上不需要保护它。但是,如果您确实希望保护数据,则可以执行以下操作:

  1. 使用PGP加密签名和加密邮件
  2. 加密敏感邮件
  3. 使用哈希函数验证发送的邮件是否未被修改。
  4. 保护所有数据是一个很好的标准操作过程,但是保护数据的成本非常高。使用安全通道,您需要拥有证书颁发机构,并允许在涉及通信的所有计算机上进行额外处理。

答案 4 :(得分:1)

你是偏执狂。您谈论的是数据在理想情况下安全的内部网络中移动。

可以嗅到信息吗?是的,它可以。但是,已经破坏网络安全并进入防火墙的人会嗤之以鼻。这可以用无数种方式完成。

基本上,对于VAST大多数企业来说,没有理由加密内部流量。从公司内部获取信息几乎总是容易得多,甚至没有“嗅探”网络。大多数此类“攻击”来自那些只是被授权首先查看数据并且已经拥有凭证的人。

解决方案不是加密所有流量,解决方案是监控和限制访问,这样,如果任何数据受到威胁,就更容易检测谁做了这些,以及他们有权访问什么。

最后,考虑一下,系统管理员和DBA无论如何都要对整个系统进行全权委托,因为不可避免地,有人总是需要这种访问权限。加密所有内容以避免窥探它是不切实际的。

最后,你正在大肆宣传一些东西,就像在某个人的显示器底部用粘性物写的那样。

答案 5 :(得分:1)

您的数据库上有密码吗?我当然希望答案是肯定的。没有人会相信保护数据库的密码过于偏执。为什么您对通过网络传输的相同数据至少没有相同级别的安全性*。就像一个不受保护的数据库一样,网络上不受保护的数据流不仅容易被嗅探,而且还容易受到恶意攻击者的攻击。这就是我构建讨论的方式。

*同样的安全级别,我的意思是使用SSL,如某些人所建议的那样,或者只是必须使用原始套接字,使用众多可用加密库之一加密数据。

答案 6 :(得分:0)

几乎所有我使用的“重要”应用程序都依赖于SSL或其他一些加密方法。

仅仅因为您在Intranet上并不意味着您可能没有在可能试图嗅探流量的某个服务器或客户端上运行恶意代码。

答案 7 :(得分:0)

攻击者可以访问网络中的设备,该设备可以嗅探整个流量或客户端与服务器之间的流量,这是最低要求。 无论如何,如果攻击者已经在里面,嗅探应该只是你必须考虑的问题之一。

我所知道的公司并不多,它们在内部网内的客户端和服务器之间使用安全套接字,主要是因为成本较高,性能较低。