0x00 寻找tomcat目录

文件路径

寻找webapps

sudo find / -type d -name webapps

寻找tomcat-users.xml

sudo find / -type f -name tomcat-users.xml

0x01 安全配置

tomcat_home以自己实际路径为准

*禁止以root权限运行tomcat

*删除tomcat文档和示例程序
tomcat_home/webapps 删除docs和examples文件夹

*如不需使用,删除tomcat manager
删除 tomcat_home/webapps/manager
或设置复杂的密码,查下列文件
tomcat_home/conf/tomcat-users.xml,查看用户密码复杂度.
例如: 
<role rolename="manager"/>
<user username="tomcat" password="复杂的口令" roles="manager"/>

*修改SHUTDOWN字符串,当然这里也可通过防火墙限制端口
 防止恶意用户 telnet 到 8005 端口后,发送 SHUTDOWN 命令停止 tomcat 服务
 打开 tomcat_home/conf/server.xml,
 查看是否设置了复杂的字符串 <Server port="8005" shutdown="复杂的字符串">

*禁止列目录
 打开应用程序的 web.xml,查看 listings 是否设置为 false 
 <param-name>listings</param-name> 
 <param-value>false</param-value>

*记录日志
 tomcat 的日志信息默认存放在 tomcat_home/logs 中,访问日志默认未开启
 如果 tomcat 前端有 Apache,Apache 可以记录访问日志。如果 tomcat 独立运行,可   以开启 tomcat 访问日志,修改 tomcat_home/conf/server.xml,取消注释:

<Valve className="org.apache.catalina.valves.AccessLogValve" 
directory="logs" prefix="localhost_access_log." suffix=".txt" 
pattern="common" resolveHosts="false"/>

*定义错误信息

查看应用程序的 web.xml 中<error-page> </error-page> 部分的设置
修改应用程序的 web.xml,在最后</web-app>一行之前加入以下内容 

1、表示出现 404 未    找到网页的错误时显示 404.html 页面 <error-page>
<error-code>404</error-code>
<location>/404.html</location> </error-page>

2、建议自定义 403,404,500 错误的页面
(表示出现 java.lang.NullPointerException 错误时显示 error.jsp 页 面
<error-page> 
<exception-type>java.lang.NullPointerException
</exception-type> <location>/ error.jsp</location>
</error-page>

0x02 限制IP

只放过tomcat监听的web

iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT

0x03 参考

Apache Tomcat的安全相关东西

发表评论

电子邮件地址不会被公开。 必填项已用*标注