將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2018/12/18

攸關資安營運中心運作 程式開發首重測試驗證

善用QRadar App架構 開發客製化安全監控程式

IBM Security
本文將介紹如何運用IBM QRadar App架構開發客製化應用程式,先說明何謂應用程式、Flask,然後說明何謂安全工程、如何避免應用程式提交遭到拒絕、那些是造成應用程式驗證審核延長的問題、該如何確保自己的QRadar應用程式安全無虞,以及使用SDK進行應用程式測試。


沒有工具能夠找出所有可能漏洞,但工具一定有所幫助。OWASP提供一個很棒的工具清單。建議使用Bandit來檢查Python Flask應用程式,它屬於驗證程序當中的一部分。此工具可找出原始碼的問題例如SQLi,也會標示不安全的程式庫如Pickle。程式碼分析工具的安裝與使用,相當直接了當。以下指令將產生HTML格式的潛在問題報告,如果有後續問題,可在討論區(https://ibm.biz/qradarappdev)中提問:

 
pip install bandit
  
bandit /path/to/code -r -a file 
-f html -o file.html


工作區指導教學

若要開始開發QRadar應用程式,可以使用應用程式SDK來建立工作區。此工作區不只會建立QRadar認定應用程式該有的資料夾結構,還會產生程式碼以協助開始使用。

事實上,可藉由執行建立命令來建立可在QRadar中執行的應用程式(Hello World)。若要設定自身的工作區,請遵循下列步驟:

1. 安裝QRadar應用程式SDK

在開始動手之前,請確認所安裝的是Python2的最新版本。它無法使用Python3,因此建議使用Python2的最新版本。

SDK會產生zip壓縮檔案,zip壓縮檔中的README.html檔案會包含一切所需資訊。一般安裝由以下項目構成:Windows環境專用的install.bat,或Linux/Mac環境專用的install.sh。這會安裝一些套件,並將qradar_app_creator指令新增至系統路徑。

Windows使用者請注意,如果安裝多個版本的Python或將Python安裝在非通用位置,可以編輯install.bat檔案的第36行,然後針對想安裝的Python可執行檔來新增路徑。

2. 建立你的工作區

開發應用程式的第二步是設定自身的工作區,建議將工作區放在容易存取的地方,要記住其檔案路徑,因為在測試與部署時需要用到該路徑。

假若要建立自身的工作區,請從指令行輸入:

 
qradar_app_creator create -w ~/
QradarApps/com.me.myApp.1.0.0


~/QradarApps/com.me.myApp.1.0.0只是建議的路徑╱工作區名稱。請注意,如果之後要發布應用程式,希望此應用程式最好擁有major.minor.patch的版本系統。

當執行此應用程式,系統會在所提供的路徑上建立一個資料夾,資料夾結構類似圖3所示。


▲圖3 資料夾結構範例。


3. 開始開發

現在準備開始開發QRadar應用程式,請參閱其他教學指導以了解接下來的步驟。

使用SDK進行應用程式測試

將應用程式部署至QRadar會花幾分鐘時間,因此測試小型變更非常耗時。為了協助開發人員解決此問題,在SDK中建立了一個功能,以便使用Flask架構在本端測試你的應用程式。此公用程式還容許新增從本端工作站連往QRadar主控台的連線,方便測試QRadar函數,例如API呼叫。若要測試應用程式,請執行「qradar_app_creator run」指令,有兩個方法可以做:

在指令上加「-w」旗標並提供你的工作區路徑:

 
qradar_app_creator run -w ~/
QradarApps/com.me.myApp.1.0.0/


或者,可瀏覽至run.py檔案所在的應用程式資料夾,這樣就不需要提供路徑給qradar_app_creator:

 
qradar_app_creator run


執行指令時,可能會收到Python正在嘗試接受網路連線的警告,這是正常的,應該允許連線。此外,可以從0.0.0.0:5000或127.0.0.1:5000存取你的應用程式。

如果應用程式回呼QRadar box,例如API呼叫,將會在指令行中看到如圖4所示的提示。


▲圖4 在指令行中出現提示訊息。


接著,輸入QRadar主控台的IP位址。你的本端系統必須能夠連線至主控台的IP位址,接著系統會詢問是否要儲存此值,如果計畫進行相當數量的應用程式,建議選擇yes (y)。系統會提示須提供認證,請輸入自身的QRadar使用者認證,這樣才有權使用嘗試存取的任何資源。在指定認證之後,系統將再次提示並詢問是否想要儲存這些認證。基於安全理由,不建議長時間儲存認證,請在完成測試循環之後移除。

必須注意的是,你的認證將會以純文字形式儲存在你的本端主機上,若要從本端主機╱工作站移除預設QRadar主控台與認證,它們儲存在下列目錄路徑中,可在完成測試後刪除:

 
~/.qradar_appfw.auth
~/.qradar_appfw.console


現在,可以自由測試應用程式並進行變更。當變更應用程式的原始碼時,Flask將會重設Web伺服器,而需要做的事只有重新整理網頁。如果儲存的原始碼含有Python錯誤,將導致Web伺服器當機,但系統會提供堆疊追蹤、修正錯誤,然後重新執行qradar_app_creator執行指令。

雖然這種測試方式可大幅改善開發速度,但依然需要將你的QRadar應用程式部署至正式作業中的系統,以測試它是否能夠實際運作。

這篇文章讓你覺得滿意不滿意
送出
相關文章
善用vSphere Replication 虛機異地備援隨時應變
建生態系組合方案更全面 壓低成本跨越推廣障礙
2FA實體金鑰 保護帳密免遭竊
遵循法規兼顧安全 萬物聯網資安有保障
視覺化地圖還原定位紀錄 重現使用者移動軌跡
留言
顯示暱稱:
留言內容:
送出
熱門點閱文章