前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >别再傻傻地写代码,程序认证安全防护的知识你了解吗?

别再傻傻地写代码,程序认证安全防护的知识你了解吗?

作者头像
申霖
发布2020-02-10 12:18:57
9720
发布2020-02-10 12:18:57
举报
文章被收录于专栏:小白程序猿小白程序猿

Web的安全防护已经讲过一些知识了,下面继续说一下安全防护中的密码传输、敏感操作二次认证、客户端强验证、认证的错误消息、防止暴力破解、日志与监控等。

1577882599683979.jpg
1577882599683979.jpg

一、密码传输

登录页面及所有后组需要认证的页面必须通过SSL、TSL或其他的安全传输方式进行访问,初始登录页面必须使用SSL、TSL访问,否则攻击者可能会更改登录表单的action属性,导致用户登录凭证泄露,如果登录后未使用SSL、TSL访问认证页面,攻击者坑内会窃取未加密的会话ID,从而危及用户当前活动会话,同事,还应该尽可能对密码进行二次加密,然后在进行传输。

二、敏感操作二次认证

为了减轻CSRF、会话劫持等漏洞的影响,在更新账户敏感信息(如用户密码,电子邮箱,交易地址等)之前需要验证账户的凭证,如果没有这种策略,攻击者不需要知道用户的当前凭证,就能通过CSRF、XSS攻击执行敏感操作,此外,攻击者还可以临时接触用户设备,访问用户的浏览器,从而窃取会话Id来接管当前会话。

三、客户端强验证

应用程序可以使用第二因素来检测用户是否可以执行敏感操作,典型示例为SSL、TSL客户端身份验证,又称SSL、TSL双向校验,该校验由客户端和服务端组成,在SSL、TSL握手过程中发送各自的证书,就像使用服务端证书想证书颁发机构(CA)校验服务器的真实性一样,服务器可以使用第三方CS或自己的CA校验客户端证书的真实性,为此,服务端必须为用户提供为其生成的证书,并为证书分配相应的值,以便用这些值确认证书对应的用户。

四、认证的错误信息

认证失败后的错误信息,如果未被正确实现,可被用于枚举用户ID与密码,应用程序应该以通用的方式进行相应,无论用户名还是密码错误,都不能表名当前用户的状态。

错误的相应示例:

登录失败,无效密码; 登录失败,无效用户; 登录失败,用户名错误; 登录失败,密码错误;

正确的相应示例:

登录失败,无效用户名或密码

某些应用程序返回的错误信息虽然相同,但是返回的状态码却不相同,这种情况下也可能会暴露账户的相关信息。

五、防止暴力破解

在Web应用程序上执行暴力破解是一件非常容易的事情,如果应用程序不会由于多次认证失败导致账户禁用,那么攻击者将有机会不断地猜测密码,进行持续的暴力破解,直至账户被攻陷。普遍的解决方式有多因素认证、验证码、行为校验(阿里云、极验等均提供服务)

六、日志与监控

对认证信息的记录和监控可以方便的检测攻击和故障,确保记录以下3项内容:

1、 记录所有登录失败的操作;

2、 记录所有密码错误的操作;

3、 记录所有账户锁定的登录;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、密码传输
  • 二、敏感操作二次认证
  • 三、客户端强验证
  • 四、认证的错误信息
  • 五、防止暴力破解
  • 六、日志与监控
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档