暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Tomcat安全加固

IT那活儿 2022-11-23
1939

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!


目的

通过建立知识库管理,积累、保存信息和知识资产,为团队内部信息和知识的传播提供平台,实现团队内知识共享,也使得企业知识得到很好的精炼和沉淀。

知识点描述

Tomcat在运行中,可能出现各种漏洞,下面从三个方面在Tomcat中间件上进行安全加固。

标准指导操作

Tomcat安全加固主要分为三个方面:禁用控制台、隐藏版本号和SSL认证。

3.1 禁用控制台

将Tomcat目录webapps下所有文件删除即可,删除后由于不存在应用,将无法访问页面。

3.2 隐藏版本号

方法一:

在Tomcat lib目录下创建路径org/apache/catalina/util并在该路径下创建自定义版本文件。

mkdir -p org/apache/catalina/util

vim ServerInfo.properties
# 在文件中输入自定义版本
server.info=Apache Tomcat

Bash

查看前台tomcat发现版本号已隐藏。

但此时在后台bin目录下运行version.sh脚本还是能查看到Tomcat版本,建议使用下列方式:

方法二:

修改catalina.jar中的版本信息,先解压jar包后修改文件org/apache/catalina/util/ServerInfo.properties中的版本信息。

jar包备份后将文件重新压缩到jar包中。

# 备份
cp catalina.jar catalina.jar20220713

#
 打包
jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties

Bash

再次查看前台和使用version.sh脚本,tomcat版本信息都已隐藏。

3.3 SSL认证

生成keystore,可以使用java自带的keytool生成,按照提示一步步填相应的信息,除了密码之外的乱填都可以。

keystool -genkey -alias tomcat -keyalg RSA

Bash

生成的keystore在当前用户的~目录下,为一个.keystore的隐藏文件,将该文件移到指定目录下并重命名cp ~/.keystore app/tomcat1/conf/tomcat.keystore

server.xml修改,修改前先备份;将server.xml中下列解除注释并配置:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
              maxThreads="150" SSLEnabled="true">

       <SSLHostConfig>
           <Certificate certificateKeystoreFile="/app/tomcat1/conf/tomcat.keystore" certificateKeystorePassword="passwd1" type="RSA" />
       </SSLHostConfig>
   </Connector>
   
       <Connector protocol="AJP/1.3"
              address="::1"
              port="8009"
              redirectPort="8443" />


Bash

测试https 8443端口访问,访问成功则配置成功。



本文作者:刘川陵(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论