八个立即实施的API安全措施
source link: https://netsecurity.51cto.com/article/706288.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
应用程序接口(API)形成应用程序之间的桥梁,使程序能够跨不同的代码库和硬件相互通信。但在居心不良的人的手中,API可能会造成潜在的巨大损害。
企业应用程序形成了越来越大的网络攻击面,但真正漏洞所在的往往是API。虽然可以通过标准防火墙和SIEM工具检测和阻止许多攻击,但通过API进行的攻击更加隐蔽,因为它们通常利用API已经允许的访问权限。这些漏洞远远超出了企业领域,甚至可能影响个人车辆。不安全的API无处不在,甚至被用来攻击特斯拉的电动汽车。
以下是如何通过实施以下策略来采用更严格的API安全态势。
1.为未来的用户而不是现在的用户构建
当API处于起步阶段时,它们通常旨在满足一小部分开发人员一起工作的需求。这些开发人员彼此认识,甚至可能共享一个办公空间,并且可能觉得几乎不需要实施身份验证协议来确定每个人都是他们声称的身份。他们为什么要这样做?不久之后,一个特别有用的API从团队中脱颖而出,它进入了比最初预期的更广泛的用户网络中。适当的安全措施应该在漏洞出来之前就部署到位,而不是在很久之后。
2. 限制用户
说到未来的用户,如果可能的话,为更多的用户做计划,但控制得更少。在严格需要了解的基础上授权访问。更多的用户意味着更大的网络攻击面,尤其是在权限没有明确和彻底定义的情况下。
3. 限制数据
Equifax公司数据泄露事件让人们感到担忧,因为该公司保存了近1.5亿美国人的私人财务信息。幸运的是,并非每家公司的商业模式都需要收集社会安全号码、驾照、地址等信息。严格定制数据收集,以便只需要最必要的数据。而未收集的数据也要受到保护。
4. 加密数据
确保通信路径使用适当的加密协议,例如SSL或TLS。同样,静态数据也应该加密。这似乎是显而易见的建议,但由于帐户和密码以纯文本形式存储,因此经常发生数据泄露。仅仅拥有加密是不够的,它还必须正确使用。某些协议(例如TLS)允许在服务器或客户端禁用加密验证,从而导致互联网流量被拦截的潜在风险。企业确保API符合最新的安全最佳实践,以确保通信安全可靠。
5. 制定分页限制
如果没有适当的API分页,服务器查询可能会返回一个结果或大量的结果。后一种情况会迅速消耗系统资源并使应用程序停止。更糟糕的是,它不需要恶意行为者造成伤害——无辜的用户可能会过于松散地构建查询,并收到惊人的响应。幸运的是,分页很容易实现。最简单的形式是偏移分页,它为用户提供了一个他们可以检索的预定义记录窗口。其他形式的分页包括keyset和seek,它们各有优缺点。
6. 在SQL查询中使用准备好的语句
SQL代码注入是非常普遍的攻击,使网络攻击者能够冒充其他用户、破坏数据库或窃取数据。正如其名称所暗示的那样,网络攻击者将SQL代码偷偷带入数据库查询中,通常是通过滥用正确配置的服务器应该过滤掉的转义字符。准备好的语句通过使用只能存储特定值而不是SQL片段的占位符来阻止攻击者注入SQL代码的能力。另一种防止SQL注入的方法是确保数据输入符合预期。例如,电话号码应该注册为整数并且不包含字符串。名称应包含字母,但不能包含数字。
7. 加强最终用户和应用程序认证
对于访问应用程序的用户,根据最新的安全最佳实践实施例行密码重置策略。对于与API交互的应用程序本身,为应用程序的每个版本使用唯一的凭据,从而更容易根除过时的版本。
8. 实施利率限制
当网络攻击者向服务器发送大量登录凭据以通过纯粹的机会成功匹配时,就会发生暴力攻击。基本速率限制可以阻止这些攻击,方法是防止在合理的时间范围内发生多个查询。一个人能在一分钟内输入几百次密码吗?可能不会。那么,为什么API会接受如此高的数字呢?
安全是管理风险的艺术,而不是消除风险。没有堡垒是坚不可摧的,但网络攻击者往往会沿着阻力最小的路径移动,并以安全标准差的受害者为目标。而企业需要降低API安全性,并避免成为网络攻击者的目标。
Recommend
-
96
随着虚拟货币和区块链市场的爆炸式发展,通过挖矿恶意软件掘金已经成了全球黑客的第一“爱好”,挖矿恶意软件如今无孔不入,防不胜防,已经有大量网站和企业用户深受其害。
-
65
-
55
.NET Core大大简化了.NET应用程序的开发。它的自动配置和启动依赖大大减少了开始一个应用所需的代码和配置量,本文目的是介绍如何创建更安全的.NET Core应用程序。 1.在生产中使用HTTPS 传输层安全性(TLS)是HTTPS...
-
75
网络需要定期清洁,就像人们的住所、汽车一样。为什么?答案很简单,安全条件差便会留下安全隐患。如果不定期检查使用的网络,那么其潜在的弱点和漏洞都可能会增加。 以下是一些每年都改完成一次的任务,能够有效提高网络的安全...
-
30
来源:中国之声贺威通冯志远冯烁
-
27
以太坊的下一个迭代ETH 2.0已经完成了对该协议规范的初步审核。 审核方Least Authority认为,这些规范设计的非常精心,但建议进行一些较小的更改。
-
19
据调查,美国中情局前雇员从 “7号军火库”(Vault 7)中偷走了该局最有价值的黑客工具,网络安全措施失范或为罪魁祸首。 数据失窃
-
8
台积电因新冠防疫形势严峻升级安全措施,日常运营受到限制
-
6
Sprint 38: 更新當部署不兼容配置文件時 , 需要一些安全措施等#89 在部署不兼容的配置文件时,需要一些类似的安全措施(基页结构,功能)于测试 Faucet 时,我们通常会透过 ansible 重置 agora。不过 , 主分支已过时。 最终 , 部署了最新的 agor...
-
3
贝佐斯遭蓝色起源员工倒戈:为追赶马斯克急功近利,安全措施不充分也敢载人上天... ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK