建立 API 掃描

AppScan 360° 支援用於掃描 Web API 的不同工作流程。如果您對 Web API 有 Postman 集合、OpenAPI 規格檔或記錄的流量,可以透過使用 API 掃描配置來將其匯入並作為掃描基礎。或者,您也可以將 Postman 集合檔案或 OpenAPI 規格檔與 REST API 搭配使用。

開始之前

執行這項作業的原因和時機

本主題討論適用於 API 掃描的配置選項。

程序

  1. 在特定「應用程式」頁面上,按一下「建立掃描」,然後按一下「DAST 動態分析」下的「建立掃描」。
  2. 在「建立掃描: DAST」對話框,選擇「API 掃描」以開始設定。
  3. API
    選取 API 探索方法: 顯示 API 探索配置的建立掃描

    設定

    選項

    上傳 Postman 集合或 OpenAPI 或上傳記錄

    使用 API 探索方法,您可以上傳 Postman 檔案、OpenAPI 規格檔或 URL(包含基本 URL)或是流量記錄。

    AppScan 360° 將檔案上傳限制為 2GB。

    要測試的網域

    新增您要包含在掃描中的所有網域。

    這兩種格式都有效:

    • https://demo.testfire.net/
    • demo.testfire.net
      重要: 未列出的網域不會經過掃描。
  4. 目標:排除路徑

    從掃描中排除 API 中的特定路徑。您可以將 URL(完整路徑,可包括查詢)或「正規表示式」新增到排除的路徑清單中,來過濾自動「探索」階段的範圍。執行這個動作的可能原因如下:

    • 因為它們仍在開發中,您知道它們有問題,不想立即掃描它們
    • 因為您知道它們沒有問題,且您要縮短掃描時間
    • 將掃描限制於應用程式的特定部分,以縮短掃描時間

    您也可以併入要掃描的特定路徑,做為排除的路徑的一個例外。

    顯示排除路徑的 API 掃描配置

    設定

    選項

    + 新增路徑

    在清單下方顯示選項以將路徑做為排除項目或例外新增至掃描。

    排除項目 從掃描中排除列出的路徑。任何鏈結,只要符合配置排除的路徑,便會從掃描中過濾掉。
    • 路徑:輸入路徑或正規表示式。如果路徑是正規表示式,請選取 RegEx 切換按鈕。
    • 說明(選用):新增將顯示在「排除路徑」清單中的說明。
    • 排除項目:選取圓鈕以新增排除項目,然後按一下「新增」。除非您定義任何例外,否則將會從掃描中排除列出的路徑及其子目錄。
    例外 用來併入清單的較高位置已排除之路徑內的特定目錄或檔案。
    • 路徑:輸入路徑或正規表示式。如果路徑是正規表示式,請選取 RegEx 切換按鈕。
    • 說明(選用):新增將顯示在「排除路徑」清單中的說明。
    • 例外:選取圓鈕以將例外新增至清單的較高位置已排除之路徑內的特定目錄,然後按一下「新增」。列出的路徑將併入掃描中。請注意,「例外」必須在「排除項目」之下,才會生效。
    註:
    • 只有在您要併入已排除之路徑內的目錄或檔案時,才需要使用「例外」。例如,如果您已排除 https://demo.testfire.net/bank,您可以新增 https://demo.testfire.net/bank/queryxpath.jsp 作為清單中較低位置的「併入項目」,以便將這個子目錄併入掃描中。
    • 如果您將「排除項目」新增到掃描的「探索」和「測試」階段之間,即使已探索過排除的路徑,AppScan 也不會測試這些路徑。
    • 如果清單中兩個項目之間有衝突,較低的項目優先。按一下清單中的項目並拖曳,即可上下移動項目,並視需要調整項目的順序。
  5. 鑑別和連線功能:API 鑑別
    如果您的匯入資料需要登入記錄,請上傳,使 AppScan 可掃描需要鑑別的端點。您也可以使用第三方工具記錄登入,並上傳檔案到此處。API 金鑰驗證適用於 OpenAPI。 顯示登入記錄上傳選項的 API 配置

    設定

    選項

    已記錄

    上傳記錄
    若需特殊登入程序,請選取此選項來上傳程序記錄,供 AppScan 360° 在掃描期間登入應用程式時使用。您可以使用 AppScan 活動記錄器(儲存為 CONFIG 檔)或 AppScan Standard(匯出為 LOGIN 檔)來建立此記錄。
    重要: 記錄的登入步驟必須包含下列要求:
    • 一個登入或授權要求
    • 其他登入/授權要求。這個額外的要求有助於 AppScan 在測試應用程式時,確認授權成功並維持工作階段。
    請參閱 記錄資料流量使用 AppScan Standard 記錄登入,進一步瞭解記錄 CONFIGLOGIN 檔。
    註: AppScan 360° 將檔案上傳限制為 2GB。
    API 金鑰 AppScan 360° 支援 API 驗證,以掃描需要 API 金鑰的 API,例如 OpenAPI。輸入至少一個「金鑰名稱」和「金鑰值」。如有需要,可新增另一組金鑰名稱和值。這些值將儲存起來,供 API 驗證時使用。
    自動 選取這個方法,可讓 AppScan® 自動偵測應用程式的登入表單,然後使用您提供的使用者名稱和密碼。您也可以輸入第三項認證資訊(選填),例如 PIN# = 1234。不過,使用第三項認證資訊需要 AppScan 360° 支援團隊協助,且掃描時間可能較長。
    註: 不支援 CAPTCHA。
    無需特殊登入程序時使用此選項。
  6. 鑑別和連線功能:HTTP 鑑別

    除了「登入」資訊之外,指出應用程式是否需要 HTTP 鑑別(Negotiate、NTLM、Kerberos、ADFS、Basic 或 Digest)。輸入要讓 AppScan 360° 在掃描期間使用的使用者名稱密碼,以及網域(選擇性)。

    顯示 HTTP 鑑別選項的 API 配置
  7. 鑑別和連線功能:通訊

    設定 AppScan 360° 能夠同時傳送至網站的要求數上限。

    顯示「通訊」選項的 API 配置

    設定

    選項

    執行緒數

    如果您的網站不允許此數量,請降低限制;如果您的網站完全不允許同時執行緒,請將限制降到 1

    伺服器通訊逾時

    掃描期間自動調整
    允許 AppScan 360° 決定在逾時之前等待任何特定回應的時間長度。這可以大幅降低掃描時間。
    已修正
    設定 AppScan 360° 在逾時之前等待回應的時間上限。如果網站的回應速度緩慢,且 AppScan 360° 由於逾時時間較短而缺少回應,請提高此設定。

    要求率上限

    依預設,AppScan 360° 會儘快將其要求傳給網站。若此限制使您的網路或伺服器超載,您可以減少限制。

  8. 鑑別和連線功能:表單填入

    啟用時,AppScan 360° 會使用 AppScan Standard 預設自動表單填入參數,在掃描期間自動完成表單。無法使用精靈變更此設定。顯示啟用表單填入選項的 API 配置

    設定

    選項

    自動表單填入

    AppScan 360° 使用 AppScan Standard 的預設表單填入參數值在掃描期間填入並提交表單。
    註: 如果您關閉 AppScan 360° 中的自動表單填入並進行掃描,除了登入管理資料以外,將會移除表單中填入的所有資訊。AppScan 將不會在掃描期間自動填入表單。當您將此掃描匯入 AppScan Standard 時,即會啟用自動表單填入,但除了登入管理之外,表單填入資料將會為空白。
  9. 測試:測試原則和最佳化

    定義將在測試期間傳送至應用程式的測試集合(測試原則),以及在速度對您而言比掃描深度更為重要時,在產品生命週期中,有時會套用最佳化以進行更快速的掃描。顯示測試原則和最佳化選項的 API 配置

    設定

    選項

    測試原則

    根據所需涵蓋範圍,從五個預先定義的測試原則當中選取一個,或選擇一個自訂原則。預設值為「預設」,包含除了侵入式測試及埠接聽器測試以外的所有測試。如需詳細資料,請參閱測試原則
    提示: 測試原則與應用程式相符性原則不同。

    測試最佳化

    根據需要,選取在掃描速度和問題範圍之間的取捨範圍。調節器提供四個等級。預設為快速。如需詳細資料,請參閱測試最佳化

  10. 測試:測試選項

    選擇是否傳送登入和登出頁面上的測試。如果您選擇傳送登入頁面上的測試,請指定是否傳送階段作業 ID。顯示測試選項的 API 配置

    設定

    選項

    登入/登出測試 選擇是否傳送登入和登出頁面上的測試。如果您選擇傳送登入頁面上的測試,請指定是否傳送階段作業 ID。
    報告漏洞元件 AppScan 會尋找第三方元件中的漏洞,並建議更新。
  11. 喜好設定:排程

    指定掃描執行時間:現在、稍後或排程。顯示排程選項的 API 配置

    設定

    選項

    立即掃描

    一旦設定和檢閱完成,系統就會執行您的掃描。

    儲存以便稍後使用

    完成後會儲存您的配置。您可以稍後再執行掃描。

    排程
    系統會儲存您的配置,並依配置執行一項或多項掃描。
    1. 選取一個日期和時間。請根據您機器上配置的時區來輸入這些資料,但請注意,使用者介面中顯示的時間會轉換成 UTC。
    2. 如果要多次執行掃描,請選取重複,然後選擇:
      • 每日,並選取每日間隔 (1-30 天)
      • 每週,並選取日子,或
      • 每月,選取每月間隔,然後選取月份的數字日期,或月份的某工作日(第一、第二、第三、第四、最後一個)。
      註: 當排定的時間到達時,如果並行掃描的數目已達到上限,掃描勍會在您的訂閱允許時立即開始。
    3. 設定結束日期(執行掃描的最後日期),或按一下移除結束日期,讓排程無限期執行。
  12. 喜好設定:掃描選項

    掃描選項面板中,您可選擇以個人掃描形式執行掃描。

    顯示掃描選項的 API 配置
  13. 摘要

    視需要編輯掃描名稱,並檢閱為掃描選取的設定。如有需要,按一下「上一步」返回上一個畫面以進行調整。 顯示配置摘要選項的 API 配置

  14. 按一下「掃描」。

結果

新掃描會連同其開始時間新增至掃描視圖,並且會有進度列指出掃描正在執行中。掃描完成時進度列會關閉,且結果會彙總在圖形中。

下一步

請參閱結果