防御中间人攻击

时间:2018-11-01 21:35:54

标签: security tcp client-server

我正在编写一个用于与客户端和服务器一起工作的程序,如何提供数据保护很有趣。中间人攻击防护策略是什么?

2 个答案:

答案 0 :(得分:0)

  1. 实施HTTPS并验证CA。
  2. 使用Strict-Transport-Security Header来防止SSL剥离MITM攻击。
  3. 使用Public Key Cryptography
  4. 加密数据
  5. 您可以给响应时间设置一个阈值(MITM攻击会延迟响应时间),但这在您几乎可以确定有效响应将低于阈值的环境中有效。

答案 1 :(得分:0)

只想添加到最后一个答案。如果您使用HTTP作为连接协议:

  1. 将HTTPS与TLS1.2一起使用
  2. 使用密钥固定检查服务器的证书是否有效
  3. 使用HSTS来防止将来发生其他的MitM攻击(防止HTTPS-> HTTP降级攻击)
  4. 不提供HTTP(或自动升级到HTTPS)
  5. 如果可能,请使用客户端ssl证书验证来验证客户端的身份
  6. 允许实现完美的前向保密(PFS)

如果您使用的是自定义协议(而非HTTPS),则:

  1. 实施TLSv1.2
  2. 使用证书固定(至少在服务器端,如果可能的话,在客户端)
  3. 确保您实现完美的前向保密性