专栏首页小白帽学习之路安全服务之安全基线及加固(四)Tomcat篇

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

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

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

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 后记

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

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

本文分享自微信公众号 - 程序员阿甘(gh_a2e36d69d566),作者:木偶人哈克尔

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【实战】提权某找小姐网站服务器

    目标是一个asp+Sqlserver+Windows Server 2008 R2,网站长啥样?

    7089bAt@PowerLi
  • 安全服务之安全基线及加固(三)Apache篇

    安全服务工程师大家应该都知道,对于他的岗位职责你可能会说不就是渗透测试啊、应急响应嘛.....实际上正式一点的企业对于安服的要求是包括了漏洞扫描、安全基线...

    7089bAt@PowerLi
  • 精华 | SQL注入万能Bypass技巧

    很多同学问注入bypass的一些细节,刚好前几天晚上做了一个梦,梦里进行了一些测试,今天觉得应该记录一下。

    7089bAt@PowerLi
  • tomcat漏洞利用与防护

    tomcat是apache的一个中间件软件,其可以提供jsp或者php的解析服务,为了方便远程管理与部署,安装完tomcat以后默认会有一个管理页面,管理员只需...

    周俊辉
  • SpringBoot解决内、外tomcat部署兼容问题

    我们在使用springBoot开发的过程中出于方便,都会选择使用本地类Application中的main方法启动服务,即可实现本地的调试,十分的...

    Java深度编程
  • 第九章 tomcat配置

    上一章,我们介绍了apache服务的部署,其中我们介绍过网页开发所用到的语言,以asp、jsp、php为主,我们已经演示过php页面的使用。本章我们将演示jsp...

    晓天
  • Linux 环境定时重启 tomcat

    亲手搭建的博客系统经常会宕机,一直想着定时检测tomcat服务挂掉之后进行重启操作。昨天终于有时间,就把这个事情做了一下,最终可以正常工作。本篇就记录一下我解决...

    不安分的猿人
  • 将tomcat添加为linux系统服务

      在博客 --》virtualBox安装centos,并搭建tomcat中,讲到了centos下搭建tomcat环境,发现启动tomcat不是那么方便,要是忘...

  • Tomcat进阶操作

    这个文件的内容可以效仿系统自带的manager页面认证的配置文件/application/tomcat/webapps/manager/WEB-INF/web....

    山山仙人
  • Linux之tomcat安装

      Linux上安装tomcat的系统环境只需要安装好jdk即可,然后下载对应的tomcat即可, 官网地址:http://tomcat.apache.org...

    用户4919348

扫码关注云+社区

领取腾讯云代金券