這裡就談談等保2.0要求,對應到Apache Tomcat中間件的一些條款要求。
安裝步驟略過,我們直接看等保中涉及的一些參數。
首先,做測評的時候我們先要記錄相應的軟體版本:
查看版本,在tomcat目錄下執行/bin/catalina.sh version,可查看對應的軟體版本信息
這是前期的資產情況,記錄在系統構成中。
然後,再根據等保的對應的每條條款,確認到中間件中應該如何查詢。
一、身份鑑別a)應對登錄的用戶進行身份標識和鑑別,身份標識具有唯一性,身份鑑別信息具有複雜度要求並定期更換
首先針對身份鑑別這個控制點,如果Apache Tomcat開啟了管理控制臺,則此控制點需要進行測評,否則為不適用。
1.確認是否使用了tomcat管理後臺我們先找到配置文件:tomcat主目錄下/conf/server.xml
可以查看到連接埠,默認為8080
然後查看manager-gui管理頁面配置文件,是否設置了用戶登錄
配置文件:tomcat主目錄下/conf/tomcat-users.xml
如果有類似的如上語句則代表存在用戶
當前我們還要查看tomcat主目錄下/webapps目錄,觀察是否存在manager這個文件
然後訪問,默認界面為:
點擊訪問即可
2.訪問Manager APP報錯403錯誤解決方案當第一次安裝、配置環境的時候,可能會出現如下報錯
網上許多網上找許多都是說沒有配置帳號和密碼,需要在tomcat 的conf中的tomcat-user.xml中增加帳戶、密碼、權限,但是這只是第一步。
重啟tomcat以後可以在虛擬機內使用manager app,但是虛擬機外不行。這是因為tomcat進行了ip限制,還需要將限制取消掉。
將tomcat文件夾下的webapps/manager/META-INF/context.xml文件夾的以下內容註銷掉
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</Context>
然後重啟服務,再訪問即可
3.修改默認歡迎界面因為在客戶實際環境中,很多情況下訪問默認都不是tomcat默認界面,在這種情況下我們如何進入該控制臺呢?
3.1 創建一個網站
類似於apache之於/var/www/html/,nginx之於/usr/share/nginx/html/,tomcat同樣有自己對應的網頁目錄,一般就是根目錄+webapps/,在本機上就是 /usr/local/tomcat/webapps/
我們創建一個叫test的項目,同時在test目錄下建立WEB-INF/classes和WEB-INF/lib文件夾
mkdir -p /usr/local/tomcat/webapps/test/WEB-INF{classes,lib}
ok,可以在test目錄下寫下第一個Jsp網頁了(註:和apache和nginx不同,tomcat默認支持Jsp,因此無需再安裝Jsp)
vim /usr/local/tomcat/webapps/test/index.jsp
3.2 修改server.xml文件
找到下圖中的欄位:
在前插入:
path:代表虛擬目錄的名字,如果你只要輸入ip地址就顯示主頁,則該鍵值留為空;
docBase:它指定的是登錄tomcat默認的主頁所在的文件夾,這個量默認情況下指定的是 ROOT文件夾,新建一個test文件夾,把網頁放到該文件夾內,需要有一個html或 者jsp文件,在Web.xml文件中有指定,會按照順序去尋找對應的文件。
debug和reloadable:一般設置成0和true就行了,在項目編寫和測試階段reloadable設置為 true表示只要tomcat中的項目有改動tomcat就會自動重新加載編譯,可以帶給我們一些方便,但是在項目發布階段一般設為false,可以提高tomcat的性能。
這樣我們的默認界面就弄好了,直接訪問將是你設置好的網頁。
3.3 無默認界面情況下直接訪問manager app
我們直接再後面加後綴/manager(或者/manager/html)即可
4. 等保查看點當用戶使用了tomcat管理控制臺時,針對身份鑑別a)條款,檢查tomcat目錄下/conf/tomcat-user.xml文件
查看用戶口令是否具有複雜度,查看password欄位即可,一般要求由大寫字母、小寫字母、數字、特殊符號中的三種組成,長度8位以上,然後定期修改,這個好像沒啥證據,只能詢問管理人員。
然後針對用戶的標識唯一性
這裡我進行了測試,你在配置文件下直接寫兩個同名用戶是,沒有問題的,但是在登錄的時候,他好像只會匹配最下面的那個用戶。比如上圖,我有兩個帳戶均為tomcat,但是口令不一樣,實際登錄的時候,使用tomcat口令的那個帳戶無法登錄,只能使用口令為123456的帳戶登錄。
所以這個不太清楚,但是一般客戶也不會設兩個同名用戶吧,關於用戶標識唯一性,帳戶不同名就行了。
b)應具有登錄失敗處理功能,應配置並啟用結束會話、限制非法登錄次數和當登錄連接超時自動退出等相關措施
關於這個測評項,就是要求一個登錄失敗處理功能和操作超時自動退出的功能。
1.登錄失敗處理功能tomcat管理控制臺默認擁有登錄失敗處理功能。
經過我自己的測試,默認情況下:登錄失敗5次,鎖定10分鐘。不過不清楚不同的版本是不是一樣的。
然後他也有自己的配置文件:
tomcat目錄/conf/server.xml下配置
查看對應的failureCount(次),lockOutTime(秒)值,可自行編輯
如上圖,代表失敗3次,鎖定300秒。
2.操作超時值這個的要求應該是多少時間不操作了,他能自動登錄,重新進行身份鑑別,類似屏幕保護功能
網上查了很多相關資料,都是說查看connectionTimeout值
這個我測試了一下,掛著不操作好像不會自動退出,所以不清楚這個功能怎麼實現,有清楚的可以留言教我一下。
c)當進行遠程管理時,應採取必要措施防止鑑別信息在網絡傳輸過程中被竊聽
這條我覺得直接觀察tomcat後臺的訪問方式即可,是使用http還是https的。
d)應採用口令、密碼技術、生物技術等兩種或兩種以上組合的鑑別技術對用戶進行身份鑑別,且其中一種鑑別技術至少應使用密碼技術來實現
這條我不知道實現方式是啥,不過一般不會有人去做吧。。。
直接現場觀察驗證即可。