風險評估:Tomcat的安全配置,Tomcat安全基線檢查加固

「作者簡介」:冬奧會網絡安全中國代表隊,CSDN Top100,就職奇安信多年,以實戰工作為基礎著作 《網絡安全自學教程》,適合基礎薄弱的同學系統化的學習網絡安全,用最短的時間掌握最核心的技術。

在這里插入圖片描述

這一章節我們需要知道Tomcat基線檢查的標準和加固方式。

在這里插入圖片描述

Tomcat安全基線

  • 1、刪除默認頁面
  • 2、控制臺口令
  • 3、shutdown口令
  • 4、禁用靜態目錄列表
  • 5、開啟訪問日志
  • 6、禁用HTTP方法
  • 7、修改banner信息
  • 8、關閉熱部署
  • 9、降低權限

1、刪除默認頁面

刪除 tomcat安裝目錄\webapps\ 目錄下的 docs、examples 文件夾。這兩個是Tomcat提供的示例程序。

在這里插入圖片描述

2、控制臺口令

http://127.0.0.1:8080/manager/html 可以訪問tomcat的控制臺。

在這里插入圖片描述
1)如果不使用控制臺,可以刪除tomcat安裝目錄\webapps\ 目錄下的 manager、host-manager 文件夾。

在這里插入圖片描述

2)如果使用控制臺,可以設置復雜的密碼。tomcat安裝目錄\conf\tomcat-users.xml

<tomcat-users >
<user username="tomcat" password="復雜的密碼" roles="manager-gui"/>

在這里插入圖片描述

3、shutdown口令

shutdown.sh 關閉tomcat服務是連接8005端口執行SHUTDOWN命令實現的。

我們直接telnet 8005端口,執行SHUTDOWN命令,也可以關閉Tomcat服務。

tomcat安裝目錄\conf\server.xml 設置復雜的shutdown口令。

在這里插入圖片描述

擴展:Tomcat端口作用

  • 8005:Telnet8005端口執行shutdown口令關閉Tomcat服務。
  • 8009:httpd使用ajp協議通過8009端口反向代理Tomcat。
  • 8080:http監聽端口。
  • 8443:https監聽端口,默認不開啟,需要提供證書。

4、禁用靜態目錄列表

tomcat安裝目錄\conf\web.xml 的 listings 設置為 false,重啟Tomcat 服務生效。

在這里插入圖片描述

如果開啟靜態目錄列表,直接訪問目錄,并且目錄下沒有默認主頁時,就會列出目錄下的所有文件,導致目錄遍歷。

在這里插入圖片描述

5、開啟訪問日志

Tomcat 7 開始默認開啟訪問日志。手動開啟到 tomcat安裝目錄\conf\server.xml 取消 AccessLogValve 的注釋,重啟生效。directory是目錄位置、perfix是日志文件名、pattern是日志格式。

在這里插入圖片描述

tomcat安裝目錄\logs\ 查看 access日志。具體的日志路徑和文件名取決于上一步server.xml的配置。

在這里插入圖片描述

擴展:pattern日志格式,- 表示空。

  • %a:遠程IP。
  • %A:本地IP。
  • %b:發送的字節數。
  • %h:遠程主機名。
  • %H:請求協議。
  • %l:遠程用戶名。
  • %m:請求的方法(GET、POST等)。
  • %p:接受請求的本地端口。
  • %q:查詢字符串,如果存在,有一個前置的 ?
  • %r:請求的第一行(請求方法和請求的URI)。
  • %s:HTTP響應狀態碼(200、404等)。
  • %S:用戶的session ID。
  • %t:日期和時間,Common Log Format格式。
  • %u:被認證的遠程用戶。
  • %U:請求URL路徑。
  • %v:本地服務名。
  • %D:處理請求的時間,毫秒。
  • %T:處理請求的時間,秒。
  • %I:當前請求的線程名。

6、禁用HTTP方法

Tomcat 7.0.0 - 7.0.79 的readonly默認未false,允許PUT、DELETE等請求方式,會造成遠程代碼執行,比如 CVE-2017-12615。

新版本 readonly 默認為 true,并且不顯示這一項。檢查 tomcat安裝目錄\conf\web.xml,readonly 不能為 false。

在這里插入圖片描述

7、修改banner信息

系統的 banner 信息充當歡迎語的作用,會泄露服務類型、版本號等信息。

1)HEAD請求獲取的響應頭信息,可能會暴漏版本號。

在這里插入圖片描述

tomcat安裝目錄\conf\server.xml 改server的值或者刪掉這個字段。一些新版本優化掉了server字段。

在這里插入圖片描述

2)頁面訪問報錯時,會泄露版本。

在這里插入圖片描述

