TOMCAT 中间件安全加固

版权声明:转载声明来源,请勿用于商业用途! https://blog.csdn.net/qq_27180763/article/details/89631510

TOMCAT 中间件安全加固

1、 tomcat中间件安装:

yum install httpd* -y
yum install tomcat* -y

然后就能看到系统中多出了个端口:
在这里插入图片描述

其中8005端口是管理口,8080是默认的tomcat页面
我们可以通过访问本地8080口来判断服务是否安装成功
在这里插入图片描述

其中下文会详细介绍如何更改tomcat的管理口和页面显示端口。

其中, Tomcat配置文件所在目录:
在这里插入图片描述

更改管理端口和服务关闭命令:
1、 我们进入配置文件:/etc/tomcat/server.xml
在这里插入图片描述

这段话的意思就是“tomcat的管理服务端口号为8005,且关闭端口的命令为SHUTDOWN。”
如果我们需要禁用8005端口,则我们可以把端口号改为-1,这样我们的管理口就被禁用了。
我们可以通过更改nc连接服务器的8005端口并使用命令“SHUTDOWN”来关闭tomcat服务
在这里插入图片描述

现在修改配置文件server.xml中的Port所指对象来改变管理口的端口号和关闭服务指令。
在这里插入图片描述

这里我们把端口改为8365,且把该服务的关闭指令改为:“close“来避免恶意用户像本地管理口发送恶意指令。
在这里插入图片描述

修改完成后重启tomcat服务,再次使用netstat -ntlp来查看端口号
我们可以很明显的看到,本地监听端口中多出了一个端口为:8365的服务进程。
在这里插入图片描述

我们尝试通过nc连接8365并发送shutdown指令。

在这里插入图片描述

我们可以看到tomcat服务并没有关闭。(活得好好的系列)

更改tomcat默认页面端口:
同样是打开tomcat的默认配置文件,路径为:/etc/tomcat/server.xml

这段配置文件中,port的参数是指该默认页面的端口号为8080,其后的protocol是指使用的协议默认为HTTP/1.1,而connectionTimeout参数是指的超时时间为20000,而redirectPort的参数是指通过ssl加密后的页面使用端口为8443端口。
在这里插入图片描述
我们这里尝试更改tomcat默认页面端口号为9090
在这里插入图片描述
重启tomcat服务,再次访问网页
在这里插入图片描述

可以看到tomcat的默认页面的端口号已经变成为9090.

禁用管理端:
对于tomcat的web管理端属于高危安全隐患,一旦被攻破,黑客通过上传webshell的方式取得服务器的控制权是让人很难受的一件事情。我们需要删除tomcat安装目录下的conf/tomcat-user.xml或者删除webapps下默认的目录和文件。
通过检索我们发现了以下两处位置:
在这里插入图片描述
我们需要删除webapps下的所有默认的文件和目录。在这里插入图片描述
使用低权限用户运行tomcat
我们可以先使用lsof来查看当前tomcat所运行的进程的用户信息。

在这里插入图片描述
只要确保tomcat不是以root用户(UID、GID为0)的用户运行即可。

文件列表访问控制(目录遍历)
首先我们进入配置文件,配置文件目录:/etc/tomcat/web.xml
我们找到如下配置参数:
在这里插入图片描述
如果listings的值为false则为不列出目录文件,如果listsings的值为true,则表示存在目录遍历漏洞。该配置默认为false。

重定义错误页

对于一些常见的错误页面,我们可以在配置文件/etc/tomcat/web.xml中,重定向403、404以及500错误到指定页面。

默认错误页面:
在这里插入图片描述

我们现在在web.xml配置文件中加入error-page参数。
在这里插入图片描述

我们现在编辑我们的错误页面。该错误页默认放在我们webapps目录中。
在这里插入图片描述
这里是我们tomcat默认的页面所在位置。/usr/share/tomcat/webapps/ROOT
在这里插入图片描述
重启tomcat服务,我们可以看到,页面为我们自定义的错误页面了。
在这里插入图片描述

去除其他用户对tomcat的启动权限
默认文件位置:/usr/share/tomcat/bin
Chmod 744 /usr/share/tomcat/bin

猜你喜欢

转载自blog.csdn.net/qq_27180763/article/details/89631510