等保2.0涉及的Apache Tomcat中間件(上)

2021-02-13 FreeBuf

這裡就談談等保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)應採用口令、密碼技術、生物技術等兩種或兩種以上組合的鑑別技術對用戶進行身份鑑別,且其中一種鑑別技術至少應使用密碼技術來實現

這條我不知道實現方式是啥,不過一般不會有人去做吧。。。

直接現場觀察驗證即可。

相關焦點

  • apache-tomcat-7.0.40加大內存配置
    64位 apache-tomcat-7.0.40打開這個文件apache-tomcat-7.0.37\bin\catalina.bat,在echo Using CATALINA_BASE: "%CATALINA_BASE%"的上面一行加下面代碼:set
  • Apache Tomcat 7.x安全加固指南
    有關補丁的可用性和嚴重性的信息,請參見http://tomcat.apache.org/lists.html#tomcat-announce。 更新可能會影響功能。關於核心/業務方面的Tomcat的更新可能帶來的副作用,請查看http://tomcat.apache.org/lists.html#tomcat-announce。
  • Apache Tomcat 8.0.35 發布 - OSCHINA - 中文開源技術交流社區
    Apache Tomcat 8.0.35 發布了,該版本主要是修復之前發布的8.0.33版本中所發現的Bug問題,改進記錄如下:Ensure that annotated web
  • 如何安裝並配置Tomcat10
    安裝Tomcat10首先打開tomcat的官網,找到左邊的Download,選擇你需要的版本,這裡攸攸選擇的是Tomcat10,點一下右邊往下拖在Core處選擇你需要的包點擊下載,我下載的是win64位。
  • 雲上構建高可用實例——應用負載均衡
    tmp]$ tar zxvf apache-tomcat-9.0.21.tar.gz -C /tomcatapache-tomcat-9.0.21/conf/apache-tomcat-9.0.21/conf/catalina.policyapache-tomcat-9.0.21/conf/catalina.properties....
  • 啟動tomcat時 一閃而過解決方法:[1]前文
    在實際開發中一般都是eclipse+tomcat(也許還會用到tomcat的插件),我們只需要在eclipse中單擊servers上的按鈕就可以成功啟動tomcat了,但是如果想在tomcat的安裝目錄下 雙擊startup.bat啟動時卻一閃而過了。
  • Tomcat伺服器安裝、配置及驗證
    Tomcat伺服器安裝前,需要本地電腦上安裝有Java JDK,關於JDK的安裝請參考:Java JDK下載、安裝和驗證下面詳細介紹Tomcat 7.0的安裝配置及驗證步驟:1、到tomcat.apache.org官網上,下載Tomcat對應的版本,這裡選擇
  • Tomcat 調優的技巧 | 必學必知
    一、描述最近,在補充自己的短板,剛好整理到 Tomcat 調優這塊,基本上面試必問,於是就花了點時間去搜集一下 Tomcat 調優都調了些什麼,先記錄一下調優手段,更多詳細的原理和實現以後用到時候再來補充記錄,下面就來介紹一下,Tomcat 調優大致分為兩大類。
  • Tomcat面試題(2020最新版)
    配製項:protocol=」org.apache.coyote.http11.Http11NioProtocol」備註:我們常用的Jetty,Mina,ZooKeeper等都是基於java nio實現.
  • Eclipse如何配置Tomcat並發布程序
    創建完web項目後,若不配置tomcat等中間件,則會報「javax.servlet.http.HtttpServlet」was not found on the Java Build Path的錯誤。點擊「Window」->"Preferences",打開如下窗口:點擊「Add」按鈕,選中「Apache Tomcat v8.0」。
  • 詳解 Tomcat 的連接數與線程池
    不同的Tomcat版本支持的protocol不同,其中最典型的protocol包括BIO、NIO和APR(Tomcat7中支持這3種,Tomcat8增加了對NIO2的支持,而到了Tomcat8.5和Tomcat9.0,則去掉了對BIO的支持)。
  • 「Tomcat」Tomcat伺服器核心配置說明及標籤
    " description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources
  • IDEA 社區版不支持 Tomcat?一招完美解決!
    嘗試的方法2.1.Tomcat支持Tomcat 7、8、9版本(測試過Tomcat 7.0.55、7.0.79、8.5.20、9.0.30版本),理論上也支持Tomcat 5、6版本(未測試)。參數值: C:\program\apache-tomcat-7.0.55instanceDir參數值: C:\Users\user\.tomcat_idea當前路徑: E:\IDEA-IC-Tomcat當前應用使用的Tomcat實例目錄: C:\Users\user\.tomcat_idea\test-tomcat
  • 怎麼設置tomcat在get請求的中文也不亂碼?兩種情況下配置
    lt;filter-name>encoding</filter-name><url-pattern>*.do</url-pattern></filter-mapping>兩個方案:一:使用tomcat
  • Apache Directory Studio 2.0-0-M9 發布
    Apache Directory Studio 2.0-0-M9 發布,此版本可以作為一個獨立的 RCP 應用下載到 Mac OS
  • 通向架構師的道路(第四天)之 Tomcat 性能調優
    2.2 Tomcat啟動行參數的優化Tomcat 的啟動參數位於tomcat的安裝目錄\bin目錄下,如果你是Linux作業系統就是catalina.sh文件,如果你是Windows作業系統那麼你需要改動的就是catalina.bat文件。
  • Tomcat部署時war和war exploded區別
    在使用war模式開發的時候,通過下邊這段代碼獲取項目的相對路徑:String contextPath = request.getSession().getServletContext().getRealPath("/");war模式始終是獲取到的路徑如下:其中C:\Software\apache-tomcat