<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    加強 API 接口安全可以從哪些方面入手


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    485
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    等保中級測評師 CICSA

    加強API接口安全可以從以下方面入手:

    • 注重用戶認證:通過驗證碼、短信驗證碼和接口調用速度來限制關鍵接口的爆破,清晰的設計密碼找回、密碼修改等敏感接口的流程和token,避免被攻擊者繞過。使用強隨機數和強加密算法生成token,避免使用靜態token,后臺對密碼強度進行校驗,限制用戶設置弱密碼。

    • 權限控制:水平越權和垂直越權屬于業務邏輯漏洞,目前還沒有很好的工具能對該類漏洞進行有效檢測,越權漏洞的數量是和系統業務的復雜度成正比的。越權不是技術問題,而是設計問題,當一個系統的業務復雜度不斷升高時,它的權限系統也要隨之進行升級,和業務高度耦合的而又精簡的權限框架能有效的減少越權漏洞出現。

    • 避免注入攻擊:保證每個進入系統的參數都被校驗,可以使用spring validate來做參數格式校驗,盡量使用成熟框架,比如mybatis等,可以有效降低sql注入發生概率。在使用spring validate時,如果需要使用正則對一個復雜的參數進行校驗,應該盡量避免redos漏洞的出現。盡管使用框架,但排序、篩選字段和超復雜的查詢還是容易出現sql注入,因為某些開發者會使用sql拼接來完成復雜的sql查詢。

    • 避免信息泄露:信息泄露造成的后果往往都是嚴重的,核心數據的泄露更是非常致命。做好輸出數據的控制,比如使用一個實體類來定義每個API輸出的數據,避免多余的字段被輸出到了前端。

    • 訪問頻率限制:關鍵接口要做好訪問頻率限制,比如發送短信驗證碼、登陸、修改密碼和注冊等,一般都是某些重要資源消耗型接口。某些接口可以做多層限制,比如第1次發驗證碼直接發,第2次開始需要圖像驗證碼,第15次開始限制ip。

    • 注意容器和組件漏洞:盡量將項目使用的第三方組件升級到最新修正版,使用sca產品對項目的組件進行檢測。但是如果某些攻擊是在程序還未執行到API入口就完成攻擊了,那一定是容器和組件漏洞,比如fastjson 、struts、甚至tomcat、weblogic這些框架和容器的某些版本都是存在一定可以執行RCE的CVE的。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类