配置安全
一)删除webapps目录下的所有文件,禁用tomcat管理界面;
二)注释或者删除tomcat-users.xml文件内所有用户的权限;
三)更改关闭tomcat指令或者禁用
tomcat的server.xml中定义了可以直接关闭tomcat实例的管理端口(默认8005)。可以通过telnet连接上该端口后,输入SHUTDOWN(此为默认关闭指令)即可关闭tomcat实例。由于默认关闭tomcat的端口和指令都很简单,默认端口为8005,指令为SHUTDOWN。
方案一:
更改端口号和指令
<Server port="1234" shutdown="my_shutdown">
方案二:
禁用8005端口
<Server port="-1" shutdown="SHUTDOWN">
四)定义错误页面
在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>
这样配置后,用户在访问资源出现404,500异常,就能看到我们自定义的错误页面,而不会看到异常的堆栈消息,提高了用户的体验,也保障了服务的安全性。
应用安全
在大部分的web应用中,特别是一些后台应用系统,都会实现自己的安全管理模块(权限模块),用于控制应用系统的安全访问,基本包含两个部分:认证(登录/单点登录)和授权(功能权限、数据权限)两个部分。对于当前的业务系统,可以自己做一套适用于自己业努系统的权限模块,也有很多的应用系统直接使用一些功能完善的安全框架,将其集成到我们的web应用中,如: Spring Security、 Apache Shiro等。
传输安全
tomcat 支持https
①生成秘钥库文件
keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
输入秘钥库密码,秘钥密码之后,会在当前文件夹下生成tomcat.keystore文件
②将秘钥文件tomcat.keystore复制到tomcat/conf目录下
③配置tomcat/conf/server.xml
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="D:/tomcat/conf/tomcat.keystore" keystorePass="yangjie" />
④使用https访问tomcat:https://localhost:8443/