• 接口安全问题


    借贷平台产品被接口攻击。

    一。现象:管理系统后台不能访问,请求超时,APP不能登录,请求超时。

    二。该接口被攻击的原因:

      1.权限检查没有做到位。权限检查分为通行权限和数据权限。这次接口攻击的操作者注册APP后,登录取得token,然后利用token获取通行权限。但是在接口里面没有对访问接口的用户做数据权限检查,即没有检查是否有权限查看该数据。

      2.自增Id问题。因为是系统重构,而旧系统中的数据库表主键都是自增id。这个id就给攻击者很轻松的拿到数据的主键,再模拟请求,获取数据。自增id,优点是有,但是缺点也很多,尤其是2C的系统,流量较大,数据较重要,最后走向分库分表,自增id就会有很大的 坑。以前的旧系统业务id关联较多,又因为重构时间紧,就没有对已有数据做修改。但是新产生的主键,我们都按照雪花算法生成的,方便以后维护。

    三。接口被攻击后怎么处理的:

      1:对该接口的访问频次做了限定,如下图

                                                 

      2:锁定用户IP,由于日志输出较全,所以很快确定了被攻击的接口和攻击人的ip。马上锁定该ip,限制访问。

      3:修改接口。这个是后续处理,重新设计了接口的参数,增加了权限检查,对出参做了脱敏处理。

    四。如何确定自己的接口被攻击?

    这次的事故是因为攻击人很猖狂,在下午工作时间发起攻击,而且很暴力,不求隐蔽,导致系统出现网络请求大量拥堵,系统卡顿,最后被发现。但是有很多攻击都是很隐蔽,而且攻击时段都是在凌晨时段发生的,用户活跃性低,系统不会轻易发生较大稳定事故。攻击者无声无息的偷走你的数据。针对这种情况,就要根据你的日志输出来确定了。要养成查看日志的习惯,统计前一天接口访问频次较多的ip和接口。根据实际情况确定是否被攻击。这种统计是大概统计就可以发现,也可以写系统功能,专门分析日志文件,精确统计分析接口攻击的风险。

    五。如何预防接口攻击。

    开发人员要在接口设计,实现的过程中把自己放在攻击者的角度,设身处地的想想如果你想要通过这个接口获取你的数据会怎么做。当然了,最基本的手段就是,ip访问限制,权限检查(包括通行证和数据权限),数据脱敏处理等。这些都要根据实际业务进行处理。

  • 相关阅读:
    30个实例详解TOP命令
    CentOS6 启动流程图文解剖
    Linux常用性能检测命令解释
    Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity) 转
    linux系统中如何查看日志 (常用命令2)
    Linux下常用的shell命令记录1
    python import as from
    内存的大小端模式
    opencv笔记1
    代码不仅仅考虑性能
  • 原文地址:https://www.cnblogs.com/shm-1255/p/10976660.html
Copyright © 2020-2023  润新知