赞
踩
「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。
这一章节我们需要知道Tomcat基线检查的标准和加固方式。
删除 tomcat安装目录\webapps\
目录下的 docs、examples 文件夹。这两个是Tomcat提供的示例程序。
http://127.0.0.1:8080/manager/html
可以访问tomcat的控制台。
1)如果不使用控制台,可以删除tomcat安装目录\webapps\
目录下的 manager、host-manager 文件夹。
2)如果使用控制台,可以设置复杂的密码。tomcat安装目录\conf\tomcat-users.xml
。
<tomcat-users >
<user username="tomcat" password="复杂的密码" roles="manager-gui"/>
shutdown.sh
关闭tomcat服务是连接8005端口执行SHUTDOWN命令实现的。
我们直接telnet 8005端口,执行SHUTDOWN命令,也可以关闭Tomcat服务。
tomcat安装目录\conf\server.xml
设置复杂的shutdown口令。
扩展:Tomcat端口作用
tomcat安装目录\conf\web.xml
的 listings 设置为 false,重启Tomcat 服务生效。
如果开启静态目录列表,直接访问目录,并且目录下没有默认主页时,就会列出目录下的所有文件,导致目录遍历。
Tomcat 7 开始默认开启访问日志。手动开启到 tomcat安装目录\conf\server.xml
取消 AccessLogValve 的注释,重启生效。directory是目录位置、perfix是日志文件名、pattern是日志格式。
tomcat安装目录\logs\
查看 access日志。具体的日志路径和文件名取决于上一步server.xml的配置。
扩展:pattern日志格式,-
表示空。
?
。Tomcat 7.0.0 - 7.0.79 的readonly默认未false,允许PUT、DELETE等请求方式,会造成远程代码执行,比如 CVE-2017-12615。
新版本 readonly 默认为 true,并且不显示这一项。检查 tomcat安装目录\conf\web.xml
,readonly 不能为 false。
系统的 banner 信息充当欢迎语的作用,会泄露服务类型、版本号等信息。
1)HEAD请求获取的响应头信息,可能会暴漏版本号。
到 tomcat安装目录\conf\server.xml
改server的值或者删掉这个字段。一些新版本优化掉了server字段。
2)页面访问报错时,会泄露版本。
tomcat安装目录\lib\catalina.jar\org\apache\catalina\util\ServerInfo.properties
修改server.info 和 server.number。
Tomcat 7 开始默认开启自动部署,也就是热部署,会自动检查webapps目录下的的新文件并重新部署web程序。否则就需要重启Tomcat才能重新加载。
tomcat安装目录\conf\server.xml
Host 的 autoDeploy 设置成 false,关闭热部署。
Tomcat 安装目录的权限改成非root用户。使用非 root 用户启动 Tomcat。
# 创建tomcat用户
useradd tomcat
# Tomcat安装目录的所有者改为tomcat
chown -R tomcat:tomcat /opt/tomcat
# 停止Tomcat
/opt/tomcat/bin/shutdown.sh
# 切换tomcat用户
su tomcat
# 以tomcat用户的权限运行Tomcat
/opt/tomcat/bin/startup.sh
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。