加密ASP.NET请求和响应以避免“中间人”攻击

时间:2014-03-19 14:04:50

标签: asp.net security ssl

是否有一种技术使用良好的加密标准来加密通过SSL / HTTPS在ASP.NET Web应用上的所有请求,以确保在Web应用程序用于公共WiFi连接时(咖啡馆,餐馆,酒店等)如果网络中有什么东西捕获原始数据包,那么数据就无法读取?

内置视图状态加密是否足够好?

<configuration>
   <system.web>
      <machineKey validation="3DES" />
   </system.web>
</configuration>

1 个答案:

答案 0 :(得分:3)

通常,减轻中间人攻击的方式是通过SSL运行站点,这将加密客户端(Web浏览器)和服务器之间的整个通道。这与&lt; machineKey&gt;完全无关。 element,允许服务器通过不受信任的客户端往返敏感数据。

但是,确定您尝试减轻的特定攻击非常重要。例如,SSL可以帮助防止第三方窃听或篡改客户端和服务器之间的数据,但它不会减轻对服务器的可用性攻击。

了解如何正确配置这一点也很重要:必须通过SSL提供每个页面(包括登录页面)才能使保护生效。您不能拥有混合模式内容(指向HTTP .js文件的SSL页面)。设置HSTS标头以为客户端提供额外的安全性是最佳做法。

您应该知道这如何集成到您网站的完整安全性故事中。使用SSL是不够的。如果您的网站上存在XSS或XSRF(CSRF)漏洞,您的客户仍然容易受到恶意第三方攻击。

StackOverflow和其他论坛中有很多关于这些的好信息。 https://owasp.org/也是值得尊敬的资源。最后,如果您的网站非常重要/敏感,以至于您担心攻击者会窃听您的流量,那么您应该考虑聘请专业的安全审核员。