zoukankan      html  css  js  c++  java
  • 一次非核心接口(信息提示类)被刷引发的思考

    自从上次接入钉钉监控后。今天早上起来发现测试环境 公告信息接口 凌晨3点100多条NPE告警~

    第一个反应接口被异常访问:这个接口没有定时任务等任何调用的可能~

    果然查看ZIPKIN发现了类似如下的请求:

    确定问题后,查看代码逻辑,果然该服务的所有接口都没有进行auth2校验,但是业务需要部分接口不能权限校验(例如:不登录就访问) 

    解决步骤:

      1、无须暴露的接口增加auth2校验

      2、日志中增加IP地址的打印,方便查看日志时候显示请求来源

    反思:

     项目中由于业务需要(不登录就访问)直接访问的接口,如何进行有效控制?

     1、调用方增加签名等合法性校验(本质说和auth2一种方式)

          优点:安全性高

          缺点:简单接口确增加了调用端和接收端交互的复杂性

     2、网关增加请求控制(IP的黑白名单。IP访问次数等)

         优点:统一的处理,针对业务更灵活可配置~

         缺点:实现更复杂

    那么网关中IP访问限制和黑白名单如何做,需要解决以下几个问题:

    1、如何识别正常访问和异常访问?(一段时间同一接口访问次数太多?高峰期和低峰期是否不同?

    2、IP访问异常后拒绝策略是什么?(一段时间访问访问异常接口不能访问?高峰期和低峰期是否不同?

    3、是否不同业务的识别方法和拒绝策略不一样?(有些接口访问频率高,有些访问频率低?

    4、有些业务是否之后IP在白名单中才能访问?(只对第三方提供的接口?

    5、IP访问异常的通知?(请求被识别为异常是否通知到服务维护人员?)

  • 相关阅读:
    js中的replace替换全部
    Oracle中创建数据链
    Hbuildx+vue+axios+element ui初学部署
    html5抠图
    Oracle误删除数据的恢复方法
    vs 生成项目自动关闭当前运行程序
    Mvc项目在iis上面显示文件夹 输入地址页面也打不开
    FastReport快速打印(.net)
    脚本之家
    VS自定义作者、创建时间
  • 原文地址:https://www.cnblogs.com/mxmbk/p/9569438.html
Copyright © 2011-2022 走看看