Netsparker Enterprise如何與ServiceNow集成
將Netsparker Enterprise與ServiceNow集成
ServiceNow是一個問題跟蹤系統,可以幫助組織管理問題。它還可以幫助企業確定部門之間的優先級并共享任務。這意味著您可以找到問題的精確指標,以防止出現問題,確定對響應的響應并預測未來的問題。
本主題說明如何配置Netsparker Enterprise將檢測到的漏洞發送到ServiceNow。

除了自動創建問題外,Netsparker Enterprise還具有根據掃描結果解決和重新激活ServiceNow問題的現成支持。為此,Netsparker Enterprise使用用戶提供的ServiceNow中已解決和重新打開的狀態。
為了增強問題同步支持,Netsparker Enterprise還提供了webhook支持。這使您能夠檢測到由Netsparker Enterprise打開的ServiceNow問題的任何狀態更改。
- 保存集成設置后,Netsparker Enterprise會生成一個Webhook URL。當您將此鏈接注冊為ServiceNow項目中的webhook并輸入首選的“ 已解決”和“ 重新打開”狀態時,將完成Netsparker Enterprise 問題同步以進行集成。
當您將ServiceNow問題的狀態更改為首選的“ 已解決”狀態時,該問題在Netsparker Enterprise中會自動標記為“已修復”(未確認),并開始重新測試掃描。而且,當您將ServiceNow問題的狀態更改為首選的“ 重新打開”狀態時,相應的Netsparker Enterprise問題將自動標記為已恢復。
ServiceNow字段
下表列出并說明了“新建ServiceNow集成”窗口中的ServiceNow字段。
| 按鈕/部分/字段 | 描述 |
|---|---|
| 名稱 | 這是將在其他地方顯示的配置名稱。 |
| 強制性的 | 本節包含必須填寫的字段。 |
| 網址 | 這是ServiceNow實例URL。 |
| 用戶名 | 這是用戶名。如果您使用的是個人訪問令牌(請參見下文),請將該字段留空。 |
| 密碼 | 這是用于ServiceNow帳戶的密碼。 |
| 標題格式 | 這是用于創建漏洞標題的字符串格式。 |
| 可選的 | 本節包含可選字段。 |
| 嚴重程度 | 這是錯誤的嚴重性。 |
| 類別 | 這是分配案例的類別。選項包括:查詢/幫助、軟件、硬件、網絡和數據庫。 |
| 來電顯示 | 這是報告事件的人的ID。 |
| 到期日 | 這是從問題創建日期到到期日期的天數。 |
| 分配給ID | 這是分配了問題的用戶的ID。 |
| 自定義字段 | 本節包含用戶定義的自定義字段。 |
| 新的自定義字段 | 單擊以創建一個新的自定義字段。 |
| 名稱 | 輸入新的自定義字段的名稱。 |
| 值 | 輸入新的自定義字段的值。 |
| 下拉列表 | 單擊下拉列表以更改輸入類型。選項包括:- 文本;- 密碼;- 文字區;- 上傳文件 |
| 創建樣本問題 | 配置完所有相關字段后,單擊以創建樣本問題。 |
如何將Netsparker Enterprise與ServiceNow集成
- 登錄到Netsparker Enterprise。
- 在主菜單中,點擊集成,然后點擊新建集成。

- 在“ 問題跟蹤系統” 部分中,單擊ServiceNow。顯示“新建ServiceNow集成”窗口。

- 在名稱 字段中,輸入集成的名稱。
- 在“ 強制” 部分中,完成連接詳細信息:
- URL(ServiceNow服務器)
- 用戶名(名稱必須唯一)
- 密碼
- 標題格式
- 在“ 可選” 部分中,根據需要完成。
- 單擊“ 創建樣本問題” 以確認Netsparker Enterprise可以連接到配置的系統。將顯示一條確認消息,以確認示例問題已成功創建。

- 在確認消息中,單擊“ 問題號” 鏈接以在默認瀏覽器中打開問題。
- 如果未正確配置ServiceNow集成,則Netsparker Enterprise將正確地向您路由說明性錯誤消息。這是示例錯誤消息。

如何將報告的漏洞導出到ServiceNow中的項目
使用Netsparker Enterprise通過多種方式將問題發送到ServiceNow:
- 配置通知后,可以將Netsparker Enterprise配置為在掃描完成后自動發送漏洞。
- 您可以從“問題”窗口發送一個或多個問題:
- 您必須具有“管理問題”權限。
- 在主菜單中,點擊問題,然后點擊所有問題。 顯示“ 問題”窗口。
- 選擇您要發送的一個或多個問題。
- 單擊發送至,然后單擊ServiceNow。

