0x01 賬号安全
1 應用使用者角色管理
① 建議配置
以管理者身份打開管理控制台,執行:
(1) 點選“應用程式”-->“企業應用程式”輕按兩下要檢視的應用程式
(2) 點選“其它屬性”中的“映射安全性角色到使用者/組”與開發人員确認協商,修改安全角色映射,保證“每個使用者“、“所有已認證戶”、“已映射的使用者”、“已映射的組”進行安全的角色映射,沒有賦予不必要的權限
② 備注事項
以管理者身份打開管理控制台,執行:
(1) 點選“應用程式”-->“企業應用程式”輕按兩下要檢視的應用程式
(2) 點選“其它屬性”中的“映射安全性角色到使用者/組”檢視安全角色是否映射到“每個使用者“、“所有已認證使用者”、“已映射的使用者”、“已映射的組”是否正常
2 賬号安全
特權管理賬号在多個使用者間共享,會引發很多安全問題,企業無法控制配置上的安全,不易定位安全事件責任人,同時特權賬号非法使用者還可抹去審計資訊
① 建議配置
以管理者身份打開管理控制台,執行:
(1) 點選“系統管理”-->“控制台設定”-->“控制台使用者”點選要檢視的使用者名
(2) 檢視使用者所屬組,管理賬号應按角色配置設定使用者角色為 monitor(監控員)、Configurator(配置員)、Operator(操作員)Administrator(管理者)之一
3 明文密碼管理
不得在自動運作腳本、控制指令等地方出現 Websphere 明文密碼,例如 cron腳本
① 建議配置
去除腳本中密碼:
(1) 編輯檔案
$WAS_HOME/profiles/<profilePath>/properties/soap.client.props ,設定
com.ibm.soap.securityenabled=true
com.ibm.soap.loginuserid=<user id>
com.ibm.soap.loginpassword=<password>
(2) 使用以下指令編碼 com.ibm.SOAP.loginPassword property 值,檢查輸出結果并移走建立的備份檔案:
$WAS_HOME/bin/PropFilePasswordEncoder.sh soap.client.props
com.ibm.SOAP.loginPassword
② 備注事項
A 自動運作腳本、控制指令等地方沒有 Websphere 明文密碼
B 參考檢測方法
B1以 root 身份執行:
#ps –ef|grep –i WebSphere
#su – WebSphere_username –c “crontab –l”
#crontab –l
要求回顯内容中不含密碼字
more $WAS_HOME/profiles/<profilePath>/properties/soap.client.props
4 密碼複雜度
對于采用靜态密碼認證技術的裝置,密碼長度至少 8 位,并包括數字、小寫字母、大寫字母和特殊符号四類中至少 3 類。
① 建議配置
對 WebSphere 安裝目錄下的配置檔案中的密碼進行檢查和設定。
0x02 權限與認證
Cosnaming 服務權限設定過大會引入安全隐患,删除 EVERYONE 組,将ALL_AUTHENTICATED 組角色僅設為”控制台命名讀”。
1 控制台安全
① 建議配置
删除 EVERYONE 組将 ALL_AUTHENTICATED 組角色僅設為“控制台命名讀”與應用程式開發人員确認命名服務權限修改對應用程式的影響,一般來說,除非 J2EE 應用程式明确指定了它的命名空間通路需求,否則更改預設政策可能會導緻在運作時發生意外的 org.omg.CORBA.NO_PERMISSION 異常。以管理者身份打開管理控制台,執行:
(1) 點選“環境”-->命名-->CORBA 命名服務使用者
檢視服務使用者
(2) 點選“環境”-->命名-->CORBA 命名服務組
(3) 删除 EVERYONE 組
(4) 将 ALL_AUTHENTICATED 組角色僅設為“控制台命名讀”
② 備注事項
(1) 點選“環境”-->命名-->CORBA 命名服務使用者,檢視服務使用者
(2) 點選“環境”-->命名-->CORBA 命名服務組,檢視服務組授權删除 EVERYONE 組将 ALL_AUTHENTICATED 組角色僅設為”控制台命名讀”
2 全局安全性與 JAVA 安全
啟用全局安全性,控制登入管理控制台,同時應用程式将可以使用 WebSphere的安全特性,Java 2 安全性在 J2EE 基于角色的授權之上提供通路控制保護的額外級别。它特别處理系統資源和 API 的保護,不啟用 Java2 安全性會極大減弱應用的安全強度。
① 建議配置
啟用全局安全性,如果應用程式是用 Java 2 安全性程式設計模型開發的,建議強制啟用 Java 2 安全性
(1) 打開管理控制台
(2) 點選“安全性”-->”全局安全性”
(3) 勾選“啟用全局安全性”和“強制 Java 2 安全性”
② 備注事項
(1) 打開管理控制台
(2) 點選“安全性”-->“全局安全性”,檢視“啟用全局安全性”和“強制 Java 2 安全性”是否啟用
3 控制台會話逾時設定
控制台會話預設 30 分鐘 timeout,要求設定不大于 10分鐘
① 建議配置
(1) 用文本編輯器打開檔案$WAS_HOME/systemApps/adminconsole.ear/deployment.xml
(2) 設定<tuningParams ***** invalidationTimeout=“5”>
② 備注事項
用文本編輯器打開檔案$WAS_HOME/systemApps/adminconsole.ear/deployment.xml ;檢視 invalidationTimeout 的值
4 控制目錄權限
config 和 properties 等控制目錄權限不當會導緻嚴重後果
① 建議配置
以 root 身份執行
(1) cd $WAS_HOMEAppServer/<profilepath>
chown -R root config
chmod –R 750 config
chown -R root properties
chmod –R 750 properties
(2) cd properties
chmod 700 TraceSettings.properties client.policy client_types.xml
implfactory.properties sas.client.props sas.stdclient.properties
sas.tools.properties soap.client.props wsadmin.properties wsjaas_client.conf
sas.server.props
(3) chmod 700 $WAS_HOME/bin/*.sh $WAS_HOME/<profilepath>bin/*.sh
② 備注事項
要求該目錄僅能 root 權限可寫,一般目錄設定權限 750,檢查 config 與 properties 目錄及子目錄通路權限
0x03 日志審計
啟用日志可以回溯事件進行檢查或審計,日志詳細資訊級别如果配置不當,會缺少必要的審計資訊
① 建議配置
(1) 設定日志:
在導航窗格中,單擊伺服器 > 應用程式伺服器-->單擊您要使用的伺服器的名稱-->在“故障診斷”下面,單擊日志記錄和跟蹤-->單擊要配置的系統日志(診斷跟蹤、 靜态更改,單擊“配置”頁籤,動态更改點選“運作時”頁籤。
(2) 設定記錄級别。
在導航窗格中,單擊伺服器 > 應用程式伺服器-->單擊您要使用的伺服器的名稱。 在“故障診斷”下面,單擊日志記錄和跟蹤,檢視日志詳細資訊級别。啟用所有日志,并配置日志詳細資訊級别為*=info: SecurityManager=all:SystemOut=all
② 備注事項
參考檢測方法
以管理者身份打開管理控制台,執行:
(1) 檢視設定日志的輸出屬性:
在導航窗格中,單擊伺服器 > 應用程式伺服器-->單擊您要使用的伺服器的名稱-->在“故障診斷”下面,單擊日志記錄和跟蹤-->單擊要配置的系統日志(診斷跟蹤、靜态更改,單擊“配置”頁籤,動态更改點選“運作時”頁籤。
(2) 檢視日志設定日志級别。
在導航窗格中,單擊伺服器 > 應用程式伺服器-->單擊您要使用的伺服器的名稱。-->在“故障診斷”下面,單擊日志記錄和跟蹤,檢視日志詳細資訊級别。
0x04 服務
1 禁止 file serving 服務
如果啟用 file serving 服務,使用者可能非法浏覽應用伺服器目錄和檔案,另外,應用伺服器提供靜态檔案服務,性能會有較大的損失.
① 建議配置
用文本編輯器打開
$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xml ,設定 fileServingEnabled=”false”
② 備注事項
以 root 身份執行:
grep –i fileServingEnabled
$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
2 錯誤頁面處理
① 建議配置
設定預設出錯頁面,用文本編輯器打開
$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/
<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
設定 defaultErrorPage=” filename of user defined ”
② 備注事項
以 root 身份執行:
grep -i defaultErrorPage
$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/
<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
0x05 其他
某非法操作或誤操作可能導緻伺服器崩潰,需要對 WebSphere 的配置檔案進行日常備份保護,保證應用系統的可用性.
1 安全備份
① 建議配置
每周備份一次 config 和 properties 目錄,至少每月備份一次 WebSphere 全目錄,生産環境配置更改前必須先備份。
(1) 以 WAS 身份,執行:
#$WAS_HOME/bin/backupConfig.sh
如以 root 身份,最好運作:
#tar cvf $WAS_HOME/profiles/default/config
(2) 将 properties 目錄打包:
#tar cvf $WAS_HOME/profiles/default/properties
2 示例程式删除
sample 例子程式會洩露系統敏感資訊,存在較大的安全隐患
① 建議配置
以管理者身份打開管理控制台,執行:
(1) 點選“應用程式”-->“企業應用程式”
(2) 選中例子程式,然後點選“解除安裝”按鈕, 解除安裝”“DefaultApplication”、“PlantsByWebSphere ”、 “SamplesGallery”、“ivtApp”等子程式
2 、補充說明
移走例子程式,應實驗後,再在生産環境使用
② 備注事項
以管理者身份打開管理控制台,執行:點選“應用程式”-->“企業應用程式”查 看 是 否 存 在 “ DefaultApplication ”、 “ PlantsByWebSphere ”、“SamplesGallery”、“ivtApp”等子程式
3 禁止目錄列出
禁止 WebSphere 浏覽、清單顯示目錄
① 建議配置
用文本編輯器打開
$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
設定 directoryBrowsingEnabled=”false”
② 備注事項
以 root 身份執行:
grep –i directoryBrowsingEnabled
$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
.4 更新更新檔
要求 Websphere 更新了必要的安全更新檔
① 建議配置
安裝最新安全相關更新檔
② 備注事項
以 root 權限執行檢視指令(包含更新檔安裝資訊):
$WAS_HOME/bin/versioninfo.sh
$WAS_HOME/bin/historyinfo.sh
$WAS_HOME/bin/genHistoryReport.sh
$WAS_HOME/bin /genVersionReport.sh
歡迎大家分享更好的思路,熱切期待^^_^^ !