浅谈API安全

前言

API 有很多分类,本文要讲述的甚至整个行业里面探讨的 API 安全 ,其实指的都是 Web 应用的 API,也就是前后端分离后的数据交互接口或者应用与第三方的数据交互接口。API 是现代 Web 编程主要的数据交互方式,API 安全已成绝大多数企业的严重问题,只有极少企业完全有能力解决 API 安全性问题。随着越来越多的企业通过 api 访问数据和服务,这些 API 成为数据盗窃和软件攻击的诱人目标!API 正在成为大多数现代应用程序的支柱,因此它们的安全性是现代信息安全的核心。保障 API 的安全性已成为当下 WEB 编程的首要目标。

对于企业而言,在生产经营中应提高数据安全意识,通过技术手段加强安全防范,定期修补安全漏洞,加强安全管理。对于公民个人而言,应当警惕个人信息数据泄露,同时自觉履行数据安全保护义务,不得窃取或以其他非法方式获取、使用数据,否则将触及法律红线。

在这里插入图片描述

什么是 API

API一般指应用程序编程接口。 API主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。是一种为客户提供服务的方式。

几种主流 API 架构

各种针对交互的 api,本质上相当于是应用层的一个前后端数据交互的协议

REST API

REST 是一种风格
REST 的作用是将我们查询(view),创建(create),编辑(edit)和删除(delete)直接映射到 HTTP 中已实现的GET,POST,PUT 和 DELETE方法
比如定义一个有关书的接口:demo.com/books ,然后使用不同的 http 方法来定义行为。GET 查询,POST 创建,PUT 编辑,DELETE 删除。这样改动之后 API 变得统一了,我们只需要改变请求方式就可以完成相关的操作,这样大大简化了我们接口的理解难度,变得易于调用。这就是 REST 风格的意义!

json 由于其轻量、易读的优点已经发展成了一种最常用的数据请求和响应格式。

GraphQL

一种用于 API 的查询语言

RPC

调用另一个系统的函数

SOAP

是一个 XML 格式的、高度标准化的网络通讯协议

API 安全

本文以 HTTP 接口为例讲解 API 安全

在这里插入图片描述

API 安全的目标

  • 机密性:确保信息只被预期的读者访问
  • 完整性:防止未授权的创建,修改和删除
  • 可用性:当合法用户需要访问 API 时,API 总是可用的
  • 可追溯:谁什么时间做了什么全都是要记录日志
    API 安全计划的最终目标:零信任

常见的 API 风险

1.安全风险:包括跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、SQL 注入等欺诈行为 2.性能风险:API 接口的性能可能受到访问量的影响,如果访问量过大,可能导致 API 接口响应变慢或者崩溃。甚至大流量本身就是由 DDOS 拒绝服务攻击引起的 3.数据风险:数据删除、数据丢失、数据损坏、数据篡改、意外修改、数据泄露 4.业务风险:越权,抵赖(否认做过的行为)

安全机制

针对各种常见风险,都有对应的安全机制,认证机制、授权机制、加密机制、日志机制、流量控制机制

认证机制

API 认证机制是保护 API 的首要方式,其目的是确定 API 请求的来源和合法性。常见的认证机制包括基于令牌(Token)的认证、OAuth 认证等。

授权机制:访问控制

访问控制机制是限制 API 访问权限的一种方式,它可以确保 API 的数据仅被授权的用户或应用程序访问。常见的访问控制机制包括角色基础的访问控制(RBAC)、属性基础的访问控制(ABAC)等。

加密机制

加密机制是保护 API 数据传输和存储安全的一种方式,它可以保护 API 数据在传输过程中不被窃取或篡改。常见的加密机制包括 HTTPS 协议、TLS 协议等。

监控与日志机制

监控与日志机制是检测和记录 API 操作的一种方式,它可以帮助开发者发现和解决 API 存在的安全漏洞或攻击行为。常见的监控与日志机制包括 API 网关、日志分析工具等。

流量控制机制

API 在面临大量合法或非合法请求时可能会耗尽 API 资源和带宽,从而使 API 系统瘫痪或无法正常工作。采用有效的 API 限流和防御机制,保证合法访问的可用性和避免非法的访问。

结合上面的图,我们可以更好的理解安全机制,最右面的是我们提供的 API,最左边是用户,在这之间就需要我们加入安全机制。

  • 首先加密是贯穿在整个安全机制流程中的;
  • 然后是流控,可以把一些不必要的请求拦截掉,不用走后面的流程;
  • 接下来是认证,来确保用户的身份;
  • 然后是日志,将用户做了什么记录下来;
  • 最后是授权,来决定请求是否可以被执行。

这些安全机制可以有效地保护 API 的安全,确保 API 的数据和功能不受到未经授权的访问和攻击。

常见攻击手段

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值