Tomcat 十大安全优化方法(详解版)

目录

1 talnet管理端口保护

2 AJP连接端口保护

3 禁用管理器

4 降权启动

5 控制文件列表的访问

6 隐藏版本信息

7 server header重写

8 限制IP访问

9 修改脚本权限

10 访问日志格式规范


1 talnet管理端口保护

配置内容

(1)修改默认8005管理端口(要求:在8000~8999之间)

(2)修改shutdown指令为其他字符串。

配置: 

以我的为例,我的Tomcat安装在application目录下。

vi /application/tomcat/conf/server.xml

 中的8005shutdown修改即可,例如:

2 AJP连接端口保护

配置内容

(1)修改默认的AJP 8009端口(要求:在8000~8999之间)

(2)限制AJP端口访问的权限为线上机器(iptables规则)

【防止线下的测试流量被转发到Tomcat服务器端】

配置

vi /application/tomcat/conf/server.xml

Tomcat 十大安全优化方法(详解版)_第1张图片

将port="8009"中8009修改即可,例如:port="8234"。

3 禁用管理器

配置内容

(1)删除Tomcat目录下的/conf/tomcat-users.xml文件,重启Tomcat后会自动生成新文件

(2)删除Tomcat目录下的/webapps目录下所有内容。

(3)将Tomcat应用根目录配置为Tomcat安装目录以外的目录。

【Tomcat管理端如果被黑客攻破,将会获取服务器的控制权,后果不敢想象!】

配置

rm -rf /application/tomcat/conf/tomcat-users.xml
rm -rf /application/tomcat/webapps/*
vi /application/tomcat/conf/server.xml

webapps修改即可,例如:

【要求修改后的目录必须存在!不存在则使用mkdir -p命令创建】

4 降权启动

配置内容

降低Tomcat启动用户的目录访问权限(必须为非root权限)

【避免Tomcat服务被入侵时,直接获取高级用户权限,后果极其严重!】

配置

(1)创建用户

useradd tomcat

(2)新建目录

mkdir -p /home/tomcat

(3)将原本的Tomcat复制到新创建的目录下并改名为tomcat_1

cp -a /application/tomcat/ /home/tomcat/tomcat_1

(4)修改属组和属主

chown -R tomcat:tomcat /home/tomcat/tomcat_1/

(5)通过普通用户将新生成的tomcat_1运行起来

su -c '/home/tomcat/tomcat_1/bin/startup.sh' tomcat

Tomcat 十大安全优化方法(详解版)_第2张图片

 【关闭使用 su -c '/home/tomcat/tomcat_1/bin/shutdown.sh' tomcat 命令即可】

5 控制文件列表的访问

配置内容

修改Tomcat目录下的 /conf/web.xml 文件中的default部分。

【true表示允许列出目录文件,false表示不列出目录文件】

配置

vi /application/tomcat/conf/web.xml

默认就是false,不需要修改。

6 隐藏版本信息

配置内容

(1)修改Tomcat目录下的 /conf/web.xml 文件中的403、404、500等错误页面。

(2)修改Tomcat应用程序目录下的 WEB-INF/web.xml 文件中配置进行错误页面的重定向。(在Tomcat安装目录中,webapps是放置web应用的目录。在Tomcat的webapps目录下,针对每个web应用程序都有一个目录,例如:在 webapps 下新建一个名为 myapp 的目录,那么 myapp 目录下的 WEB-INF 目录就是存放 Web 应用程序的配置文件和类文件的目录。WEB-INF 目录下的 web.xml 是该web应用的核心配置文件,其他在WEB-INF/classes和WEB-INF/lib下的文件则是该web应用程序所使用的类和jar包。)

【避免出现错误时错误页面暴露出服务器或者版本信息,还必须确保修改后的重定向页面必须存在】

配置

vi /application/tomcat/conf/web.xml

在文件最下方上面添加如下内容:

	
		403
		/forbidden.jsp
	
	
		404
		/force.jsp
	
	
		500
		/mortal.jsp
	

Tomcat 十大安全优化方法(详解版)_第3张图片

其中网站发布目录的根目录下面(Tomcat中webapps/)必须存在forbidden.jspforce.jspmortal.jsp

7 server header重写

配置内容

在Connector参数中加入server配置。

【修改HTTP响应中的Server头来重写Tomcat服务器的标识,重启Tomcat之后,相应的HTTP响应中的Server头就会被重写为你设置的标识。】

配置

vi /application/tomcat/conf/server.xml

Connector参数:

Tomcat 十大安全优化方法(详解版)_第4张图片

在其中添加如下内容:

server=”myweb-server”

添加完成后保存退出即可。

8 限制IP访问

配置内容

通过配置,限制IP的访问来源。

【配置信任IP的白名单,同时拒绝非白名单IP的访问。】

配置

修改Tomcat主配置文件server.xml

vi /application/tomcat/conf/server.xml

host参数下面添加如下内容:



 添加完毕后保存退出。

9 修改脚本权限

配置内容

去除其他用户对Tomcat目录下的bin目录下的文件(例如:shutdown.shstartup.shcatalina.sh等)的可执行权限。

【防止其他用户有启动/停止Tomcat的权限】

配置

chmod -R 774 /application/tomcat/bin/*

10 访问日志格式规范

配置内容

开启Tomcat默认访问日志中RefererUser-Agent记录。

【一旦出现安全问题能够更好的根据日志进行问题排查和解决】

配置

vi /application/tomcat/conf/server.xml

%b后添加如下内容:

%{Referer}i %{User-Agent}i %D" resolveHosts="false"

添加完成后,保存退出即可。

你可能感兴趣的:(Tomcat,tomcat)