如何确保API在企业环境中的安全性?
- +1 你赞过了
【天极网服务器频道】API一直是信息安全界比较关注的一个问题,很多的安全泄露事件都是跟API有关。从近两年曝出的多起安全事件分析来看,利用网站服务器与手机APP之间的接口存在的漏洞对网站服务器发起攻击,已经成为一种流行趋势。很多网站在APP的接口的访问管理和访问控制机制要弱很多。
安全问题通常不在于API背后的概念,而在于它的编码方式。很多应用开发人员在编写或使用API时没有考虑安全因素,使得应用和数据处于危险之中。当涉及API时,糟糕编写的代码很快就会变成危险代码。
因此,企业及其开发人员必须采取一些措施来加强和确保API在企业环境的安全性。企业加强安全防护确保API的安全性时需做好权限审核。安全性对于企业内部来说,更多的是每个企业部门和部门之间相互的配合。其实就跟API每一个之间的配合是一样的,每个部门负责一个业务线的API的开发、测试,功能性安全的检查。当将这些API全部都拼在一起,合成一个网站或者APP界面的时候,其实更多的还是权限问题。
对于服务器来说,服务器环境是整个API或者程序运行的基础。早期的安全主要是面向于服务器,尤其是服务器的补丁,用户权限,包括一些文件权限、应用权限等。但是随着现在业务的这些发展,API的应用越来越多。服务器运维要控制一部分自己服务器的权限,产品开发团队要负责一部分API权限,两个相互之间对接时要实现很好的控制。这个层面不光是要程序代码当中实现,在相互调动之间去做身份的审核,更多的是在流程设置的时候,要尽量去做一些标准化的接口的对应和平台的对接。
针对API的安全防护问题,笔者也谈谈自己的建议,希望企业能够重视以下几点,尽量避免因API的安全问题导致信息泄露事件的发生。
授权用户和认证程序:Web应用程序中通常只有对最终用户进行身份验证,其实API世界也必须验证应用程序。使用身份验证和授权的标准化协议,可以更安全地使用API。
加密传输:总是对敏感数据进行加密,避免纯文本的传输。开发人员应该使用SSL证书,保证web api端点项目和web服务接口间敏感数据的传输安全,防止黑客嗅到这些数据。
保护证书:在特定类型的业务场景中管理应用程序,可以采用SSL VPN、数字签名的令牌多种安全机制。令牌是唯一地标识一个用户的字符串,你可以将这些字符串存储在一个数据库,如果用户输入正确的用户名和密码就可以访问,然后使用API用户访问一个API的方法。
避免静态或嵌入式密码:当你想要改变政策或更新安全时,将所有的逻辑构建到移动应用程序并不是一件好事。有时有些开发人员走捷径,使用简单的密码或者让手机应用程序在本地缓存ID和密码。从安全的角度来说,这是一个巨大的问题,所以必须要避免静态密码。
只公开必要的信息:开发人员通常会把用户的所有信息给API,因为他们不知道哪些数据是必需的。为确保隐私安全,应该只提供需要的数据。