ubuntu

Ubuntu中Tomcat安全设置有哪些

小樊
44
2025-10-17 01:59:54
栏目: 智能运维

Ubuntu中Tomcat安全设置关键措施

1. 运行权限控制:以非root用户启动Tomcat

Tomcat不应以root用户身份运行,否则一旦被入侵,攻击者可获得系统最高权限。需创建专用低权限用户(如tomcat),并将其设置为Tomcat的所有者和运行用户:

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat  # 创建用户及同组
sudo chown -R tomcat:tomcat /opt/tomcat              # 赋予目录所有权

修改Tomcat启动脚本(如startup.shcatalina.sh),确保以tomcat用户身份启动服务。

2. 删除默认应用与目录

Tomcat默认安装包含docsexamplesROOThost-managermanager等目录,这些目录可能暴露敏感信息或成为攻击入口。安装完成后应立即删除:

rm -rf /opt/tomcat/webapps/*

若需保留部分功能(如manager),需严格限制访问权限(见下文“限制管理界面访问”)。

3. 禁用自动部署

自动部署(autoDeploy="true")会自动解压上传的WAR文件,易被恶意利用。需修改server.xml中的Host配置,关闭自动部署:

<Host name="localhost" appBase="/opt/tomcat/webapps" unpackWARs="false" autoDeploy="false">

同时关闭deployOnStartup属性(默认true),避免服务器启动时自动部署。

4. 隐藏Tomcat版本信息

攻击者可通过版本信息识别已知漏洞。修改server.xml中的Connector配置,添加server字段覆盖默认版本:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" server="Custom Server" />

或修改catalina.jar中的ServerInfo.properties文件(需解压jar包编辑)。

5. 配置防火墙限制端口访问

使用ufw(Ubuntu防火墙)仅允许必要端口(如HTTP的8080、HTTPS的8443、AJP的8009)对外开放,阻止非法访问:

sudo ufw allow 8080/tcp    # 允许HTTP访问
sudo ufw allow 8443/tcp    # 允许HTTPS访问
sudo ufw allow 8009/tcp    # 允许AJP访问(若使用Apache反向代理可关闭)
sudo ufw enable            # 启用防火墙

若无需AJP协议,可直接注释server.xml中的AJP连接器。

6. 启用HTTPS加密通信

通过SSL/TLS证书启用HTTPS,加密客户端与服务器之间的数据传输,防止中间人攻击。步骤如下:

7. 强化管理界面安全

Tomcat的managerhost-manager应用需严格限制访问:

8. 自定义错误页面防止信息泄露

默认错误页面(如404、500)可能暴露Tomcat版本、服务器路径等信息。修改web.xml文件,自定义错误页面:

<error-page>
  <error-code>404</error-code>
  <location>/error/404.html</location>
</error-page>
<error-page>
  <error-code>500</error-code>
  <location>/error/500.html</location>
</error-page>

将自定义页面放置在webapps/ROOT/error/目录下。

9. 禁止目录列示

防止攻击者通过目录遍历查看应用文件结构。在web.xml中添加以下配置,默认情况下Tomcat高版本已开启:

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

10. 定期更新与监控

0
看了该问题的人还看了