温馨提示×

提升Ubuntu Tomcat安全性的方法

小樊
35
2025-02-21 05:45:43
栏目: 智能运维

提升Ubuntu Tomcat安全性的方法主要包括以下几个方面:

配置SSL证书

  • 安装OpenSSL:确保系统中已安装OpenSSL。如果没有,可以通过以下命令安装:

    sudo apt update
    sudo apt install openssl
    
  • 下载并安装Tomcat:如果还没有安装Tomcat,可以通过以下命令安装:

    sudo apt install tomcat9
    
  • 生成SSL证书

    • 创建证书目录:

      mkdir -p /etc/ssl/tomcat
      cd /etc/ssl/tomcat
      
    • 生成自签名证书和私钥:

      openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tomcat.key -out tomcat.crt
      

    在生成过程中,系统会要求输入一些信息,如国家、省份、组织等,根据实际情况填写即可。

  • 配置Tomcat

    • 编辑server.xml文件:

      sudo nano /etc/tomcat9/server.xml
      

    <Host>标签内添加以下配置:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/ssl/tomcat/tomcat.key" keystorePass="your_password" keyAlias="tomcat"/>
    

    请将your_password替换为生成证书时设置的密码。

  • 重启Tomcat:配置完成后,重启Tomcat使配置生效:

    sudo systemctl restart tomcat9
    
  • 验证SSL配置:打开浏览器,访问https://localhost:8443,如果能看到Tomcat的默认页面,说明SSL配置成功。

其他安全配置建议

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

    rm -rf /srv/apache-tomcat/webapps/*
    
  • 用户管理:如果不需要通过web部署应用,建议注释或删除tomcat-users.xml下用户权限相关配置。

  • 隐藏Tomcat版本信息

    • 修改$CATALINA_HOME/conf/server.xml,在Connector节点添加server字段。

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

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

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

  • 禁止列目录:修改web.xml

  • AJP端口管理:如果tomcat前端放的是apache的时候,会使用到AJP这个连接器。前端如果是由nginx做的反向代理的话可以不使用此连接器。

  • 服务权限控制:tomcat以非root权限启动,应用部署目录权限和tomcat服务启动用户分离。

  • 启用cookie的HttpOnly属性:修改$CATALINA_HOME/conf/context.xml,添加以下内容:

    <Context>
        ...
        <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                        sameSiteCookies="strict" />
        ...
    </Context>
    

通过以上步骤,可以显著提高Ubuntu下Tomcat服务器的安全性。

0