专栏首页小白程序猿别再傻傻地写代码,程序认证安全防护的知识你了解吗?

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

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

一、密码传输

登录页面及所有后组需要认证的页面必须通过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、 记录所有账户锁定的登录;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 添加人员-Thinkphp5.1开发后台管理系统

    今天来说下添加人员(后台管理人员),昨天写了登录操作,今天我们来添加人员,为了追求真实性,字段设置为:id、create_time、update_time、di...

    申霖
  • PHP程序员十大必备工具

    总结来说就是小而精,7.4版本的软件包只有2.9M,比一般的IDE小数十倍,但是Notepad++的功能确是很全面的,代码高亮,语法折叠,宏功能,内置支持27种...

    申霖
  • Pycharm安装、激活和使用教程

    Pycharm是一款出色的IDE,以前写PHP代码的时候使用的PHPstrom,也是一款出色的编辑器工具,都是由JetBrains出品,pycharm提供调试、...

    申霖
  • MyBatis-逆向工程「Generator使用指南」

    当你利用搜索引擎搜索Maven会出来很多名词:对象模型、标准集合、依赖管理系统这是啥啊?差不多得你会用了Maven才会理解这些名称吧,我找到了一个博主的博客

    用户1093975
  • Nginx模块开发指南:使用C++11和Boost程序库

    Nginx 是由俄罗斯工程师Igor Sysoev 开发的一个高性能Web 服务器,运行效率远超传统的Apache、Tomcat,是世界第二大Web 服务器,被...

    用户3157710
  • 机器学习基础:相似度和距离度量究竟是什么

    在推荐系统中,我们经常谈到「相似度度量」这一概念。为什么?因为在推荐系统中,基于内容的过滤算法和协同过滤算法都使用了某种特定的相似度度量来确定两个用户或商品的向...

    机器之心
  • 公众号+增量爬虫开发分享

    七夜安全博客
  • IMSI过滤如何简化CSP故障排除

    IMSI(国际移动用户识别码,International Mobile Subscriber Identity),是用于区分蜂窝网络中不同用户的、...

    用户6792078
  • 业界 | 为什么Jupyter是数据科学家们实战工具的首选?

    大型综合巡天望远镜(Large Synoptic Survey Telescope,LSST)坐落在智利安第斯山脉帕穹山脊,计划 2022 年启用。它将自动探测...

    CDA数据分析师
  • 业界 | 为什么Jupyter是数据科学家们实战工具的首选?

    大型综合巡天望远镜(Large Synoptic Survey Telescope,LSST)坐落在智利安第斯山脉帕穹山脊,计划 2022 年启用。它将自动探测...

    机器之心

扫码关注云+社区

领取腾讯云代金券