tomcat安裝目錄\lib\catalina.jar\org\apache\catalina\util\ServerInfo.properties 修改server.info 和 server.number。

在這里插入圖片描述

8、關閉熱部署

Tomcat 7 開始默認開啟自動部署,也就是熱部署,會自動檢查webapps目錄下的的新文件并重新部署web程序。否則就需要重啟Tomcat才能重新加載。

tomcat安裝目錄\conf\server.xml Host 的 autoDeploy 設置成 false,關閉熱部署。

在這里插入圖片描述

9、降低權限

Tomcat 安裝目錄的權限改成非root用戶。使用非 root 用戶啟動 Tomcat。

# 創建tomcat用戶
useradd tomcat	
# Tomcat安裝目錄的所有者改為tomcat
chown -R tomcat:tomcat /opt/tomcat
# 停止Tomcat
/opt/tomcat/bin/shutdown.sh
# 切換tomcat用戶
su tomcat
# 以tomcat用戶的權限運行Tomcat
/opt/tomcat/bin/startup.sh

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43401.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43401.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43401.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

grafana數據展示

目錄 一、安裝步驟 二、如何添加喜歡的界面 三、自動添加注冊客戶端主機 一、安裝步驟 啟動成功后 可以查看端口3000是否啟動 如果啟動了就在瀏覽器輸入IP地址&#xff1a;3000 賬號密碼默認是admin 然后點擊 log in 第一次會讓你修改密碼 根據自定義密碼然后就能登錄到界面…

高職物聯網實訓室

一、高職物聯網實訓室建設背景 隨著《中華人民共和國國民經濟和社會發展第十四個五年規劃和2035年遠景目標綱要》的發布&#xff0c;中國正式步入加速數字化轉型的新時代。在數字化浪潮中&#xff0c;物聯網技術作為連接物理世界與數字世界的橋梁&#xff0c;其重要性日益凸顯…

Golang | Leetcode Golang題解之第224題基本計算器

題目&#xff1a; 題解&#xff1a; func calculate(s string) (ans int) {ops : []int{1}sign : 1n : len(s)for i : 0; i < n; {switch s[i] {case :icase :sign ops[len(ops)-1]icase -:sign -ops[len(ops)-1]icase (:ops append(ops, sign)icase ):ops ops[:len(o…

Knife4j的原理及應用詳解(三)

本系列文章簡介&#xff1a; 在當今快速發展的軟件開發領域&#xff0c;API&#xff08;Application Programming Interface&#xff0c;應用程序編程接口&#xff09;作為不同軟件應用之間通信的橋梁&#xff0c;其重要性日益凸顯。隨著微服務架構的興起&#xff0c;API的數量…

價值投資者什么時候賣出股票?

經常有人說&#xff0c;會買的只是徒弟&#xff0c;會賣的才是師傅。 在閱讀《戰勝華爾街》的過程中&#xff0c;也多次感受到林奇先生的賣出邏輯&#xff0c;當股票的價格充分體現了公司的價值的時候&#xff0c;就是該賣出股票的時候。但這只是理論上的&#xff0c;從林奇先…

數據中臺指標管理系統

您所描述的是一個數據中臺指標管理系統&#xff0c;它基于Spring Cloud技術棧構建。數據中臺是企業數據管理和應用的中心平臺&#xff0c;它整合了企業內外部的數據資源&#xff0c;提供數據服務和數據管理能力。以下是您提到的各個模塊的簡要概述&#xff1a; 1. **首頁**&am…

JSP WEB開發(四) MVC模式

MVC模式介紹 MVC&#xff08;Model-View-Controller&#xff09;是一種軟件設計模式&#xff0c;最早出現在Smalltalk語言中&#xff0c;后來在Java中得到廣泛應用&#xff0c;并被Sun公司推薦為Java EE平臺的設計模式。它把應用程序分成了三個核心模塊&#xff1a;模型層、視…

2024年有多少程序員轉行了?

疫情后大環境下行&#xff0c;各行各業的就業情況都是一言難盡。互聯網行業更是極不穩定&#xff0c;頻頻爆出裁員的消息。大家都說2024年程序員的就業很難&#xff0c;都很焦慮。 在許多人眼里&#xff0c;程序員可能是一群背著電腦、進入高大上寫字樓的職業&#xff0c;他們…

SVN 80道面試題及參考答案(2萬字長文)

目錄 解釋SVN的全稱和主要功能。 SVN與CVS相比,有哪些主要改進? 描述SVN的工作流程。 什么是版本庫(repository)?它存儲了什么? 解釋工作副本(working copy)的概念。 SVN如何處理文件的版本控制? SVN中的“commit”是什么意思? 解釋“update”操作的作用。 如何…

