gpt4 book ai didi

apache - 如何以最安全的方式运行Tomcat?

转载 作者:行者123 更新时间:2023-11-28 22:56:53 25 4
gpt4 key购买 nike

我们正在为我的 Web 应用程序使用 Apache Tomcat 7,并且我们已决定进入生产阶段。所以现在是时候考虑如何保护 Tomcat 和机器了。阅读“Apache tomcat 安全注意事项”后,我们决定继续以最小场景在专用用户上运行 tomcat 进程。据我所知,最好的选择是以运行中的 tomcat 进程只对所有 tomcat 文件具有读取权限的方式对其进行配置。

我想我会这样做:

我会创建 2 个用户:

-tomcat_process - 仅用于运行tomcat

-admin - 这是所有文件所属的

tomcat_process 可以访问 conf 目录,也可以从 tomcat/bin/运行脚本

我的主要问题是 Tomcat 需要写入 $CATALINA_HOME/$CATALINA_BASE 中的一些文件。我知道我可以更改 logswork 目录的位置,我想我会将它们指向 tomcat_process 主目录(这甚至是一个很好的目录吗?主意?)。但是如果我可以将路径更改为 /conf/Catalina 目录,我找不到任何信息。是否可以?我想避免添加对 conf 目录的写访问权限,因为整个配置都在那里。

或者您认为我应该将这些目录放在它们所在的位置,并为 tomcat_process 添加写权限吗?我想知道您能否告诉我这是正确的方法还是我可以做得更好?

我对所有那些告诉我限制权限但没有告诉我如何去做的安全指南感到非常困惑:(

最佳答案

我认为保持简单是关键:

  1. 为每个(一组)web 应用程序创建一个新的 tomcat,并有自己的用户。

  2. 将 tomcat 资源限制为仅供 tomcat 用户使用。在 Linux 中,您可以为此使用 chmod/chown 命令。

  3. 将 tomcat 置于反向代理后面:Internet (https) <- 外部防火墙 -> Apache 反向代理 <- 内部防火墙(除非列入白名单,否则全部阻止)--> Tomcat

  4. 删除所有标准 webapps 'manager'、'root'、'docs'

  5. 在server.xml中禁用关机命令

  6. 对于 java web 应用程序,尝试将它们包含在自己的沙箱中,这意味着自己的数据库,自己的用户。

为了安全维护工作,您可以使用一个 tomcat 二进制文件和一个 tomcat 用户运行多个实例。 http://www.openlogic.com/wazi/bid/188102/How-to-Run-Multiple-Instances-of-Tomcat-on-a-Single-Server

关于apache - 如何以最安全的方式运行Tomcat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24935810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com