精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網

17站長網 首頁 網站 服務器 查看內容

詳解基于Tomcat安全配置與性能的優化

2022-10-25 14:59| 查看: 2402 |來源: 互聯網

Tomcat 是 Apache軟件基金會下的一個免費、開源的WEB應用服務器,它可以運行在 Linux 和 Windows 等多個平臺上,由于其性能穩定、擴展性好、免費等特點深受廣大用戶喜愛。目前,很多互聯網應用和企業應用都部署在 To

Tomcat 是 Apache軟件基金會下的一個免費、開源的WEB應用服務器,它可以運行在 Linux 和 Windows 等多個平臺上,由于其性能穩定、擴展性好、免費等特點深受廣大用戶喜愛。目前,很多互聯網應用和企業應用都部署在 Tomcat 服務器上,比如我們公司,哈。

之前我們 tomcat 都采用的是默認的配置,因此在安全方面還是有所隱患的。上周對測試環境的所有服務器的tomcat都做了安全優化,其間也粗略做了一些性能優化,這里就簡單記錄分享下!

一、版本安全

升級當前的tomcat版本為最新穩定版本。故名思議,最新穩定版本就要兼顧最新和穩定這兩個概念。一個穩定的版本,是需要時間沉淀的,而最新又是相對于穩定版而言的最新。因此我們一般會選擇當前大版本中,最新版本往前推幾個版本或者往前推幾個月出的版本。

目前,企業常用的tomcat大版本為6.0和7.0版本,8.0版本雖然已經出了很久了,但是仍然不建議使用。

在升級版本中,需要注意的事情有兩點:

1、盡量避免跨大版本的升級

2、將當前老版本 tomcat 的server.xml、catalina.sh、web.xml和tomcat-users.xml文件進行備份,然后部署完新版本的 tomcat 之后,將這些配置文件覆蓋過去即可,然后停掉舊版本,啟動新版本即可完成升級操作。

二、隱藏版本信息

為了避免黑客針對某些版本進行攻擊,因此我們需要隱藏或者偽裝 Tomcat 的版本信息。

針對該信息的顯示是由一個jar包控制的,該jar包存放在 Tomcat 安裝目錄下的lib目錄下,名稱為 catalina.jar。

我們可以通過 jar xf 命令解壓這個 jar 包會得到兩個目錄 META-INF 和 org ,通過修改 org/apache/catalina/util/ServerInfo.properties 文件中的 serverinfo 字段來實現來更改我們tomcat的版本信息。

文件信息如下:

[root@localhost ~]# cat org/apache/catalina/util/ServerInfo.properties |grep -v '^$|#' server.info=Apache Tomcat/7.0.53 server.number=7.0.53.0 server.built=Mar 25 2014 06:20:16 當然,還有另外一種方法來實現隱藏或偽裝Tomcat的版本信息,不過本質和上面一樣,操作如下: [root@localhost ~]# cd /usr/local/apache-tomcat-7.0.53/lib [root@localhost lib]# mkdir -p org/apache/catalina/util [root@localhost lib]# cd org/apache/catalina/util [root@localhost util]# vim ServerInfo.properties server.info=nolinux # 如果想修改成其它版本號,把這個地方的值改成其它值就行了

修改完畢之后,重啟 Tomcat即可看到效果!

三、優化 web.xml

servlet與其它適用于整個Web應用程序設置的配置文件,必須符合servlet規范的標準格式。通過它可以配置你web應用的相關選項,tomcat在啟動的時候會讀取這個文件,完成你開發的系統的一些初始化操作。

它可以做如下事情:

1、提供基于 servlet 的相關配置

2、增加監聽器,監控session或在tomcat啟動時,加載一些你希望加載的資源。比如創建數據庫連接池等等

3、設置session過期時間,tomcat默認是30分鐘

4、更改應用的默認網頁,常用為index.html/index.jsp等

5、增加過濾器,做一些你希望的過濾操作,比如敏感詞匯的過濾

6、增加一些 jstl(標準標簽庫)的定義,方便在jsp中直接includ進來,直接使用這些標簽

7、struts,spring或hibernate的一些配置等等

下面摘錄下O'REILLY 的《Tomcat 權威指南》中的一段話:

