当前位置:   article > 正文

Tomcat 十大安全优化方法(详解版)_tomcat优化的几种方法

tomcat优化的几种方法

目录

1 talnet管理端口保护

2 AJP连接端口保护

3 禁用管理器

4 降权启动

5 控制文件列表的访问

6 隐藏版本信息

7 server header重写

8 限制IP访问

9 修改脚本权限

10 访问日志格式规范


1 talnet管理端口保护

配置内容

(1)修改默认8005管理端口(要求:在8000~8999之间)

(2)修改shutdown指令为其他字符串。

配置: 

以我的为例,我的Tomcat安装application目录下。

vi /application/tomcat/conf/server.xml

将 <Server port="8005" shutdown="SHUTDOWN"> 中的8005shutdown修改即可,例如:<Server port="8123" shutdown="mortal">。

2 AJP连接端口保护

配置内容

(1)修改默认的AJP 8009端口(要求:在8000~8999之间)

(2)限制AJP端口访问的权限为线上机器(iptables规则)

【防止线下的测试流量被转发到Tomcat服务器端】

配置

vi /application/tomcat/conf/server.xml

将port="8009"中8009修改即可,例如:port="8234"。

3 禁用管理器

配置内容

(1)删除Tomcat目录下的/conf/tomcat-users.xml文件,重启Tomcat后会自动生成新文件

(2)删除Tomcat目录下的/webapps目录下所有内容。

(3)将Tomcat应用根目录配置为Tomcat安装目录以外的目录。

【Tomcat管理端如果被黑客攻破,将会获取服务器的控制权,后果不敢想象!】

配置

  1. rm -rf /application/tomcat/conf/tomcat-users.xml
  2. rm -rf /application/tomcat/webapps/*
  3. vi /application/tomcat/conf/server.xml

将<Host name="localhost"  appBase="webapps" 中的webapps修改即可,例如:<Host name="localhost"  appBase="/application/test/webapps"。

【要求修改后的目录必须存在!不存在则使用mkdir -p命令创建】

4 降权启动

配置内容

降低Tomcat启动用户的目录访问权限(必须为非root权限)

【避免Tomcat服务被入侵时,直接获取高级用户权限,后果极其严重!】

配置

(1)创建用户

useradd tomcat

(2)新建目录

mkdir -p /home/tomcat

(3)将原本的Tomcat复制到新创建的目录下并改名为tomcat_1

cp -a /application/tomcat/ /home/tomcat/tomcat_1

(4)修改属组和属主

chown -R tomcat:tomcat /home/tomcat/tomcat_1/

(5)通过普通用户将新生成的tomcat_1运行起来

su -c '/home/tomcat/tomcat_1/bin/startup.sh' tomcat

 【关闭使用 su -c '/home/tomcat/tomcat_1/bin/shutdown.sh' tomcat 命令即可】

5 控制文件列表的访问

配置内容

修改Tomcat目录下的 /conf/web.xml 文件中的default部分。

【true表示允许列出目录文件,false表示不列出目录文件】

配置

vi /application/tomcat/conf/web.xml

默认就是false,不需要修改。

6 隐藏版本信息

配置内容

(1)修改Tomcat目录下的 /conf/web.xml 文件中的403、404、500等错误页面。

(2)修改Tomcat应用程序目录下的 WEB-INF/web.xml 文件中配置进行错误页面的重定向。(在Tomcat安装目录中,webapps是放置web应用的目录。在Tomcat的webapps目录下,针对每个web应用程序都有一个目录,例如:在 webapps 下新建一个名为 myapp 的目录,那么 myapp 目录下的 WEB-INF 目录就是存放 Web 应用程序的配置文件和类文件的目录。WEB-INF 目录下的 web.xml 是该web应用的核心配置文件,其他在WEB-INF/classes和WEB-INF/lib下的文件则是该web应用程序所使用的类和jar包。)

【避免出现错误时错误页面暴露出服务器或者版本信息,还必须确保修改后的重定向页面必须存在】

配置

vi /application/tomcat/conf/web.xml

在文件最下方</web-app>上面添加如下内容:

  1. <error-page>
  2. <error-code>403</error-code>
  3. <location>/forbidden.jsp</location>
  4. </error-page>
  5. <error-page>
  6. <error-code>404</error-code>
  7. <location>/force.jsp</location>
  8. </error-page>
  9. <error-page>
  10. <error-code>500</error-code>
  11. <location>/mortal.jsp</location>
  12. </error-page>

其中网站发布目录的根目录下面(Tomcat中webapps/)必须存在forbidden.jspforce.jspmortal.jsp

7 server header重写

配置内容

在Connector参数中加入server配置。

【修改HTTP响应中的Server头来重写Tomcat服务器的标识,重启Tomcat之后,相应的HTTP响应中的Server头就会被重写为你设置的标识。】

配置

vi /application/tomcat/conf/server.xml

Connector参数:

在其中添加如下内容:

server=”myweb-server

添加完成后保存退出即可。

8 限制IP访问

配置内容

通过配置,限制IP的访问来源。

【配置信任IP的白名单,同时拒绝非白名单IP的访问。】

配置

修改Tomcat主配置文件server.xml

vi /application/tomcat/conf/server.xml

host参数下面添加如下内容:

  1. <Context path="" docBase="/application/tomcat/webapps/test" debug="0" reloadable="false" crossContext="true"/>
  2. <Value className=”org.apache.catalina.values.RemoteAddrValue” allow=192.168.10.123,192.168.124*” deny=*.*.*.*/>
  3. </Context>

 添加完毕后保存退出。

9 修改脚本权限

配置内容

去除其他用户对Tomcat目录下的bin目录下的文件(例如:shutdown.shstartup.shcatalina.sh等)的可执行权限。

【防止其他用户有启动/停止Tomcat的权限】

配置

chmod -R 774 /application/tomcat/bin/*

10 访问日志格式规范

配置内容

开启Tomcat默认访问日志中RefererUser-Agent记录。

【一旦出现安全问题能够更好的根据日志进行问题排查和解决】

配置

vi /application/tomcat/conf/server.xml

%b后添加如下内容:

%{Referer}i %{User-Agent}i %D" resolveHosts="false"

添加完成后,保存退出即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/752469
推荐阅读
相关标签
  

闽ICP备14008679号