Tomcat安全设置
- 更改端口
描述
tomcat的默认端口是8080 ,攻击者可以据此运行扫描工具进行端口扫描,从而获取部署了tomcat的Web服务器然后实施攻击。因此,为了安全期间我们可以修改此默认端口。
检查提示
配置文件路径:apache-tomcat-9.0.39/conf/server.xml
加固建议
- 使用编辑器对配置文件进行编辑;将port:8080改成其他端口号
- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- 注释或删除tomcat-users.xml文件内的所有用户权限
描述
tomcat的后台管理员为admin并且默认为空密码
检查提示
配置文件路径:apache-tomcat-9.0.39/conf/tomcat-users.xml
加固建议
1、 禁用账号, 将下面的权限和用户注释
3. 删除webapps下默认所有目录和文件
描述
删除apache-tomcat-9.0.39/webapps中的项目文件
检查提示
路径:apache-tomcat-9.0.39/webapp
加固建议
删除webapp文件夹下面的docs、examples、ROOT。重命名host-manager目录名,如改为host-manager-1,
重命名manager目录名,如改为manager-1;
4、自定义错误页面
描述
web.xml是在某一个应用下面的,他处理的应当是本应用的404,而http://localhost/访问的是tomcat自已的应用,那么这个web.xml配置就应当在webapp/ROOT/下面的应用来配了, ROOT目录下面放着Tomcat的应用
检查提示
配置文件路径:apache-tomcat-9.0.39/conf/web.xml
加固建议 、
1、web.xml追加下面配置
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
2、apache-tomcat-9.0.39/webapp/ROOT文件夹中新建404.html,内容如下:
<html>
<head>
<title>404</title>
</head>
<body>
<p>404</p>
</body>
</html>
5、AJP端口管理
描述
web.xml是AJP是为了Tomcat和AJP之间通信而制定的协议,有比较高的通信速度和效率。若tomcta前面用nginx反向代理则可以忽略ajp连接器(connector)
如若使用的是apache httpd服务器则不能关闭ajp连接器
关闭该连接器只需要注释掉server.xml中对应的节点即可
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
检查提示
配置文件路径: apache-tomcat-9.0.39/conf/server.xml
加固建议
关闭该连接器只需要注释掉server.xml中对应的节点即可
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
6、关闭服务器端口
描述
telnet 命令链接tomcat shutdown端口后,输入shutdown命令可以停止tomcat服务(端口在Server.xml文件中)如下:
<Server port="8005" shutdown="SHUTDOWN">
telnet 127.0.0.1 8005 然后输入shutdown即可停止服务。
检查提示
配置文件路径:apache-tomcat-9.0.39/conf/server.xml
加固建议
如果不改关闭端口或关闭命令,别人会通过端口号和命令关闭服务,出于安全考虑,需要改变端口号或关闭命令。如下,将shutdown命令改变为QUIT
<Server port="8005" shutdown="QUIT">
7、启用cookie的HttpOnly
描述
修改cookie的HttpOnly属性,就无法通过脚步获得cookie的信息。
检查提示
配置文件路径:apache-tomcat-9.0.39/conf/context.xml
加固建议
8、禁止目录列表
描述
配置文件列表访问控制 (禁止目录列表,防止文件名泄漏)
检查提示
配置文件路径:apache-tomcat-9.0.39/conf/web.xml
加固建议