web.xml 的文件格式定義在 Servlet 規范中,因此所有符合 Servlet 規范的 Java Servlet Container 都會用到它。當 Tomcat 部署應用程序時(在激活過程中,或加載應用程序后),它都會讀取通用的conf/web.xml,然后再讀取web應用程序中的WEB-INF/web.xml。其實根據他們的位置,我們就可以知道,conf/web.xml文件中的設定會應用于所有的web應用程序,而某些web應用程序的WEB-INF/web.xml中的設定只應用于該應用程序本身。

如果沒有WEB-INF/web.xml文件,tomcat會輸出找不到的消息,但仍然會部署并使用web應用程序,servlet規范的作者想要實現一種能迅速并簡易設定新范圍的方法,以用作測試,因此,這個web.xml并不是必要的,不過通常最好還是讓每一個上線的web應用程序都有一個自己的WEB-INF/web.xml,即使它只用做識別,但我想這是一個好的習慣。

由于Servlet規范主要是對于web程序員,而非系統管理員使用的。因此,對于運維來講,我們可能更關心的是站點的默認網頁、自定義錯誤頁面、禁止列目錄等功能。

由于,正常生產環境中,肯定不會直接由tomcat對公網提供服務,前端肯定放的有apache或者nginx。因此,針對站點的默認主頁和自定義錯誤頁面,我們均在前端的apache或者nginx中做。另外,公司也可能交由程序猿在項目內的WEB-INF/web.xml中去做定義。

在tomcat新版本中,自動默認已經禁止列目錄功能。

下面,我列出幾種常見功能,在web.xml中的表現形式:

站點默認主頁,

自定義錯誤頁面,

定義會話超時時間,

禁止列目錄.

四、優化 tomcat-user.xml

該文件含有用戶名、角色以及密碼的清單文件。負責提供webapps下manager項目的登錄認證管理。

在生產環境中,我們需要將該文件全部注釋。

五、優化 server.xml

Tomcat的主配置文件,該文件中包含很多主要元素,比如Service、Connector、Host等,這些元素都會創建軟件"對象"、排序及進程管道中設置的這些元素嵌套方,使我們可以執行過濾、分組等工作。

如果要對改文件做優化,我們需要先了解該文件的結構!

server.xml的結構圖:

該文件描述了如何啟動Tomcat Server

針對該文件,我們需要優化的點有如下:

1、maxThreads 連接數限制

maxThreads 是 Tomcat 所能接受最大連接數。一般設置不要超過8000以上,如果你的網站訪問量非常大可能使用運行多個Tomcat實例的方法,即,在一個服務器上啟動多個tomcat然后做負載均衡處理。

這里還需要注意的一點是,tomcat 和 php 不同。php可以按照cpu和內存的情況去配置連接數,上萬很正常。而 java 還需要注意 jvm 的參數配置。如果不注意就會因為jvm參數過小而崩潰。

2、多虛擬主機

強烈建議不要使用 Tomcat 的虛擬主機,推薦每個站點使用一個實例。即,可以啟動多個 Tomcat,而不是啟動一個 Tomcat 里面包含多個虛擬主機。因為 Tomcat是多線程,共享內存,任何一個虛擬主機中的應用崩潰,都會影響到所有應用程序。雖然采用多實例的方式會產生過多的開銷,但至少保障了應用程序的隔離和安全。

3、壓錯傳輸

tomcat作為一個應用服務器,也是支持 gzip 壓縮功能的。我們可以在 server.xml 配置文件中的 Connector 節點中配置如下參數,來實現對指定資源類型進行壓縮。

compression="on" # 打開壓縮功能 compressionMinSize="50" # 啟用壓縮的輸出內容大小,默認為2KB noCompressionUserAgents="gozilla, traviata" # 對于以下的瀏覽器,不啟用壓縮 compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  # 哪些資源類型需要壓縮

提示:

Tomcat 的壓縮是在客戶端請求服務器對應資源后,從服務器端將資源文件壓縮,再輸出到客戶端,由客戶端的瀏覽器負責解壓縮并瀏覽。相對于普通的瀏覽過程 HTML、CSS、Javascript和Text,它可以節省40% 左右的流量。更為重要的是,它可以對動態生成的,包括CGI、PHP、JSP、ASP、Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率也很高。但是,壓縮會增加 Tomcat 的負擔,因此最好采用Nginx + Tomcat 或者 Apache + Tomcat 方式,將壓縮的任務交由 Nginx/Apache 去做。

