首页主机资讯Ubuntu中Tomcat的安全设置怎么做

Ubuntu中Tomcat的安全设置怎么做

时间2025-11-05 09:27:03发布访客分类主机资讯浏览677
导读:1. 最小权限原则配置Tomcat运行用户 创建专用低权限用户(如tomcat)及同组,用于运行Tomcat服务,避免以root身份启动。执行以下命令: sudo groupadd tomcat sudo useradd -s /bin/f...

1. 最小权限原则配置Tomcat运行用户
创建专用低权限用户(如tomcat)及同组,用于运行Tomcat服务,避免以root身份启动。执行以下命令:

sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
sudo chown -R tomcat:tomcat /opt/tomcat  # 将Tomcat安装目录所有权赋予该用户/组

若使用系统服务(如systemd),需在服务文件(如/etc/systemd/system/tomcat.service)中明确指定用户:

[Service]
User=tomcat
Group=tomcat

修改后重载systemd并重启Tomcat:

sudo systemctl daemon-reload
sudo systemctl restart tomcat

2. 移除默认内置应用及禁用不必要组件
Tomcat默认安装的docsexamplesROOThost-managermanager等应用可能存在安全风险,生产环境应删除:

sudo rm -rf /opt/tomcat/webapps/docs /opt/tomcat/webapps/examples /opt/tomcat/webapps/ROOT
sudo rm -rf /opt/tomcat/webapps/host-manager /opt/tomcat/webapps/manager

同时,禁用AJP连接器(默认端口8009),编辑/opt/tomcat/conf/server.xml,注释或删除AJP配置段:

<
    !-- <
    Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
     -->
    

3. 强化Tomcat用户认证与管理
编辑/opt/tomcat/conf/tomcat-users.xml,设置复杂密码并仅授权必要角色(避免使用manager-scriptmanager-jmx等高权限角色):

<
    tomcat-users>
    
    <
    role rolename="manager-gui"/>
      <
    !-- 仅允许通过GUI管理 -->
    
    <
    role rolename="admin-gui"/>
    
    <
    user username="secure_admin" password="YourStrongPassword123!" roles="manager-gui,admin-gui"/>
    
<
    /tomcat-users>
    

修改Tomcat关闭指令(/opt/tomcat/conf/server.xml中的< Server> 标签),避免暴力破解:

<
    Server port="8005" shutdown="ComplexShutdownCode123">
      # 替换为随机复杂字符串

4. 配置SSL/TLS加密通信
生成自签名证书(生产环境建议使用CA颁发的证书),执行以下命令:

sudo keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore /opt/tomcat/keystore.jks -validity 365

按提示输入信息(如姓名、组织、密码等),默认密钥库密码为changeit
编辑/opt/tomcat/conf/server.xml,取消注释并修改SSL连接器配置:

<
    Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           SSLEnabled="true" scheme="https" secure="true"
           keystoreFile="/opt/tomcat/keystore.jks"
           keystorePass="YourKeystorePassword"
           clientAuth="false" sslProtocol="TLS"/>
    

可选:配置HTTP重定向到HTTPS(编辑/opt/tomcat/conf/web.xml),添加以下内容强制所有流量使用HTTPS:

<
    security-constraint>
    
    <
    web-resource-collection>
    
        <
    web-resource-name>
    Protected Context<
    /web-resource-name>
    
        <
    url-pattern>
    /*<
    /url-pattern>
    
    <
    /web-resource-collection>
    
    <
    user-data-constraint>
    
        <
    transport-guarantee>
    CONFIDENTIAL<
    /transport-guarantee>
    
    <
    /user-data-constraint>
    
<
    /security-constraint>
    

5. 配置防火墙限制访问端口
使用UFW(Uncomplicated Firewall)仅允许必要端口(如HTTP 8080、HTTPS 8443、SSH 22)访问:

sudo ufw allow 22/tcp  # 允许SSH远程管理
sudo ufw allow 8080/tcp  # 允许HTTP访问(若未配置重定向)
sudo ufw allow 8443/tcp  # 允许HTTPS访问
sudo ufw enable  # 启用防火墙
sudo ufw status  # 验证规则(应显示ALLOW规则)

6. 调整日志与文件权限防止泄露
修改/opt/tomcat/bin/catalina.sh,设置更宽松的umask(如0022),确保日志文件可被监控用户读取:

umask 0022

调整日志目录权限(/opt/tomcat/logs),允许组内用户读取:

sudo chmod -R 755 /opt/tomcat/logs

配置日志级别为WARN(减少敏感信息输出),编辑/opt/tomcat/conf/logging.properties

org.apache.catalina.level = WARN
org.apache.coyote.level = WARN
org.apache.jasper.level = WARN

7. 禁用自动部署与远程管理
编辑/opt/tomcat/conf/server.xml,关闭自动部署(避免未经授权的WAR文件部署):

<
    Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="false">
    

禁用远程管理接口(如JMX远程访问),编辑/opt/tomcat/conf/context.xml,添加以下内容:

<
    Context antiResourceLocking="false" privileged="false">
    
    <
    Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/>
    
<
    /Context>
    

8. 定期更新Tomcat与系统组件
定期检查Tomcat官方更新,升级至最新稳定版本(如Tomcat 10.1.x),修复已知漏洞:

# 若使用apt安装(Ubuntu 22.04+默认仓库版本较旧,建议手动下载)
wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.20/bin/apache-tomcat-10.1.20.tar.gz
sudo tar xzvf apache-tomcat-10.1.20.tar.gz -C /opt/
sudo mv /opt/apache-tomcat-10.1.20 /opt/tomcat-new
sudo systemctl stop tomcat
sudo rm -rf /opt/tomcat
sudo mv /opt/tomcat-new /opt/tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
sudo systemctl start tomcat

同时,更新系统软件包:

sudo apt update &
    &
     sudo apt upgrade -y

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu中Tomcat的安全设置怎么做
本文地址: https://pptw.com/jishu/742619.html
Tomcat在Ubuntu上的内存设置是多少 Ubuntu下Tomcat配置有哪些技巧

游客 回复需填写必要信息