此文章为原创连载文章,关注公众号,持续更新
欢迎投稿及转载,标明来源作者即可。
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 后记
刚八得~~~中间的内容都差不多啦!!希望内容多多少少能对你有用哦!有问题的地方,还请大哥们轻喷!!
看一看,点个收藏,关注一下信安旅程~有需要的时候还能拿出来翻翻!