4、管理AJP端口

AJP是為 Tomcat 與 HTTP 服務器之間通信而定制的協議,能提供較高的通信速度和效率。如果tomcat前端放的是apache的時候,會使用到AJP這個連接器。由于我們公司前端是由nginx做的反向代理,因此不使用此連接器,因此需要注銷掉該連接器。

5、更改關閉 Tomcat 實例的指令

server.xml中定義了可以直接關閉 Tomcat 實例的管理端口。我們通過 telnet 連接上該端口之后,輸入 SHUTDOWN (此為默認關閉指令)即可關閉 Tomcat 實例(注意,此時雖然實例關閉了,但是進程還是存在的)。由于默認關閉 Tomcat 的端口和指令都很簡單。默認端口為8005,指令為SHUTDOWN 。因此我們需要將關閉指令修改復雜一點。

當然,在新版的 Tomcat 中該端口僅監聽在127.0.0.1上,因此大家也不必擔心。除非黑客登陸到tomcat本機去執行關閉操作。

修改實例:

6、更改 Tomcat 的服務監聽端口

一般公司的 Tomcat 都是放在內網的,因此我們針對 Tomcat 服務的監聽地址都是內網地址。

修改實例:

7、關閉war自動部署

默認 Tomcat 是開啟了對war包的熱部署的。為了防止被植入木馬等惡意程序,因此我們要關閉自動部署。

修改實例:

六、禁用 Tomcat 管理頁面

我們線上是不使用 Tomcat 默認提供的管理頁面的,因此都會在初始化的時候就把這些頁面刪掉。這些頁面是存放在 Tomcat 安裝目錄下的webapps目錄下的。

我們只需要刪除該目錄下的所有文件即可。

當然,還有涉及管理頁面的2個配置文件 host-manager.xml 和 manager.xml 也需要一并刪掉。這兩個文件存放在 Tomcat 安裝目錄下的conf/Catalina/localhost目錄下。

七、用普通用戶啟動 Tomcat

為了進一步安全,我們不建議使用 root 來啟動 Tomcat。這邊建議使用專用用戶 tomcat 或者 nobody 用戶來啟動 Tomcat。

在啟動之前,需要對我們的tomcat 安裝目錄下所有文件的屬主和屬組都設置為指定用戶。

八、分離 Tomcat 和項目的用戶

為了防止 Tomcat 被植入 web shell 程序后,可以修改項目文件。因此我們要將 Tomcat 和項目的屬主做分離,這樣子,即便被搞,他也無法創建和編輯項目文件。

本文最后更新于 2022-10-25 14:59,某些文章具有時效性,若有錯誤或已失效,請在網站留言或聯系站長:17tui@17tui.com
·END·
站長網微信號:w17tui,關注站長、創業、關注互聯網人 - 互聯網創業者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

17站長網微信二維碼

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!

掃一掃,關注站長網微信

