隨著企業(yè)數(shù)字化進程的發(fā)展,企業(yè)正在大量使用API來連接服務和傳輸數(shù)據(jù),API在帶來巨大便利的同時也帶來了新的安全問題,被攻擊的API可能導致重要數(shù)據(jù)泄漏并對企業(yè)業(yè)務造成毀滅性影響。因此,API安全正受到業(yè)界和學術界的廣泛關注,開放Web應用程序安全項目(OWASP)在2019年將API列為最受關注的十大安全問題。
OWASP API安全計劃是這樣描述的:“API是現(xiàn)代移動、SaaS和Web應用程序的重要組成部分,其可以在面向客戶、面向合作伙伴和內(nèi)部應用程序中找到。因性質(zhì)使然,API會暴露應用程序邏輯和個人身份信息(PII)等敏感數(shù)據(jù),正因為如此,API逐漸成為眾多攻擊者的目標。沒有安全的API,就不可能實現(xiàn)快速創(chuàng)新?!?/p>
本文將帶您了解如何使用騰訊云API網(wǎng)關保護API安全,為您的業(yè)務保駕護航。
在騰訊云API網(wǎng)關上一般可以通過9種方式來保護API安全:
1.鏈路加密;
2.認證鑒權;
3.請求映射與轉(zhuǎn)換;
4.參數(shù)校驗;
5.IP訪問控制;
6.跨域訪問控制CORS;
7.流量監(jiān)控與保護;
8.DDoS防護能力;
9.與Web應用防火墻WAF結合;
以下將分別介紹每種方式的作用場景與配置方法。
01.
鏈路加密
API是用來在服務之間交換數(shù)據(jù)的重要手段,如果交換的數(shù)據(jù)中包含敏感信息(比如身份信息、銀行信息等),那么數(shù)據(jù)的安全性和隱蔽性就顯得尤為重要。騰訊云API網(wǎng)關支持基于TLS協(xié)議對鏈路中傳輸?shù)膱笪臄?shù)據(jù)進行加密,保護傳輸數(shù)據(jù)不會被泄露及篡改。
02.
認證鑒權
鑒權(authentication)是指驗證用戶是否擁有訪問業(yè)務系統(tǒng)的權利,也是保護API安全最常見的一種方式。騰訊云API網(wǎng)關目前主要有4種鑒權方式,分別是:
·免鑒權
任何用戶無需鑒權即可通過API網(wǎng)關。
·應用認證
分發(fā)密鑰對給用戶,API調(diào)用方通過密鑰對生成簽名,使用簽名進行請求。API網(wǎng)關收到請求后會校驗簽名,簽名一致的情況下放行,否則拒絕請求。
·OAuth 2.0認證
支持通過標準的OAuth 2.0協(xié)議對接API開放方自身的認證服務器,認證服務器會向獲得權限的API調(diào)用方頒發(fā)令牌,API調(diào)用方可使用令牌訪問后端資源。
·EIAM認證
支持通過騰訊云EIAM產(chǎn)品對API進行認證和授權管理,適用于對API有細粒度權限管理的業(yè)務場景。
當您根據(jù)自己的業(yè)務場景找到合適的鑒權方式后,可以在創(chuàng)建API時選擇對應的認證方式,創(chuàng)建API成功后即可使用該認證方式調(diào)用API。
03.
映射轉(zhuǎn)換
API開放者可以在API網(wǎng)關上配置客戶端訪問API網(wǎng)關的規(guī)則、API網(wǎng)關請求業(yè)務后端的規(guī)則,并將這兩種規(guī)則關聯(lián)起來,通過這種方式就來實現(xiàn)請求映射與轉(zhuǎn)換。如圖,通過在API網(wǎng)關上的配置,對外暴露的請求和實際后端的請求中,請求方法、請求協(xié)議、訪問域名、訪問環(huán)境、請求路徑Path、Query參數(shù)等都發(fā)生了變化,對于API調(diào)用方而言,實際實現(xiàn)業(yè)務的后端是完全隱藏的。這樣就能保證客戶端直接請求業(yè)務后端帶來的安全風險。
04.
參數(shù)校驗
要保證系統(tǒng)的安全性與健壯性,數(shù)據(jù)校驗必不可少。通過校驗參數(shù)的合法性,我們可以避免因為傳參異常導致業(yè)務系統(tǒng)報錯的問題。API網(wǎng)關支持配置請求參數(shù)的校驗規(guī)則,您可以指定參數(shù)名,參數(shù)類型和參數(shù)數(shù)據(jù)類型;同時可以指明是否必填、默認值、示例數(shù)據(jù)和描述說明。API網(wǎng)關會根據(jù)用戶配置的所有參數(shù)執(zhí)行校驗與映射,如果客戶端傳遞了不符合規(guī)則的參數(shù),請求將會被API網(wǎng)關拒絕,不會轉(zhuǎn)發(fā)給后端。
05.
IP訪問控制
API安全防護過程中經(jīng)常需要針對IP地址進行安全防護,API網(wǎng)關針對此場景提供了IP訪問控制能力,主要用于限制API的調(diào)用來源IP,可以通過配置某個API的IP白名單/黑名單來允許/拒絕某個來源的API請求。IP訪問控制采用插件的配置方式,創(chuàng)建IP訪問控制插件后,綁定到API即可立即生效,具體配置方式請參考:
IP訪問控制插件使用指南:https://cloud.tencent.com/document/product/628/53381
06.
跨域訪問控制CORS
當一個資源從與該資源本身所在的服務器不同的域、協(xié)議或端口請求一個資源時,資源會發(fā)起一個跨域HTTP請求??缬虮举|(zhì)上是繞過同源請求的嚴格限制,所以會存在一定的安全風險,跨域訪問控制CORS是為了彌補JSONP等跨域常見技術的缺陷,而提出的安全方便的跨域方案。API網(wǎng)關上支持針對API設置W3C規(guī)范的自定義的復雜CORS規(guī)則,幫助API開放者避免跨域過程中的安全問題。
跨域訪問控制CORS同樣采用插件的配置方式,創(chuàng)建跨域訪問控制CORS插件后,綁定到API即可立即生效,具體配置方式請參考:
跨域訪問控制CORS插件使用指南:https://cloud.tencent.com/document/product/628/58253
07.
流量監(jiān)控與保護
流量監(jiān)控與保護的內(nèi)容在API網(wǎng)關的上一篇最佳實踐,可參考:
使用騰訊云API網(wǎng)關實現(xiàn)多維度精細化限流
08.
DDoS防護能力
DDos也叫分布式拒絕服務,是利用惡意程序遠程控制很多感染了惡意程序的計算機,讓這些計算機同時對一個或多個目標發(fā)起請求,消耗目標服務器CPU內(nèi)存資源或網(wǎng)絡帶寬資源,從而造成服務器無法正常向用戶提供服務。API網(wǎng)關共享實例和專享實例均接入了騰訊云內(nèi)部的DDoS防護體系,其中共享實例默認具備基礎的DDoS防護能力,專享實例具備一定的DDoS高防能力,使用API網(wǎng)關可確保您的業(yè)務免受DDoS攻擊威脅。
09.
與Web應用防火墻WAF結合
騰訊云Web應用防火墻是一款非常強大的安全產(chǎn)品,能幫助騰訊云內(nèi)及云外用戶應對Web攻擊、入侵、漏洞利用、篡改、后門、爬蟲、域名劫持等網(wǎng)站及Web業(yè)務安全防護問題。通過部署騰訊云WAF服務,并將WAF與API網(wǎng)關結合,可將Web攻擊威脅壓力從API網(wǎng)關轉(zhuǎn)移到WAF上,由專業(yè)的工具來做專業(yè)的防護。API網(wǎng)關結合WAF的配置方式請參考:
最佳實踐·API網(wǎng)關結合WAF提供安全防護:https://cloud.tencent.com/document/product/628/48326
隨著互聯(lián)網(wǎng)產(chǎn)品的興起,Web攻擊的手段越來越多樣,騰訊云API網(wǎng)關也將不斷修煉安全防護能力,爭取為應用開發(fā)者們提供業(yè)內(nèi)最安全的網(wǎng)關產(chǎn)品。