linux下tomcat安全配置

0x00 删除默认目录


安装完tomcat后,删除$CATALINA_HOME/webapps下默认的所有目录文件

#!bash
rm -rf /srv/apache-tomcat/webapps/*

0x01 用户管理


如果不需要通过web部署应用,建议注释或删除tomcat-users.xml下用户权限相关配置

p1

0x02 隐藏tomcat版本信息


方法一

修改$CATALINA_HOME/conf/server.xml,在Connector节点添加server字段,示例如下

p2

p3

方法二

修改$CATALINA_HOME/lib/catalina.jar::org/apache/catalina/util/ServerInfo.properties

默认情况下如图

p4

p5

用户可自定义修改server.info字段和server.number字段,示例修改如下图所示。

p6

p7

0x03 关闭自动部署


如果不需要自动部署,建议关闭自动部署功能。在$CATALINA_HOME/conf/server.xml中的host字段,修改unpackWARs="false" autoDeploy="false"

p8

0x03 自定义错误页面


修改web.xml,自定义40x、50x等容错页面,防止信息泄露。

p9

0x05 禁止列目录(高版本默认已禁止)


修改web.xml

p10

0x06 AJP端口管理


AJP是为 Tomcat 与 HTTP 服务器之间通信而定制的协议,能提供较高的通信速度和效率。如果tomcat前端放的是apache的时候,会使用到AJP这个连接器。前端如果是由nginx做的反向代理的话可以不使用此连接器,因此需要注销掉该连接器。

p11

0x07 服务权限控制


tomcat以非root权限启动,应用部署目录权限和tomcat服务启动用户分离,比如tomcat以tomcat用户启动,而部署应用的目录设置为nobody用户750。

0x08 启用cookie的HttpOnly属性


修改$CATALINA_HOME/conf/context.xml,添加<Context useHttpOnly="true">,如下图所示

p12

测试结果

p13

p14

配置cookie的secure属性,在web.xml中sesion-config节点配置cooker-config,此配置只允许cookie在加密方式下传输。

p15

测试结果

p16

©乌云知识库版权所有 未经许可 禁止转载


30
气质鸵鸟 2016-05-30 09:24:06

降权的地方还可以深入一下

30
cfan 2016-05-26 14:38:16

mark

30
vforbox 2016-05-26 10:18:47

mark 写的不错

30
谢谢分享 2016-05-25 19:17:31

赞一个,不错~ 再问一句,0x04去哪里了? :)

30
depycode 2016-05-25 17:25:03

收藏了,感谢分享!

30
qglfnt 2016-05-25 14:38:38

不错,学习了

30
xsser 2016-05-25 14:09:55

不错 小地方很深入

30
小r00to1 2016-05-25 10:51:29

good

30
小饼仔 2016-05-25 10:16:22

30
mono 2016-05-25 09:42:43

这个paper好及时,赞!

感谢知乎授权页面模版