主頁(yè) > 知識(shí)庫(kù) > tomcat服務(wù)器安全設(shè)置方法

tomcat服務(wù)器安全設(shè)置方法

熱門(mén)標(biāo)簽:大連電銷外呼系統(tǒng)運(yùn)營(yíng)商 400電話干嘛怎么申請(qǐng)信用卡 長(zhǎng)春電銷外呼系統(tǒng)代理商 百度地圖標(biāo)注尺寸無(wú)法顯示 泰州智能外呼系統(tǒng)排名 400電話申請(qǐng)知乎 外呼系統(tǒng)虛擬號(hào)碼 代理外呼系統(tǒng)創(chuàng)業(yè) 接電話機(jī)器人罵人

Tomcat是一個(gè)HTTP服務(wù)器,是Sun透過(guò)Java Community Process開(kāi)發(fā)的、對(duì)廣泛使用的Servlet和JavaServer Page(JSP)技術(shù)的正式參考實(shí)作。Servlet和JSP技術(shù)用于建構(gòu)HTTP服務(wù)器應(yīng)用程序。雖然Servlet技術(shù)中加入了許多特性(包括存取安全性、Session管理和執(zhí)行緒控制)。JSP技術(shù)提供了一種處理動(dòng)態(tài)生成的 HTML 頁(yè)面的簡(jiǎn)便方法,這些 HTML 頁(yè)面被直接編譯成 Servlet 以用于快速執(zhí)行時(shí)作業(yè)。Tomcat除了上述的兩種技術(shù)保障安全之外,還可以通過(guò)配置Tomcat的參數(shù)以增加安全性

安全設(shè)置:

1. 刪除webapps目錄下的所有文件,禁用tomcat管理界面

rm -rf /usr/local/tomcat/apache-tomcat-9.0.1/webapps/*

2.注釋或刪除tomcat-users.xml文件內(nèi)的所有用戶權(quán)限:

3.隱藏版本信息,修改conf/server.xml


3.用戶問(wèn)題:

nginx,httpd 使用root用戶啟動(dòng)守護(hù)80端口,子進(jìn)程/線程會(huì)通過(guò)setuid(),setgid()兩個(gè)函數(shù)切換到普通用戶。即父進(jìn)程所有者是root用戶,子進(jìn)程與多線程所有者是一個(gè)非root用戶,這個(gè)用戶沒(méi)有shell,無(wú)法通過(guò)ssh與控制臺(tái)登陸系統(tǒng);
而Java 的JVM 是與系統(tǒng)無(wú)關(guān)的,是建立在OS之上的,使用什么用戶啟動(dòng)Tomcat,那麼Tomcat 就會(huì)繼承該所有者的權(quán)限。
這造成了一個(gè)問(wèn)題,Linux系統(tǒng)小于1024的端口只有root可以使用,這也是Tomcat默認(rèn)端口是8080。如果想使用80端口只能使用root啟動(dòng)Tomcat。這有帶來(lái)了很多安全問(wèn)題。

創(chuàng)建一個(gè)用戶,只能用于啟動(dòng)tomcat:

groupadd -g 80 tomcat
adduser -o --home /tomcat --shell /sbin/nologin --uid 80 --gid 80 -c "Web server" tomcat
chown tomcat:tomcat -R /usr/local/tomcat/apache-tomcat-9.0.1/*
su - tomcat -c "/usr/local/tomcat/apache-tomcat-9.0.1/bin/startup.sh"

做一個(gè)端口映射,訪問(wèn)80時(shí)調(diào)用8080端口

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

取消跳轉(zhuǎn):

iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

4.關(guān)閉自動(dòng)部署war

vim conf/server.xml

5.隱藏404出現(xiàn)的版本信息:

到lib下解壓catalina.jar,   jar xf catalina.jar

vim /usr/local/tomcat/apache-tomcat-9.0.1/lib/org/apache/catalina/util/ServerInfo.properties


6.更改關(guān)閉tomcat指令

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


或者禁用8005端口

 <Server port="-1" shutdown="SHUTDOWN">

7.分離tomcat和項(xiàng)目用戶

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

8.在conf/web.xml  添加如下配置

9.自定義錯(cuò)誤頁(yè)面

web.xml是在某一個(gè)應(yīng)用下面的,他處理的應(yīng)當(dāng)是本應(yīng)用的404,而http://localhost/訪問(wèn)的是tomcat自已的應(yīng)用,那么這個(gè)web.xml配置就應(yīng)當(dāng)在webapp/Root/下面的應(yīng)用來(lái)配了,
Root目錄下面放著Tomcat的應(yīng)用,把里面換成自已的就行了.
在/webapps/ROOT/WEB-INF/web.xml添加

在webapps目錄下創(chuàng)建error.jsp文件

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<html>
<header>
<title>404 page</title>
<body>
<pre>
<%
  Enumeration<String> attributeNames = request.getAttributeNames();
  while (attributeNames.hasMoreElements())
  {
    String attributeName = attributeNames.nextElement();
    Object attribute = request.getAttribute(attributeName);
  out.println("request.attribute['" + attributeName + "'] = " + attribute);
  }
%>
</pre>

exception.jsp文件

<%@ page contentType="text/html; charset=UTF-8" isErrorPage="true" %>
<%@ page import="java.io.*" %>
<html>
<header>
<title>exception page</title>
<body>
<hr/>
<pre>
<%
response.getWriter().println("Exception: " + exception);
 
if(exception != null)
{
  response.getWriter().println("<pre>");
  exception.printStackTrace(response.getWriter());
  response.getWriter().println("</pre>");
}
 
respons
e.getWriter().println("<hr/>");
%>

在瀏覽器測(cè)試自定義的錯(cuò)誤頁(yè)面:


定義會(huì)話超時(shí)時(shí)間及禁止列目錄

好了這篇文章就介紹到這了,希望能幫助到你。

標(biāo)簽:大慶 雅安 安陽(yáng) 長(zhǎng)治 興安盟 清遠(yuǎn) 臺(tái)灣 中衛(wèi)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《tomcat服務(wù)器安全設(shè)置方法》,本文關(guān)鍵詞  tomcat,服務(wù)器,安全,設(shè)置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《tomcat服務(wù)器安全設(shè)置方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于tomcat服務(wù)器安全設(shè)置方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章