Tomcat--安全配置

配置安全

  1. 删除webapps目录下的所有文件,禁用tomcat管理界面;
  2. 注释或者删除tomcat-users.xml文件的所有用户权限;
  3. 更改关闭tomcat指令或禁用

tomcat的server.xml中定义了可以直接关闭Tomcat实例的管理端口(默认8005)。可以通过telnet连接上该端口之后,输入SHUTDOWN(此为默认关闭指令)即可关闭Tomcat实例(注意,此时虽然实例关闭了,但是进程还是存在的)。

  • 方案一:更改端口和指令
<Server port="8456" shutdown="xxxxx">
  • 方案二:禁用8005端口:
<Server port="-1" shutdown="SHUTDOWN">

定义错误页面

在webapps/ROOT目录下定义错误页面404.html、500.html,然后在tocmat/conf/web.xml中进行配置:

<error-page>
	<error-code>404</error-code>
	<location>/404.html</location>
</error-page>
<error-page>
	<error-code>500</error-code>
	<location>/500.html</location>
</error-page>

这样配置之后,用户在访问资源时出现404,500这样的异常,就可以看到自定义的错误页面。

应用安全

在大部分web应用中,特别是一些后台应用系统,都会实现自己的安全管理模块(权限模块),用于控制应用系统的安全访问,基本包含两个部分:认证(登录/单点登录)和授权(功能授权/数据授权)两个部分。功能完善的安全框架如:SpringSecurity、Apache Shiro等。

传输安全

HTTPS的全程是超文本传输安全协议(Hypertext Transfer Protocol Secure),是一种网络安全协议。在HTTP的基础上加入SSL/TLS来进行数据加密,保护交换数据不被窃取、泄露。

SSL和TLS是用于网络通信安全的加密协议,它允许客户端和服务器之间通过安全链接通信。SSL协议的3个特性:

  1. 保密:通过SSL链接传输的数据是加密的
  2. 鉴别:通信双方的身份鉴别,通常是可选的,但至少有一方需要验证
  3. 完整性:传输数据的完整性监察

从性能角度考虑,加密、解密是一项昂贵的处理,因为尽量不要将整个Web应用采用SSL,实际部署过程中,选择有必要进行安全加密的页面(存在敏感信息传输的页面)采用SSL通信。

HTTP和HTTPS的区别主要为以下四点:

  1. HTTPS协议需要到证书颁发机构CA申请证书,然后与域名进行绑定,HTTP不用申请证书;
  2. HTTP是超文本传输协议,属于应用层信息传输,HTTPS则是具有SSL加密的安全性传输协议,相当于HTTP的升级版;
  3. HTTP和HTTPS使用的是完全不同的链接方式,用的端口也不一样,HTTP为80,HTTPS为443;
  4. HTTP的连接是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

HTTPS协议优势:

  • 提高网站排名,有利于SEO;
  • 隐私信息加密,放置流量劫持;
  • 浏览器授信任;

Tomcat对HTTPS的支持:

  1. 使用JDK的keytool生成密钥库文件
keytool -genkey -alias tomcat -keyalg RSA -keystore tomcatkey.keystore

输入对应的密钥库密码,密钥密码等信息之后,会在当前文件夹中出现一个密钥库文件:tomcatkey.keystore

  1. 将密钥库文件复制到tomcat/conf目录下
  2. 配置tomcat/conf/server.xml
<Connector port="8843" protocol="org.apache.coyote.http11.Http11NioProtocol"
	maxThreads="150" schema="https" secure="true" SSLEnable="true">
	<SSLHostConfig certificateVerification="false">
		<Certificate certificateKeystoreFile="密钥库文件位置" certificateKeystorePassword="密码" type="RSA"/>
	</SSLHostConfig>
</Connector>
发布了892 篇原创文章 · 获赞 2314 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/cold___play/article/details/105169193