tomcat安全
配置安全
- 1.删除webapps目录下的所有文件
- 2.禁用tomcat管理界面
- 3.注释或删除tomcat-users.xml文件内的所有用户权限;
- 4.更改关闭tomcat指令或禁用;
- tomcat的server.xml中定义了可以直接关闭 Tomcat 实例的管理端口(默认8005)。可以通过 telnet 连接上该端口之后,输入 SHUTDOWN (此为默认关闭指令)即可关闭Tomcat实 例(注意,此时虽然实例关闭了,但是进程还是存在的)。由于默认关闭Tomcat 的端口和指令都很简单。默认端口为8005,指令为SHUTDOWN 。
- 方法一:
更改端口号和指令: <Server port="8456" shutdown="itcast_shut">
- 方法二:
禁用8005端口: <Server port="‐1" shutdown="SHUTDOWN">
- 5.定义错误页面
- 在webapps/ROOT目录下定义错误页面 404.html,500.html;然后在tomcat/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> <error‐page> <exception‐type>java.lang.Exception</exception‐type> <location>/error.jsp</location> </error‐page>
- 这样配置之后,用户在访问资源时出现404,500这样的异常,就能看到我们自定义的错误页面,而不会看到异常的堆栈信息,提高了用户体验,也保障了服务的安全性。
- 6.修改三个默认端口(8080,8005[可以禁止],8009[可以注释掉])
- 7.采用监牢模式,用普通用户管理tomcat
- 8.修改sever.xml中host组件默认头部信息
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> ... </Host>
- 9.server.xml中host组件做IP访问控制
<Host appBase="webapps(相当于root)" autoDeploy="true" name="localhost(类似server_name)" unpackWARs="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" allow="172.16.1.8,172.16.3.*" deny="*.*.*.*"(IP做访问控制) pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." resolveHosts="false" suffix=".txt"/>
- 10.规定脚本权限
防止其它用户可以执行 tomcat命令 chmod -R 700 /aplication/tomcat/bin/*
传输安全
HTTPS介绍
- HTTPS的全称是超文本传输安全协议(Hypertext Transfer Protocol Secure),是一种网络安全传输协议。在HTTP的基础上加入SSL/TLS来进行数据加密,保护交换数据不被泄露、窃取。
- SSL 和 TLS 是用于网络通信安全的加密协议,它允许客户端和服务器之间通过安全链接通信。SSL 协议的3个特性:
- 保密:通过SSL链接传输的数据时加密的。
- 认证和加密:通信双方的身份鉴别,通常是可选的,单至少有一方需要验证。
- 完整性:传输数据的完整性检查。
- 从性能角度考虑,加解密是一项计算昂贵的处理,因为尽量不要将整个Web应用采用SSL链接, 实际部署过程中, 选择有必要进行安全加密的页面(存在敏感信息传输的页面)采用SSL通信。
- HTTPS和HTTP的区别主要为以下四点:
- HTTPS协议需要到证书颁发机构CA申请SSL证书, 然后与域名进行绑定,HTTP不用申请证书;
- HTTP是超文本传输协议,属于应用层信息传输,HTTPS 则是具有SSL加密传安全性传输协议,对数据的传输进行加密,相当于HTTP的升级版;
- HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是8080,后者是8443。(这里是tomcat)
- HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全
- HTTPS协议优势:
- 提高网站排名,有利于SEO。谷歌已经公开声明两个网站在搜索结果方面相同,如果一个网站启用了SSL,它可能会获得略高于没有SSL网站的等级,而且百度也表明对安装了SSL的网站表示友好。因此,网站上的内容中启用SSL都有明显的SEO优势。
- 隐私信息加密,防止流量劫持。特别是涉及到隐私信息的网站,互联网大型的数据泄露的事件频发发生,网站进行信息加密势在必行。
- 浏览器受信任。 自从各大主流浏览器大力支持HTTPS协议之后,访问HTTP的网站都会提示“不安全”的警告信息。
tomcat配置ssl
这里写的非常简单,一般证书都是部署在负载均衡上的
- 1.将秘钥库文件 tomcatkey.keystore 复制到tomcat/conf 目录下
- 2.配置tomcat/conf/server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" schema="https" secure="true" SSLEnabled="true"> <SSLHostConfig certificateVerification="false"> <Certificate certificateKeystoreFile="D:/application/tomcat/conf/tomcatkey.keystore" certificateKeystorePassword="itcast" type="RSA" /> </SSLHostConfig> </Connector>
- 3.访问Tomcat ,使用https协议测试
继续阅读

我的微信
这是我的微信扫一扫
评论