Datawhale AI 夏令營 機器學習挑戰賽

一、賽事背景 在當今科技日新月異的時代&#xff0c;人工智能&#xff08;AI&#xff09;技術正以前所未有的深度和廣度滲透到科研領域&#xff0c;特別是在化學及藥物研發中展現出了巨大潛力。精準預測分子性質有助于高效篩選出具有優異性能的候選藥物。以PROTACs為例&#x…

Hi3861 OpenHarmony嵌入式應用入門--MQTT

MQTT 是機器對機器(M2M)/物聯網(IoT)連接協議。它被設計為一個極其輕量級的發布/訂閱消息傳輸 協議。對于需要較小代碼占用空間和/或網絡帶寬非常寶貴的遠程連接非常有用&#xff0c;是專為受限設備和低帶寬、 高延遲或不可靠的網絡而設計。這些原則也使該協議成為新興的“機器…

AutoMQ 生態集成 Kafdrop-ui

Kafdrop [1] 是一個為 Kafka 設計的簡潔、直觀且功能強大的Web UI 工具。它允許開發者和管理員輕松地查看和管理 Kafka 集群的關鍵元數據&#xff0c;包括主題、分區、消費者組以及他們的偏移量等。通過提供一個用戶友好的界面&#xff0c;Kafdrop 大大簡化了 Kafka 集群的監控…

量產工具一一UI系統(四)

目錄 前言 一、按鈕數據結構抽象 1.ui.h 二、按鍵處理 1.button.c 2.disp_manager.c 3.disp_manager.h 三、單元測試 1.ui_test.c 2.上機測試 前言 前面我們實現了顯示系統框架&#xff0c;輸入系統框架和文字系統框架&#xff0c;鏈接&#xff1a; 量產工具一一顯…

Redis 底層數據結構

? 簡單動態字符串 ? 鏈表 ? 字典 ? 跳躍表 ? 整數集合 ? 壓縮列表 ? 對象 SDS 增加了len和free屬性&#xff0c;記錄buf數組的使用空間和剩余空間。好處:strken函數直接讀取len值&#xff0c;時間復雜度是O(1)&#xff1b;預分配buf長度&#xf…

集控中心操作臺材質選擇如何選擇

作為集控中心的核心組成部分&#xff0c;操作臺不僅承載著各種設備和工具&#xff0c;更是工作人員進行監控、操作和管理的重要平臺。因此&#xff0c;選擇適合的集控中心操作臺材質顯得尤為重要。 一、材質選擇的考量因素 在選擇集控中心操作臺材質時&#xff0c;我們需要綜合…

SpringCloud跨微服務的遠程調用,如何發起網絡請求,RestTemplate

在我們的業務流程之中不一定都會是自己模塊查詢自己模塊的信息&#xff0c;有些時候就需要去結合其他模塊的信息來進行一些查詢完成相應的業務流程&#xff0c;但是在SpringCloud每個模塊都相對獨立&#xff0c;數據庫也有數據隔離。所以當我們需要其他微服務模塊的信息的時候&…

什么是SpringCloud Stream?

Spring Cloud Stream 是一個構建消息驅動微服務的框架&#xff0c;其基于Spring Boot來開發&#xff0c;并使用Spring Integration來連接消息代理中間件。該項目的目標是提供一套用于開發消息驅動應用的通用模型&#xff0c;并定義了用于發送和接收消息的綁定器&#xff08;Bin…

前端javascript中的排序算法之選擇排序

選擇排序&#xff08;Selection Sort&#xff09;基本思想&#xff1a; 是一種原址排序法&#xff1b; 將數組分為兩個區間&#xff1a;左側為已排序區間&#xff0c;右側為未排序區間。每趟從未排序區間中選擇一個值最小的元素&#xff0c;放到已排序區間的末尾&#xff0c;從…

玩轉springboot之為什么springboot可以直接執行

為什么springboot可以直接執行 先看一下springboot打包生成的MANIFEST.MF內容是什么 Manifest-Version: 1.0Implementation-Title: exam-adminImplementation-Version: 1.0-SNAPSHOTStart-Class: com.zhanghe.exam.ApplicationSpring-Boot-Classes: BOOT-INF/classes/Spring-Bo…

小米采取措施禁止國行版設備安裝國際版系統 刷機后將報錯無法進入系統

據知名官改版系統 Xiaomi.EU 測試者 Kacper Skrzypek 發布的消息&#xff0c;小米目前已經在開機引導中新增區域檢測機制&#xff0c;該機制將識別硬件所屬的市場版本&#xff0c;例如中國大陸市場銷售的小米即將在安裝國際版系統后將無法正常啟動。 測試顯示該檢測機制是在開…