安全服务之安全基线及加固(四)Tomcat篇

2020-07-27 16:41:45 浏览数 (1)

此文章为原创连载文章,关注公众号,持续更新

欢迎投稿及转载,标明来源作者即可。

0x01 前言

又到了木偶人哈克尔的笔记分享~有人期待嘛~

安全服务工程师大家应该都知道,对于他的岗位职责你可能会说不就是渗透测试啊、应急响应嘛.....实际上正式一点的企业对于安服的要求是包括了漏洞扫描、安全基线检查、渗透测试、安全加固、日志分析、恶意代码检查、应急响应、安全加固等差不多十个方面的内容的。内容多吗?我也觉得多!

对于基线加固说,不管是对于安服还是安全运营人员来说都是被要求的!接着上回的分享,一起来看看呗!

0x02 Apache与Tomcat的区别

1、apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展。

2、apache和tomcat都可以做为独立的web服务器来运行。但是apache不能解释java程序(jsp,serverlet)

3、Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)

4、两者都是一种容器,只不过发布的东西不同。apache是html容器,功能像IIS一样,tomcat是jsp/servlet容器,用于发布JSP及JAVA的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等

5、apache和tomcat是独立的,在同一台服务器上可以集成。

(Apache安装啥的就没必要说了叭~)

0x03 删除文档和实例程序

安全基线项说明:删除文档和示例程序

检查方法 :打开tomcat_home/webapps文件夹,默认存在docs和examples文件夹

加固方法:建议删除docs和examples文件夹

0x04 设置shutdown字符串

安全基线项说明:防止恶意用户telnet到8005端口后,发送SHUTDOWN命令停止tomcat服务

检查方法:打开tomcat_home/conf/server.xml,查看是否设置了复杂的字符串

<Server port="8005"shutdown="复杂的字符串">

加固方法:设置复杂的字符串,防止恶意用户猜测

0x05 检查控制台口令

安全基线项说明:加固tomcat控制台,设置复杂的口令

检查方法:

(1)如果不需要使用控制台

Tomcat 6.x/7.x:

默认通过http://ip:8080/manager/html可以访问tomcatmanager,如果不需要使用,建议删除tomcat_home/webapps/manager和host-manager文件夹;

(2)如果需要使用tomcatmanager

Tomcat 5.x/6.x:

打开tomcat_home/conf/tomcat-users.xml,查看用户密码复杂度

例如:

<role rolename="manager"/>

<user username="tomcat"password="复杂的口令"roles="manager"/>

0x06 禁止列目录

安全基线项说明:防止直接访问目录时由于找不到默认主页而列出目录下所有文件

检查方法:打开应用程序的web.xml,查看listings是否设置为false

<param-name>listings</param-name>

<param-value>false</param-value>

0x07 日志审核

安全基线项说明:检查tomcat是否记录了访问日志

检查方法:tomcat的日志信息默认存放在tomcat_home/logs中,访问日志默认未开启

加固方法:

如果tomcat前端有Apache,Apache可以记录访问日志。

如果tomcat独立运行,可以开启tomcat访问日志,修改tomcat_home/conf/server.xml,取消注释:

<ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"

prefix="localhost_access_log."suffix=".txt" pattern="common"resolveHosts="false"/>

启用access_log后,重启tomcat,在tomcat_home/logs中可以看到访问日志

注:这里记录的时间转换为北京时间需要 8小时

0x08 禁止非法HTTP方法

安全基线项目名称:禁用PUT、DELETE等危险的HTTP方法

检查方法:编辑web.xml文件中配置,查看readonly的param-value值是否为false

加固方法:编辑web.xml文件中配置,将readonly的param-value值设为false

org.apache.catalina.servlets.DefaultServlet的

<init-param>

<param-name>readonly</param-name>

<param-value>false</param-value>

</init-param>

0x09 系统Banner信息

安全基线项说明:修改系统Banner信息

检查方法:

telnet判断信息:

telnet ip 8080

HEAD /HTTP1.1然后两次回车,可以看到server的信息

0x11 后记

刚八得~~~中间的内容都差不多啦!!希望内容多多少少能对你有用哦!有问题的地方,还请大哥们轻喷!!

看一看,点个收藏,关注一下信安旅程~有需要的时候还能拿出来翻翻!

0 人点赞