Tomcat--安全配置
配置安全
- 删除webapps目录下的所有文件,禁用tomcat管理界面;
- 注释或者删除tomcat-users.xml文件的所有用户权限;
- 更改关闭tomcat指令或禁用
tomcat的server.xml中定义了可以直接关闭Tomcat实例的管理端口(默认8005)。可以通过telnet连接上该端口之后,输入SHUTDOWN(此为默认关闭指令)即可关闭Tomcat实例(注意,此时虽然实例关闭了,但是进程还是存在的)。
方案一:更改端口和指令
方案二:禁用8005端口:
定义错误页面
在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个特性:
- 保密:通过SSL链接传输的数据是加密的
- 鉴别:通信双方的身份鉴别,通常是可选的,但至少有一方需要验证
- 完整性:传输数据的完整性监察
从性能角度考虑,加密、解密是一项昂贵的处理,因为尽量不要将整个Web应用采用SSL,实际部署过程中,选择有必要进行安全加密的页面(存在敏感信息传输的页面)采用SSL通信。
HTTP和HTTPS的区别主要为以下四点:
- HTTPS协议需要到证书颁发机构CA申请证书,然后与域名进行绑定,HTTP不用申请证书;
- HTTP是超文本传输协议,属于应用层信息传输,HTTPS则是具有SSL加密的安全性传输协议,相当于HTTP的升级版;
- HTTP和HTTPS使用的是完全不同的链接方式,用的端口也不一样,HTTP为80,HTTPS为443;
- HTTP的连接是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
HTTPS协议优势:
- 提高网站排名,有利于SEO;
- 隐私信息加密,放置流量劫持;
- 浏览器授信任;
Tomcat对HTTPS的支持:
使用JDK的keytool生成密钥库文件
keytool -genkey -alias tomcat -keyalg RSA -keystore tomcatkey.keystore
输入对应的密钥库密码,密钥密码等信息之后,会在当前文件夹中出现一个密钥库文件:tomcatkey.keystore
- 将密钥库文件复制到
tomcat/conf
目录下 配置tomcat/conf/server.xml
还没有评论,来说两句吧...