.png)
5 分鐘讀懂API技術(shù)架構(gòu)
這已成為當(dāng)今世界最重要的安全檢查。 如果要處理任何類型的敏感信息,加密是必須的。 最簡(jiǎn)單的加密方式是使用 HTTPS 協(xié)議,該協(xié)議使用 TLS(傳輸層安全)握手和 SSL(安全套接字層)。
端到端加密是另一種嚴(yán)密保護(hù)傳輸中數(shù)據(jù)安全的方法。 存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)也應(yīng)加密,以防攻擊者入侵?jǐn)?shù)據(jù)庫(kù)并訪問數(shù)據(jù)。
有關(guān)應(yīng)用程序基礎(chǔ)架構(gòu)的信息可能會(huì)通過詳細(xì)的錯(cuò)誤信息泄露給攻擊者。 為避免這種情況,應(yīng)保持錯(cuò)誤信息的通用性并實(shí)施自定義錯(cuò)誤處理。 確保錯(cuò)誤詳細(xì)信息中不會(huì)記錄敏感的系統(tǒng)信息。
在處理應(yīng)用程序接口時(shí),輸入驗(yàn)證是非常重要的,因?yàn)樵谟脩舭l(fā)送輸入之前,你是不知道輸入內(nèi)容的。
凈化是從有效負(fù)載中刪除任何不需要的可執(zhí)行代碼的過程。 攻擊者可以輸入 Javascript 腳本,如果在將其傳遞到 HTML 之前不對(duì)其進(jìn)行消毒,它就會(huì)作為腳本執(zhí)行并獲取數(shù)據(jù)。
不正確的 sanitization 會(huì)導(dǎo)致跨站腳本 (XSS) 攻擊。
入侵檢測(cè)系統(tǒng)又稱 IDS,有助于監(jiān)控和檢測(cè)進(jìn)入 API 的網(wǎng)絡(luò)流量。 如果它發(fā)現(xiàn)流量中有任何異常行為,就會(huì)記錄下來并向有關(guān)部門發(fā)出警報(bào)。
一般來說,有兩類系統(tǒng):基于網(wǎng)絡(luò)的系統(tǒng)和基于主機(jī)的系統(tǒng)。 在基于網(wǎng)絡(luò)的系統(tǒng)中,系統(tǒng)分布在不同的檢查點(diǎn),以監(jiān)控多個(gè)點(diǎn)的流量。 在基于主機(jī)的系統(tǒng)中,系統(tǒng)部署在單個(gè)主機(jī)上。
此類系統(tǒng)是一種很好的方法,可以在誰(shuí)試圖訪問您的網(wǎng)絡(luò)之前確定他們是否會(huì)妨礙您的數(shù)據(jù)。
IP 白名單是一種只允許選定 IP 地址訪問 API 和網(wǎng)絡(luò)的方法。 如果您有一個(gè)公共 API,這種技術(shù)可能不起作用,因?yàn)橐谐雒總€(gè) IP 太復(fù)雜了。
如果您知道只有部分系統(tǒng)應(yīng)用程序會(huì)訪問您的應(yīng)用程序接口,那么這將是非常有益的。
JWT 通常用于向用戶發(fā)送根據(jù)其憑據(jù)創(chuàng)建的數(shù)字簽名令牌來驗(yàn)證用戶身份。 這種方法之所以有效,是因?yàn)樗[藏了用戶的實(shí)際憑據(jù),而且無(wú)需在數(shù)據(jù)庫(kù)或用戶端存儲(chǔ)憑據(jù)。
JWT 可分為三個(gè)部分:頭部、有效載荷和簽名。 有效載荷部分包含用戶憑據(jù),頭部可包含所用算法等信息。 在每次后續(xù)請(qǐng)求中,服務(wù)器和客戶端都會(huì)對(duì)簽名部分進(jìn)行數(shù)字簽名。
JWT 通常有一個(gè)過期日期,過期后服務(wù)器會(huì)生成一個(gè)新的令牌,然后發(fā)送給用戶。
監(jiān)控應(yīng)用程序接口的流量有助于事先檢測(cè)和識(shí)別不受歡迎的訪問者。 您可以監(jiān)控每一個(gè)請(qǐng)求,但要確保日志不包含任何敏感信息。
如果應(yīng)用程序接口沒有實(shí)施速率限制,就很容易因意外涌入的網(wǎng)絡(luò)流量而遭受 DDoS 攻擊。 攻擊者可以在短時(shí)間內(nèi)向系統(tǒng)發(fā)出大量請(qǐng)求,最終導(dǎo)致服務(wù)器崩潰。
通過限制 API 流量,節(jié)流和限速 API 可避免拒絕服務(wù)攻擊。
漏洞不僅出現(xiàn)在您的應(yīng)用程序接口代碼中,它們也可能是您在應(yīng)用程序接口中使用的任何第三方依賴項(xiàng)的一部分。 因此,定期監(jiān)控和掃描您的依賴項(xiàng)并檢測(cè)其中可能存在的任何漏洞非常重要。
如果可以用修補(bǔ)漏洞的補(bǔ)丁版本更新依賴項(xiàng),就可以執(zhí)行計(jì)劃任務(wù),定期掃描和更新依賴項(xiàng)。 此外,還要選擇更安全并提供頻繁安全更新的依賴項(xiàng)。
安全標(biāo)頭應(yīng)與 API 響應(yīng)一起返回,以便向?yàn)g覽器說明 API 的安全性以及應(yīng)如何操作。 為提高安全性,您可以發(fā)送以下重要標(biāo)頭:
借助預(yù)定義的安全標(biāo)準(zhǔn)和框架設(shè)計(jì)您的應(yīng)用程序接口,確保您的應(yīng)用程序接口符合最新的安全考慮因素。
如果使用的是不記名令牌,那么令牌的過期時(shí)間應(yīng)該很短,因?yàn)樗枰匦抡J(rèn)證用戶,這是一件好事。 在 JWT 中,通常有兩種令牌:訪問令牌和刷新令牌。 刷新令牌的有效期較長(zhǎng),而訪問令牌的有效期較短。 無(wú)論如何,你的令牌都應(yīng)該有到期時(shí)間。
WAF 又稱網(wǎng)絡(luò)應(yīng)用程序防火墻,是一個(gè)可以監(jiān)控、過濾和阻止任何惡意網(wǎng)絡(luò)流量的網(wǎng)關(guān)。 它通常是防止通過 HTTP 協(xié)議進(jìn)行惡意攻擊的最佳方法。
如果想輕松設(shè)置 API 安全性并管理 API 路由及其訪問,可以選擇 API 網(wǎng)關(guān)。 它們還提供監(jiān)控、日志和分析工具,您可以使用這些工具監(jiān)控您的 API。
零信任策略背后的理念是不信任任何集中式來源。
從根本上說,任何人都不可信,即使是開發(fā)應(yīng)用程序接口的開發(fā)人員。 應(yīng)該監(jiān)控和分析每一個(gè)網(wǎng)關(guān),以防止安全漏洞。
在這種情況下,自動(dòng)化就派上用場(chǎng)了。 您可以使用自動(dòng)化工具定期監(jiān)控和阻止異常或可疑活動(dòng)。
你可以盡最大努力來確保你的API安全。但軟件中總會(huì)有一些漏洞可以被利用。這些漏洞會(huì)導(dǎo)致零日漏洞的出現(xiàn)。因此,為了保護(hù)你的API,你至少應(yīng)該確保它們與最新的安全標(biāo)準(zhǔn)保持更新。
原文鏈接:19 API Security Best Practices To Implement And Stay Safe
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)