tomcat加固

Posted SweetSec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat加固相关的知识,希望对你有一定的参考价值。

tomcat加固

0x01 使用非root用户启动tomtcat

通过ssh登陆机器root账号:root 密码:123456 ip:192.168.7.161

创建用户:

useradd -m tomcat

设置密码:

passwd tomcat

将创建的用户添加到sudo用户组 :

usermod -a -G sudo tomcat

修改用户默认shell为bash:

chsh -s /bin/bash tomcat

检查

id tomcat

命令如下

 

上传tomcat压缩包到/home/tomcat/(此处已上传)

然后解压,进入到/home/tomcat/apache-tomcat-8.5.23/ 目录

运行/home/tomcat/apache-tomcat-8.5.23/bin# ./startup.sh(以tomcat账号登陆并运行)

测试tomcat启动

0x02 加固内容

一、取消版本号显示

① 加固前

tomcat加固 

②加固措施

进入tomcat的lib目录找到catalina.jar文件 将catalina.jar文件解压 unzip catalina.jar 解压完成以后会出现一个org文件夹

进入org/apache/catalina/util 编辑配置文件ServerInfo.properties

修改前

tomcat加固 

修改后

tomcat加固


将配置文件重新放入到catalina.jar文件中

jar uvf catalina.jar

org/apache/catalina/util/ServerInfo.properties

tomcat加固 

重启tomcat

/home/tomcat/apache-tomcat-8.5.23/bin目录下执行 ./startup.sh

③加固后

tomcat加固 

二、禁用非必要端口 以管理关口和ajp端口(如果需要可以修改为其他端口)为例

① 修改前

/home/tomcat/apache-tomcat-8.5.23/conf/server.xml中管理端口如果不修改,可是连接上以后使用SHUTDOWN命令停止tomcat服务

管理端口

tomcat加固


AJP端口

tomcat加固 

② 修改后

管理端口修改

tomcat加固


AJP修改

tomcat加固 

三、关闭热更新,每次变更类时必须要重启

/home/tomcat/apache-tomcat-8.5.23/conf/server.xml中

①修改前

 tomcat加固

将server.xml中的host项中,修改autoDeploy="false"

②修改后

tomcat加固 

四、防止目录遍历

检查/home/tomcat/apache-tomcat-8.5.23/conf/web.xml

检查项

tomcat加固


listings 值是否为fasle,如果是fasle 则不需要修改,如果是true则修改为false

五、禁用管理端

删除/home/tomcat/apache-tomcat-8.5.23/conf/tomcat-users.xml文件,重启tomcat将会自动生成新的文件

tomcat加固 

删除默认项目

将/home/tomcat/apache-tomcat-8.5.23/weapps/下面所有文件及文件夹删除

tomcat加固 

删除以后访问8080端口界面显示如下

tomcat加固 

六、自定义错误页面,防止从错误页面中泄露信息

修改项

vi /home/tomcat/apache-tomcat-8.5.23/conf/web.xml 在标签前面添加

404 /404.html

500 /500.html 如果有其他错误页面也可以添加进来 然后在tomcat/webapps/文件夹下创建ROOT文件夹, 然后新建错误页面

tomcat加固 

七、限制IP访问(也可以从防火墙限制)

在/home/tomcat/apache-tomcat-8.5.23/conf/server.xml文件中host中添加如下内容

 

若不允许访问的IP访问,页面显示如下


以上是关于tomcat加固的主要内容,如果未能解决你的问题,请参考以下文章

tomcat加固

tomcat安全加固和规范

应急响应Tomcat安全加固

应用程序加固Tomcat篇

tomcat8 安全加固

tomcat服务器配置及加固