Tomcat安全加固规范
文章目錄
- 1 縮略語
- 2 安全配置要求
- 3.1 賬號
- 3.2 口令
- 3.3 授權(quán)
- 3.4 日志
- 3.5 HTTP 加密協(xié)議 不做
- 3.6 更改默認(rèn)管理端口
- 3.7 錯誤頁面重定向
- 3.8 目錄列出
- 3.9 系統(tǒng) Banner 信息
- 3.10 連接數(shù)設(shè)置
- 3.11 禁用非法 HTTP 方法
yum install tomcat-webapps tomcat-admin-webapps #用此命令下載tomcat
1 縮略語
HTTP HyperText Transfer Protocol 超文本傳輸協(xié)議
2 安全配置要求
3.1 賬號
編號:1
要求內(nèi)容 應(yīng)按照用戶分配賬號。避免不同用戶間共享賬號。
操作指南 1、參考配置操作
修改 /etc/tomcat/tomcat-users.xml配置文件,修改或添加帳號。
用戶名是admin,密碼是admin登錄。
2、補(bǔ)充操作說明
1、根據(jù)不同用戶,取不同的名稱。
2、Tomcat 從5.5這個版本及以后發(fā)行的版本默認(rèn)都不存在admin.xml配置文件。
檢測方法 1、判定條件 各賬號都可以登錄 Tomcat Web 服務(wù)器為正常
2、檢測操作
訪問 http://ip:8080/manager/html 管理頁面,進(jìn)行 Tomcat 服務(wù)器管理
編號:2
要求內(nèi)容 應(yīng)刪除或鎖定與設(shè)備運(yùn)行、維護(hù)等工作無關(guān)的賬號。
操作指南 1、參考配置操作
修改tomcat/conf/tomcat-users.xml 配置文件,刪除與工作無關(guān)的帳號。
例如domcat與運(yùn)行、維護(hù)等工作無關(guān),刪除domcatl帳號。
檢測方法 1、判定條件
被刪除的與工作無關(guān)的賬號tomcatl不能正常登陸。
2、檢測操作
訪問 http://ip:8080/manager/html 管理頁面,使用刪除帳號進(jìn)行登陸嘗試。
編號:3
要求內(nèi)容 禁用超級用戶啟用tomcat
操作指南 1、參考配置操作在普通用戶的模式下,運(yùn)行tomcat 的啟動腳本
檢測方法 1、判定條件
2、檢測操作 查看當(dāng)前系統(tǒng)的tomcat 進(jìn)程,確認(rèn)程序啟動時使用的身份。
3.2 口令
要求內(nèi)容 對于采用靜態(tài)口令認(rèn)證技術(shù)的設(shè)備,口令長度至少8位,并包括數(shù)字、小寫字母、大寫字母和特殊符號4類中至少3類。
操作指南 1、參考配置操作
在tomcat/conf/tomcat-user.xml配置文件中設(shè)置密碼
2、補(bǔ)充操作說明
口令要求;長度至少8位,并包括數(shù)字、小寫字母、大寫字母和特殊符號4類中至少3類。
1、判定條件
檢查tomcat/conf/tomcal-user.xml 配置文件中的帳號口令是否符合配置口令復(fù)雜度要求。
2、檢測操作
(1)人工檢查配置文件中帳號口令是否符合:
(2)使用 tomcat 弱口令掃描工具定期對 Tomcat Web 服務(wù)器進(jìn)行遠(yuǎn)程掃猜,檢查是否存在弱口令帳號。
3、補(bǔ)充說明
使用弱口令掃描工具進(jìn)行檢查時應(yīng)注意掃描的線程數(shù),避免對服務(wù)器造成不必要的資源消耗,選擇在服務(wù)器負(fù)荷較低的時間段進(jìn)行掃描檢查。
3.3 授權(quán)
編號l:
要求內(nèi)容 在設(shè)備權(quán)限配置能力內(nèi),根據(jù)用戶的業(yè)務(wù)需要,配置其所需的最小權(quán)限。
操作指南 1、參考配置操作
編輯 somcat/conf/tomcat-user.xml 配置文件,修改用戶角色權(quán)限授權(quán) somcat 具有遠(yuǎn)程管理權(quán)限:
<user username=tomcat”password="Manger!@34"roles-"admin,manager”
2、補(bǔ)充操作說明
Tomcat 用戶角色分為:rolel,tomcat,admin,manager四種,
注: Tamcat6.0.18 版本只有 admin 和 manager 兩種用戶角色,Ⅱ1 admin用戶具有manager管理權(quán)限,
檢測方法 1、判定條件
登陸遠(yuǎn)程管理頁面,使用tomcat 賬號進(jìn)行登陪,登陸成功。
2、檢測操作
登陸 http://ip:8080/manager/html 頁面,使用 tomcat 賬號登陸,進(jìn)行運(yùn)程管理。
編號:2
要求內(nèi)容:禁用manager功能
操作指南 1、參考配置操作
將以下月錄CATALINAHOME/server/webapps/manager,移除到非CATALINA_HOME/server/webapps/manager,移除到非CATALINAH?OME/server/webapps/manager,移除到非CATALINA_HOME/server/webupps 目錄中,用mv移到本地處改名
檢測方法 1、判定條件
2、檢測操作
查看SCATALINA_HOME/scrverwebapps/manager 是否存在
3.4 日志
編號:1
要求內(nèi)容 設(shè)備應(yīng)配置日志功能,對用戶登錄進(jìn)行記家,記錄內(nèi)容包括用戶登錄使用的乘號,登錄是否成功,登錄時間,以及遠(yuǎn)程登錄時,用戶使用的IP 地址。
操作指南 1、參考配量操作
編輯 server.xml 配置文件,在標(biāo)簽中增加記錄日志功能
將以下內(nèi)容的注釋標(biāo)記<!-- – >取消
2、補(bǔ)充操作說明
classname: This MUST be set to
org.apache.catalina.valves.AccessLogValve to use the default access log valve.&<60
Directory:日志文件放置的目錄,在tomcat 下面有個logs文件夾,那里
面是專門放置日志文件的,也可以修改為其他路徑;
Prefix:這個是日志文件的名稱前綴,日志名稱為
localhost_access_log.2010-xx-xx.txt,前面的前綴就是這個
localhost_access_log
Suffix:文件后綴名
Pattern:common 方式時,將記錄訪問源IP、本地服務(wù)器 IP、記錄日
服務(wù)器 IP、訪問方式、發(fā)送字節(jié)數(shù)、本地接收端口、訪問 URL 地址等
相關(guān)信息在日志文件中
resolveHosts:值為true 時,tomcat會將這個服務(wù)器IP 地址通過DNS 轉(zhuǎn)
換為主機(jī)名,如果是 false,就直接寫服務(wù)器 IP 地址
檢測方法 1、判定條件
查看 logs 目錄中相關(guān)日志文件內(nèi)容,記錄完整
2、檢測操作
查看 localhost_access_log.2010-x-xxtxt 中相關(guān)日志記錄
3.補(bǔ)充說明
編號:2
要求內(nèi)容 啟用訪問模塊審計、錯誤信息日志功能
操作指南 1、參考配置操作
2、補(bǔ)充操作說明
編輯 scrverxml 配置文件,在標(biāo)簽中增加記錄日志功能
將以下內(nèi)容的注釋標(biāo)記<!- -->取消
<valveclassname=”org.apache.catalina.valves.AccessLog Valve”
Directory="logs”prefix=”localhost_access_log.”Suffix=”.txt”
Pattern=”common”resloveHosts=”false”/>
檢測方法 1、判定條件
2、檢測操作
3、補(bǔ)充說明
檢查server.xml配置文件,在標(biāo)簽中,查看以下內(nèi)容是否被注
釋標(biāo)記<!-- -->取消
<valveclassname=”org.apache.catalina.valves.AccessLog Valve”
Directory=”logs”prefix=”localhost_access_log.”Suffix=”.txt”
Pattern=”common”resloveHosts=”false”/>
3.5 HTTP 加密協(xié)議 不做
要求內(nèi)容 對于通過HTTP 協(xié)議進(jìn)行運(yùn)程維護(hù)的設(shè)備,設(shè)備應(yīng)支持使用HTTPS 等
加密協(xié)議。
操作擅南 1、參考配置操作
(1)使用JDK 自帶的kcy1aol 工具生成一個證書
JAVA_HOME/bin/keytool -genkey-alias tomcat -keyalg RSA
-keystore /path/to/my/keystore
(2)修改tomcat/conf/server.xml配置文件,更改為使用https方式,增如下行:
Connector classname=”org.apache.catalina.http.HttpConnector”
port=”8443” minProcessors=”5” maxprocessors=”100”
enableLookups=”true” acceptCount="10”debug=”0”
scheme=”https” secure=”true”>
Factoryclassname=”org.apache.catalina.SSLServerSocketFactory”
clientAuth="false”
keystoreFile=”/path/to/my/keystore” keystorePass=”runwayl@”
protocol=”TLS”>
/Connector>
其中 keystorePass 的值為生成 keystore時輸入的密碼
(3)重新啟動 tomcat 服務(wù)
檢測方法 1、判定條件
使用 https 方式登陸 tomcat 服務(wù)器頁面,登陸成功
2、檢測操作
使用 https方式登陸tomcat 服務(wù)器管理頁面
3.6 更改默認(rèn)管理端口
要求內(nèi)容 使用HTTP協(xié)議的設(shè)備,更改tomcat 服務(wù)器默認(rèn)端口
操作指南 1、參考配置操作
(1)修改domcavconfkserver.xml 配置文件,更改默認(rèn)管理端口到xx
<Connector
port="xx”maxHttpHeaderSize=“8192” maxThreads=“150”
minSpareThreads=“25” maxSpareThreads=“75”、
enableLookups=“false” redirectPort=“8443” acceptCount=“100”
connectionTimeout=“300” disableUploadTimeout=“true” />
(2)重啟 tomcat 服務(wù)
2、補(bǔ)充操作說明
檢測方祛 1、判定條件
使用 xx端口登陸頁面成功
2、檢測操作
登陸 http://ip:xx
3、補(bǔ)充說明
3.7 錯誤頁面重定向
要求內(nèi)容 Tomcat 錯誤頁面重定向
操作指南 1、參考配置操作
(1)配置tomca/conf/web.xml文件:
在最后 -行之前加入以下內(nèi)容:
第一個之間的配置實(shí)現(xiàn)了將 404 未找到j(luò)sp 網(wǎng)頁的錯誤導(dǎo)向noFile.htm 頁面,也可以用類似方法添加其他的錯誤代碼導(dǎo)向頁面,如403,500 等.導(dǎo)向頁面,如403,500 等.
第二個之間的配置實(shí)現(xiàn)了當(dāng) jsp 網(wǎng)頁出java.langNullPointeException 導(dǎo)常時,轉(zhuǎn)向errorjsp 借誤頁面,還需要在第個jsp 網(wǎng)頁中加入以下內(nèi)容
<%@ page errorPage=“error.jsp”%>
典型的 error.jsp 錯誤頁面的程序?qū)懛ㄈ缦?#xff1a;
<%page conten’Typc=“text/html;chasct=GB2312”%>
<%@page isErrorPage="true“%>
Stack Trace is: <% java.io.ChaArrayWriter cw - newjava.io.CharArray Writer): java.io.PinWriter pw - new java.io.PrintWriter(cw,true); exception.prin StackTracd(pw); outp:intin(cw.soSting0); %> 當(dāng)出現(xiàn) NullPointesException 異常時 kamcat 會把網(wǎng)頁導(dǎo)入到emorjsp,且 會打印出出錯信息。 (2)重新啟動 tomcat 服務(wù) (3)要求錯誤頁面不能太大 檢測方法 1、判建條件 指向指定錯誤頁面 2、檢測操作 URL 地址欄中輸入http://ip8800/manager12345
3.8 目錄列出
要求內(nèi)容 禁止omeat 列表顯示文件
操作指南 1、參考配置操作
(1) 編輯 tamcatkon/web.xml 配置文件,
把true 改成 false
(2)重新啟動tamczt 服務(wù)
檢測方法 1、判定條件
WEB 日錄中沒有默認(rèn)首頁如 index.html,indexjsp 等文件時,不會列出目錄內(nèi)容
2、檢測操作
直接訪月htp://ip:8800/webadd
3.9 系統(tǒng) Banner 信息
要求內(nèi)容 修改系統(tǒng)Banner 信息
操作指南 1、參考配置維作
修改catalina.jar 中Servarinfe.properties 中的以下參數(shù)(修改以掩飾真實(shí)版本信息);
檢測方法 1、判定條件
2、檢測操作
檢查catalina.jar 中 Serverinfo.propertics 中的參數(shù)
3.10 連接數(shù)設(shè)置
要求內(nèi)容 根據(jù)機(jī)器性能和業(yè)務(wù)需求,設(shè)置最大最小連接數(shù)
操作指南 1、參配置操作
編輯server.xml 文件,樣例如下:
<Cannector port“8080°
maxThreads="15g
minSpareThreads=“25”
maxSpareThreads=“75”
acceptCountw"100°
/>
maxThreads=“150 表示最多同時處理150 個連接
minSpareTheeadsw"25” 表示即使沒有人使用也開這么多空線程等待
maxSpareThreads=“75” 表示如果最多可以空75 個線程
acoeplCount="100℃ 當(dāng)同時連接的人數(shù)達(dá)到maxThreads 時,還可以接收排隊(duì)的連接超過這個連按的則直接返國拒絕連接
檢測方法 1、判定條件
2、檢測操作
此項(xiàng)設(shè)置,需根據(jù)應(yīng)用的具體情況,分別配置相應(yīng)的參數(shù)。
3、補(bǔ)充說明
3.11 禁用非法 HTTP 方法
要求內(nèi)容 禁用PUT、DELETE等危險的HTTP 方法:
操作指離 1、參考配置操作
編輯 web.xml 文件中配置
org.apache.catalina.servlets.DefaultServlet 的
readonly參數(shù)默認(rèn)是true,即不允許ddlete和put操作,
2、補(bǔ)充操作說明
檢測方祛 1、判定條件
2、檢測操作
檢查 web.xml文件中配置
org.apache.catalina.servlets.DefaultServlet 的
其中param-value為fake。則符合要求。
總結(jié)
以上是生活随笔為你收集整理的Tomcat安全加固规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LINUX安全加固规范
- 下一篇: Nginx 安全加固规范