Tomcat中间件安全加固

Tomcat中间件安全加固

1、设置口令长度和复杂度

  • Tomcat/conf/tomcat-user.xml 配置文件中设置密码为复杂密码,
  • Tomcat/conf/server.xml配置文件中为shutdown设置复杂密码

2、禁止 Tomcat 列表显示文件

编辑 Tomcat/conf/web.xml 配置文件,

<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>true 改成 false  

3、禁用非法HTTP方法

Tomcat默认情况下允许所有HTTP方法。如果您希望禁用某些HTTP方法,可以配置Tomcat的/conf/web.xml文件里的org.apache.catalina.servlets.DefaultServlet 的值。

<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>

readonly 参数默认是 true,即允许 delete 和 put 操作,修改 为 false。修改后重启 Tomcat 服务。

4、删除无关文件和目录*

  • Tomcat/webapps目录,删除docs、examples、host-manager、manager目录。
  • 删除默认的/conf/tomcat-users.xml文件

5、更改Tomcat服务器默认端口

(1)打开Tomcat安装目录下的conf文件夹。
(2)打开文件server.xml。
(3)找到以下代码块

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
此代码块指定了Tomcat的默认端口为8080

(4)更改port属性的值来更改Tomcat的默认端口。

6、禁用超级用户启用Tomcat,使用普通用户启动Tomcat

(1)新建 Tomcat 用户:useradd tomcat
(2)设置密码:passwd tomcat
(3)将 Tomcat 目录改为 Tomcat
chown -R tomcat:tomcat /home/tomcat
(4)停止原来的 Tomcat 服务
(5)切换到 Tomcat 用户,启动 Tomcat

7、脚本权限回收

Tomcat/bin目录下的start.sh、catalina.sh、shutdown.sh的权限不高于744

chmod -R 744 Tomcat/bin/*

8、设置防止恶意关闭tomcat服务*

方法1:修改Tomcat服务的启动方式,建议使用非root账号启动Tomcat服务。
方法2:使用iptables限制对Tomcat服务的访问,只允许特定的IP地址或IP地址段访问Tomcat服务。

9、配置Tomcat错误页面重定向

查看 tomcat/conf/web.xml 文件,新增或修改如下配置:

<error-page>
<error-code>404</error-code>
<location>/错误页面</location>
</error-page>
......
<error-page>
<exception-type>java.lang.NullPointerException</except
ion-type>
<location>/error.jsp</location>
</error-page>

10、配置日志功能

编辑 server.xml 配置文件,在 标签中增加记录日志功能 将以下内容的注释标记< ! – – > 取消

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  prefix="localhost_access_log" suffix=".txt"
  pattern="%h %l %u %t "%r" %s %b" />

11、设置连接超时时间

编辑 Tomcat/conf/server.xml 配置文件,连接超时修改为5000秒

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="5000"
               redirectPort="8443" />
注意:连接超时时间和持续连接超时时间可能会影响Tomcat的性能。应该根据您的实际情况进行测试和优化。

12、设置连接数

  • 编辑/Tomcat/conf/server.xml文件,样例如下: minSpareThreads=“25” //表示即使没有人使用也开这么多空线程等待,根据实际情况设置连接数。
  • 编辑server.xml文件,样例如下: maxThreads=“150” //表示最多同时处理150个连接,根据实际情况配置连接数。

13、保护telnet管理端口

修改默认的8005管理端口或禁用,修改SHUTDOWN命令为其他字符串。

<Server port="8578" shutdown="close" > # 更改
<Server port="-1" shutdown="close" >   # 禁用

你可能感兴趣的:(Linux,tomcat,中间件,安全)