大家都在看

  • 當我們在共享網絡訪問的時候,可能會遇到提示指定的網絡名不再可用的問題,這可能是由于我們的共享網絡出現了錯誤,也可能是被共享的對象所拒絕了。指定的網絡名 ......

    故障排除 2023-03-10
  •   文/曹楊  原標題:誰還看電視?  爸爸戴一副老花鏡,媽媽戴一副近視鏡,一人坐在沙發,一人躺在床上,各自刷著自己關注的博主更新的短視頻。電視也許開著,但只是背景。  這樣的畫面,幾乎成了洛奇家的常 ...

    站長 2020-12-09
  • 圖片來源于簡書  文/郭開森 楊帆  陸玖財經準備開新欄目了,每周一創始人郭開森和楊帆合體郭德帆,對行業進行一些觀察和評論,第一篇我們仍是打算寫社區團購,這是當下最火的話題。  來過陸玖財經做客的朋友們...

    熱議 2020-12-07
  • 1、首先進入到“百度”軟件中, 2、然后在其中輸入“百度識圖”, 3、之后點擊圖中的“開始使用”按鈕, 4、緊接著點擊右下角的“相冊”功能, 5、在相冊下 ......

    軟件教程 2023-02-17
  • 一、軟件沖突1、首先確認是否是應用程序沖突導致的。2、查看是否只有特定幾個游戲或應用會導致該問題。3、如果是應用沖突,那么只要卸載這些app就可以解決了。二 ......

    軟件教程 2022-12-27
  • 電腦端:1、大家可以點擊右邊鏈接進入網頁版的百度網盤,進入之后點擊“去登錄”。https://pan.baidu.com/2、之后正確的輸入賬號密碼進行登錄就好啦。手機端:1 ......

    軟件教程 2022-12-27
  • 在填寫一些項目申請書中,總是免不了要選擇一些數字,但是在方框中如何插入數字,該怎么辦呢?那么下面就由學習啦小編給大家分享下word在方框里輸入數字的技巧, ......

    Word教程 2023-04-27
  • 8月15日消息 上周,有媒體報道前身為百度圖片的“榴蓮”APP含有大量不雅視頻內容被用戶舉報。對此,百度圖片官方進行了回應,百度圖片表示已經對報道中所涉及的“生吃旋風哥”等爭議內容進行了下線處理。 此外,百度...

    站長 2016-08-15
  • 一、N100對比intel i3 1、N100的跑分達到了147210分,這個數據可以達到i3的七代級別。 2、在跑分上也是超越了大部分的I3七代CPU,不過比I3八代要弱勢一些。 3 ......

    硬件知識 2023-04-26
  • WPS Office手機版怎么加橫線?很多用戶還不知道WPS Office手機版怎么加橫線,WPS Office手機版怎么加橫線,WPS Office手機版怎么打橫線,WPS Office手機版怎么弄 ......

    WPS教程 2023-03-31
  • 迅雷前綴是什么 答:迅雷前綴是(magnet:?xt=urn:btih:)括號里的就是了。 我們只要在這段文字之后輸入后續的內容,就可以創建下載鏈接了。 1、磁力鏈接不基于文 ......

    軟件教程 2023-06-03
  • 一、內容特權。 1、半價點播。 許多站內視頻都需要付費觀看,而大會員用戶可以直接半價享受; 購買成功后的48h內無限次觀看。有部分的內容是只限在中國大陸內觀 ......

    軟件教程 2023-05-05
  • 1、首先打開小米運動的“實驗室功能”。 2、接著點擊“門卡模擬”。 3、然后點擊“我知道了”。 4、最后貼近就可以刷卡成功了。...

    硬件知識 2023-05-17
  • 1、打開手機輕顏相機app,點擊“我的”,點擊“設置”,2、點擊“幫助與反饋”,3、點擊右下角“在線咨詢”即可聯系客服,詢問自己的問題啦!...

    軟件教程 2023-03-16
  • 答:華為P系列: 華為p40,華為p40plus,華為p50,華為p50e,華為p60 華為mate系列: 華為mate40,華為mate50,華為mate50e,華為mate60 華為nova系列: 華為n ......

    鴻蒙系統 2023-04-24
  • 近期有用戶反映,電腦在更新Windows 11 Insider Preview 25252.1000后,出現了應用和已壓縮的文件點擊毫無反應,拖拽都不行,只能從開始菜單打開的情況,這是怎 ......

    windows11 2022-12-13
  • 可見單元格就是不包括隱藏或者篩選篩選后隱藏起來的單元格區域。方法:篩選或隱藏數據,復制需要粘貼的值,在目標單元格區域左上角的第一個單元格處右擊,選擇【 ......

    WPS教程 2022-12-10
  • 答:驍龍8+更好。 驍龍7+gen2實際上就是驍龍8+的低配版本。 在一些其他的核心架構方面都是保持一致的,比如說CPU的架構、GPU的架構等等。 驍龍7+和驍龍8+具體 ......

    硬件知識 2023-04-06
  •   文/黎明  一場針對中國互聯網巨頭的反壟斷風暴正在醞釀,而且這次動真格了。  11月10日,國家市場監管總局發布《關于平臺經濟領域的反壟斷指南(征求意見稿)》,要加大對互聯網巨頭涉嫌壟斷的調查和監管。 ...

    熱議 2020-11-14
  • win11系統如何釋放掉系統默認保留的存儲空間?一般情況下,Windows會保留一些存儲空間,以便設備獲得良好性能和成功更新。但是當出現系統盤儲存空間不足時,我們會將幾個G的保留空間釋放出來,以解燃眉之急。本期教...

    windows11 2022-11-17
  • 文件被win10系統誤報病毒自動刪除了如何進行恢復?有用戶下載了某些破解軟件卻被Win10系統誤認為是病毒文件而自動刪除,當然系統自帶殺毒軟件其實挺不錯的,就是有時候會誤報,大家遇到這種情況的時候就希望把誤刪的...

    windows10 2022-11-20
  • win11系統快速跳過聯網創建本地管理賬戶3種方法?現在市面上銷售的品牌筆記本和臺式機基本上都預裝Windows11家庭中文版正版操作系統,聯網后系統會自動激活。當用戶拿到新機器后還需要按照cortana(小娜)的提示一步...

    windows11 2022-11-13
  • 羅技g304dpi燈顏色代表什么:1、藍色:這種情況是正常工作的顯示,如果說是常亮或者閃爍,那都沒有問題這是在正常工作呢。2、紅色:如果說是紅燈閃爍的話那就是 ......

    硬件知識 2023-03-16
  • 答:在3DMark壓力測試當中,顯卡需要超高97%才能夠算合格,證明顯卡的穩定性是過關的。 1、一般的默認情況下在2500~3000分就算很正常的了。 2、分數越高說明顯卡 ......

    軟件教程 2023-06-01
  • 1、先打開機頂盒進入主界面,并且使用遙控器打開設置。 2、然后選擇“賬號與安全”,并且進入。 3、最后往下面翻就可以看到“ADB調試”的選項,直接開啟就行了 ......

    軟件教程 2023-06-01
  • 相信有非常多使用過筆記本的用戶都聽說過獨顯直連這個詞,但很多用戶并不了解獨顯直連是什么,又有什么用處,那么下面就和小編一起來看看什么是獨顯直連和開啟這 ......

    其它 2022-12-15
  • win11系統開機總是自動登錄OneDrive如何關閉?win11系統開機的時候,會自動啟動OneDrive,不想要啟動,該怎么操作呢?下面我們就來看看詳細的教程。 在OneDrive界面點小齒輪按鈕,下拉菜單中點【設置】。 單擊【...

    windows11 2022-11-15
  • 答:中高端水平 i513500hx在處理器當中是處于一個中高端的水平。 i513500hx是第十一代酷睿處理器系列的一員,基礎頻率為2.4GHz,表現十分的不錯。 i513500hx介 ......

    硬件知識 2023-04-27
  • 1、首先確認手機型號是否支持無線充電功能,(可以在品牌官網找到手機信息查看)2、查看充電板的指示燈是否亮起。指示燈不亮檢查充電器、數據線、電源之間連接是 ......

    硬件知識 2023-03-10
  • 背景 有時候我們需要獲取文件的創建時間。 例如: 我在研究 《xtrabackup 原理圖》的時候,想通過觀察確認 xtrabackup_log 是最早創建 并且是 最晚保存的 ......

    服務器 2022-10-17

