Leo Yeh's Blog

SAS 資訊安全 (15)

教學目標

初步了解如何修改 SAS Web Application Server 所對應「server.xml」設定檔中資料庫帳號的密碼 。

重點概念

首先在企業中的營運系統通常會被資安單位要求一年必須變更資料庫帳號的密碼,我們能夠透過 SAS Deployment Manager 工具和 SAS Management Console 工具變更 SAS 平台中所使用資料庫帳號的密碼,但是不同的解決方案可能會需要修改 SAS Web Application Server 所對應「server.xml」設定檔中資料庫帳號的密碼,此時我們將會發現密碼為「變數」,雖然我們能夠將密碼設定輸入明碼,但是資安單位理論上會不允許將密碼明碼直接設定於「server.xml」設定檔中,所以我們要如何解決此問題呢?

接著我們針對「server.xml」設定檔中資料庫帳號的密碼為「變數」的問題,必須先了解「變數」設定在哪呢?事實上「變數」主要設定在「catalina.properties」設定檔中「變數」進行設定,但是我們將會發現「變數」值卻是「s2enc://」開頭的加密字串,所以我們必須透過下述指令產生加密字串,請注意使用時必須加上「s2enc://」開頭字串。

1
2
> set TCHOME=D:\SASHome\SASWebApplicationServer\9.4
> java -cp %TCHOME%\lib\com.springsource.org.bouncycastle.jce-1.46.0.jar;%TCHOME%\tomcat-7.0.55.A.RELEASE\lib\tcServer.jar;%TCHOME%\tomcat-7.0.55.A.RELEASE\bin\tomcat-juli.jar;%TCHOME%\tomcat-7.0.55.A.RELEASE\lib\tomcat-coyote.jar -Dcom.springsource.tcserver.security.PropertyDecoder.decoder_prefix=s2enc:// com.springsource.tcserver.security.PropertyDecoder -encode "This!sTheSpringSourcePassphrase" 123qweASD

再來我們能夠透過以下指令驗證加密字串是否正確,若是我們針對加密字串解密之後正確無誤時,我們就能夠將該加密字串加上「s2enc://」開頭字串修改「catalina.properties」設定檔中的「變數」值。

1
2
> set TCHOME=D:\SASHome\SASWebApplicationServer\9.4 
> java -cp %TCHOME%\lib\com.springsource.org.bouncycastle.jce-1.46.0.jar;%TCHOME%\tomcat-7.0.55.A.RELEASE\lib\tcServer.jar;%TCHOME%\tomcat-7.0.55.A.RELEASE\bin\tomcat-juli.jar;%TCHOME%\tomcat-7.0.55.A.RELEASE\lib\tomcat-coyote.jar -Dcom.springsource.tcserver.security.PropertyDecoder.decoder_prefix=s2enc:// com.springsource.tcserver.security.PropertyDecoder -decode "This!sTheSpringSourcePassphrase" m0tiNibSDXgoHwzm/IDNmg==

最後當我們修改「catalina.properties」設定檔完成之後,我們必須重新啟動相關的 SAS Web Application Server 伺服器,此時就能夠正常啟動囉!至於有關更進階的設定則建議參考 Vmware vFabric 官方文件Pivotal tcServer 官方文件。除此之外 SAS 9.4 平台中,我們必須根據不同版本 M1 至 M5 參考 SAS 官方文件中對應版本的指令進行密碼字串加解密,不然會發生許多問題,導致伺服器無法正常解密取得正確的密碼字串。

相關資源

⬅️ Go back