- 顯示一個彈出窗口,其中包含指向您已發送到ServiceNow的問題的鏈接。如果有錯誤,則會顯示此信息。

- 您可以從“最近掃描”窗口發送問題:
- 在主菜單中,單擊掃描, 然后單擊最近掃描。

- 在相關掃描旁邊,點擊報告。顯示報告。
- 向下滾動到“ 技術報告” 部分。
- 從檢測到的漏洞列表中,單擊以選擇一個問題并顯示其詳細信息。

- 點擊發送至,然后點擊ServiceNow

如果您以前已將此漏洞提交給ServiceNow,則可以訪問此漏洞。您不能兩次提交相同的問題。
如果您在ServiceNow中查看打開的問題日志,則它們看起來像這樣。


如何注冊Netsparker Enterprise ServiceNow 集成Webhook
- 在主菜單中,點擊集成,然后點擊管理集成。顯示“集成”窗口。
- 在相關ServiceNow集成旁邊,點擊編輯。顯示“更新ServiceNow集成”窗口。

“已解決狀態”是ServiceNow事件狀態,與添加Webhook腳本時匹配。它們必須相同,請參見下面的相關步驟。
- 在“ Webhook URL” 字段中,單擊“ 復制到剪貼板” 。
- 在主菜單中,點擊通知。顯示“通知”窗口。
- 在相關的“ 掃描完成” 事件通知旁邊,點擊編輯。
- 將ServiceNow集成(來自步驟3)粘貼到Integration Endpoints 字段中。

- 打開ServiceNow。在“ 過濾器導航” 文本框中搜索“業務規則”。

- 在系統定義下,單擊業務規則。 顯示“ 業務規則”窗口。

- 點擊新建。

- 選擇表, 然后選擇事件[incident]。
- 啟用高級復選框。
- 在“ 運行時間” 選項卡的“ 時間” 下拉列表中,選擇“ 之后”。
- 啟用更新復選框。
- 單擊高級選項卡。
- 修改下面的腳本,并按如下所示填寫腳本條件:
條件: current.incident_state.changesTo(6)
6 =已解決
7 =關閉
請注意, ServiceNow集成中的“ 已解決”狀態必須與腳本條件匹配。

腳本:
(function executeRule(current, previous /*null when async*/) { /* * Incident states * Resolved = 6 * Closed = 7 * * condition for sending incident * for resolved incidents use this * current.incident_state.changesTo(6) * * for closed incident use this: * current.incident_state.changesTo(7) */ // change endpoint variable with your webhook url in servicenow integration // navigate to servicenow integration https://www.netsparkercloud.com/integrations/integrations/ // paste your webhook url in the endpoint variable. It's a link similar to this: https://www.netsparkercloud.com/integrations/serviceNowWebhook?key=XXX&identifier=XXX var endpoint = ‘PASTE YOUR SERVICENOW WEBHOOK HERE’; gs.info("Incident close code = " + current.close_code); gs.info("Incident number = " + current.number + " and id = " + current.sys_id + " will be sent."); //add current incident number to endpoint query endpoint = endpoint + "&caseNumber=" + current.sys_id; try { var request = new sn_ws.RESTMessageV2(); request.setHttpMethod('post'); request.setEndpoint(endpoint); request.setRequestBody("{}"); var response = request.executeAsync(); response.waitForResponse(60); var httpResponseStatus = response.getStatusCode(); gs.info("http response status_code: " + httpResponseStatus); } catch (ex) { var message = ex.getMessage(); gs.info(message); }})(current, previous);


- 保存
- 在Netsparker Enterprise中,在掃描完成后開始掃描。
- 導航到ServiceNow。如果沒有事件,請檢查事件頁面中的過濾器。應該將其設置為All。

- 將問題更新為之前選擇的“ 已解決”或“ 已關閉”狀態。

- 在Netsparker的主菜單中,單擊“掃描”,然后單擊“等待重新測試”。將顯示“問題”窗口,其中顯示等待重新掃描的問題。掃描過程將很快開始,具體取決于掃描代理程序的可用性。

問題狀態將更改為已修復(未確認)。

在此步驟中,請確保為ServiceNow定義了Scan Completed事件,否則將不會更新事件。
- 重新測試開始后,如果正確地重新測試了該問題,并且該漏洞存在,則系統將重新打開它。如果漏洞已修復,則不會采取任何措施。

請注意,在問題的歷史記錄中,如果看到消息“無法重新測試該問題。”,則不會在ServiceNow中重新打開該問題。

Netsparker Enterprise 中文漢化使用教程