Tomcat底层原理分析:8.Tomcat安全性配置解析

【专栏目录】
Tomcat底层原理分析:1.基础环境搭建
Tomcat底层原理分析:2.Tomcat架构分析
Tomcat底层原理分析:3.Jasper引擎
Tomcat底层原理分析:4.Tomcatd的server.xml配置内容解析
Tomcat底层原理分析:5.Web应用配置解析
Tomcat底层原理分析:6.Tomcat中对JVM的配置解析
Tomcat底层原理分析:7.Tomcat集群配置解析
Tomcat底层原理分析:8.Tomcat安全性配置解析
Tomcat底层原理分析:9.Tomcat性能调优
【本文导读】

本文主要讲了Tomcat部署后需要修改哪些默认配置,从而保证Tomca的安全性;
以及如何为我们部署在Tomcat上的Web项目设置https协议,从而进一步保证Web项目的安全性。

1.配置安全

部署完Tomcat环境之后,Tomcat会有一些默认功能和默认配置,建议按照下面的提示修改Tomcat的默认配置!!!

  1. 安装完Tomcat后,强烈建议情况webapps目录下所有的文件,即禁用Tomcat的管理界面,防止出现别人通过管理界面修改部署在Tomcat中的web服务;
  2. 注释或者删除tomcat-users.xml文件中所有用户的权限,原因同上;
  3. 定义错误页面,防止前端看到异常的堆栈信息,提高用户体验,也保障了服务的安全性(这点仅适用于前后端服务不分离的项目,如使用JSP实现前端)。
  4. 更改或禁用“关闭Tomcat的指令”,防止别人关闭Tomcat服务。
    • Tomcat中server.xml中定义了可以直接关闭Tomcat实例的管理端口(默认8005),那么用户可以通过telnet连接上该端口后,输入SHUTDOWN(默认的关闭指令)即可关闭Tomcat实例(注意,这里虽然是将实例关闭了,但是进程还在)。
    • 方法一:更改端口号和指令
    • 方法二:禁用端口

总结:Tomcat的一些默认配置能给用户提供很多便利,但是这些默认配置也很危险,一旦被被人知道,就可以很轻易对Tomcat进行入侵操作,因此建议去除这些默认配置

2.传输安全

一般在Tomcat上运行Web项目时,Tomcat为Web项目提供的传输协议是http而不是https,因此我们可以按照下面方式进行设置

step1.购买证书或者自己生成一个证书

区别在于自己生成的,浏览器并不承认,为了演示,我们使用自己生成的证书

# 1. 生成秘钥库文件
keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/cas.keystore
# -genkey:生成一对非对称密钥;
# -alias:指定密钥对的别名,该别名是公开的;
# -keyalg:指定加密算法,本例中的采用通用的RAS加密算法;
# -keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件。

# 2.将cas.keystore文件复制到tomcat/conf目录下
cp /usr/local/tomcat/cas.keystore /usr/local/tomcat/conf/cas.keystore

step2.配置tomcat/conf/server.xml,内容如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" schema="https" SSLEnabled="true">
        <SSLHostConfig certificateVerification="false">
            <Certificate certificateKeystoreFile="conf/cas.keystore"
                         certificateKeystorePassword="qwe123!@#"
                         type="RSA" />
        </SSLHostConfig>
</Connector>
<!-- certificateKeystoreFile:证书文件的路径 -->
<!-- certificateKeystorePassword:创建证书文件时设置的密码 -->
<!-- type:加密算法类型,要与创建证书时选择的一致 -->

配置完成,访问验证即可。

猜你喜欢

转载自blog.csdn.net/w_y_x_y/article/details/106931374