14、web 中间件加固-Tomcat 加固
1.用户配置
如果不需要控制台管理,请更改控制台用户文件注销账号信息;如果需要,请更改账户信息
修改 tomcat/conf/tomcat-user.xml 文件
注释或修改如下信息
<role rolename="manager-gui"/> <user username="admin" password="ABCabd123!" roles="manager=gui"/>
2.开启 tomcat 的访问日志
修改 conf/server.xml 文件
去掉如下行的注释符
<Value className="org.apache.catalina.values.AccessLogValue" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
3.自定义 404 错误页面
在网站根目录下新建 noFile.html 文件
查看并启用 tomcat/conf/web.xml 文件中下列代码
<error-page> <error-code>404</error-code> <location>/noFile.html</location> </error-page>
4.关闭目录浏览
防止浏览器查看目录内容
编辑 tomcat/conf/web.xml 配置文件
<init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> 把 true 改为 false
5.使用安全的 http 请求
禁用不安全的 http 请求方式
编辑 tomcat/conf/web.xml 配置
添加或修改如下信息
<security-constraint> <web-resource-collection> <url-pattern>/*</url-pattern> <http-method>PUT</http-method> <http-method>DELETE</http-method> <http-method>HEAD</http-method> <http-method>OPTIONS</http-method> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> </login-config>
6.限制 IP 访问
访问来源白名单
编辑 tomcat/conf/server.xml
添加:
<value className="org.apache.catalina.values.RemoteAddrValue" allow="IP地址" deny="" />
allow:白名单
dent:黑名单
7.登录超时退出,修改默认端口
编辑 tomcat/conf/server.xml 文件
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="300" redirectPort="8443" acceptCount="500" maxThreads="400" />
5.5 以下为:
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="300" useURIValidationHack="false" protocolHandlerClassName="org.apache.jk.server.JkCoyotrHandler" />
8.启动 https 加密访问
使用 jdk 的 keytools 生成密钥对
keytool -genkey -alias tomcat -keyalg RSA -keystore /mydir/keystore
修改 tomcat 的 web.xml 文件取消注释信息后添加密钥路径和访问密码
<Connector port="8443" protocol="org.apache.coyote.http11.Http11protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" keystoreFile="/mydir/keystore" keystorePass="123.com" sslProtocol="TLS" />
9.随时更新补丁
http://httpd.tomcat.org