熱門排行

    最近更新

      返回頂部
      主站蜘蛛池模板: 国产精品一区二区手机看片 | 免费看黄色片视频 | 精品国产看高清国产毛片 | 日本黄色免费观看 | 一区欧美 | 欧美性视频一区二区三区 | 精品视频 久久久 | 欧美一二区 | 窝窝午夜看片成人精品 | 日本一级爽快片淫片高清 | 91尤物在线视频 | 国产三级精品在线观看 | 外国毛片视频 | 大学生一级毛片免费看真人 | 12306播播影院午夜爱我影院 | 欧美中文一区 | 亚洲视色| 亚洲天堂一级片 | 久久夜色精品国产亚洲 | 亚洲天堂h | 99视频精品免费99在线 | 国产精品福利社 | 成人在线观看不卡 | 天天色天天碰 | 黄色一级一级 | 黑人操亚洲人 | 色久激情 | 国产成人精品久久一区二区三区 | 泰国午夜理伦三级在线观看 | 一级特黄aa大片一又好看 | 国产午夜精品福利久久 | 亚洲区视频 | 国产真实女人一级毛片 | 国产自产v一区二区三区c | 国产成人欧美一区二区三区的 | 国产情侣一区二区 | 视频在线亚洲 | 午夜看一级特黄a大片 | www.成人网| 成人免费观看黄a大片夜月 成人免费体验区福利云点播 | 永久在线观看视频 |