【发布时间】:2013-07-04 11:54:17
【问题描述】:
我了解到以 root 用户身份运行 Tomcat 是一个安全问题。我希望 Tomcat 监听端口 80,这是 Centos 中的特权端口。我创建了一个用户并将他添加到轮组。该用户使用sudo sh startup.sh 启动tomcat。我绝不是基于 unix 的操作系统的专家,所以我仍然感到困惑。如果我以 root 身份启动 tomcat,我是否已经暴露于同样的漏洞?
【问题讨论】:
我了解到以 root 用户身份运行 Tomcat 是一个安全问题。我希望 Tomcat 监听端口 80,这是 Centos 中的特权端口。我创建了一个用户并将他添加到轮组。该用户使用sudo sh startup.sh 启动tomcat。我绝不是基于 unix 的操作系统的专家,所以我仍然感到困惑。如果我以 root 身份启动 tomcat,我是否已经暴露于同样的漏洞?
【问题讨论】:
如果您使用 sudo 调用启动脚本,则您是以 root 身份运行 tomcat。您是对的,不建议以 root 身份运行 tomcat。非 root 用户无法绑定到端口 80,有一些解决方案可以解决这个问题。一种方法是以非 root 身份运行 tomcat,并让 tomcat 侦听端口 8080。启用防火墙并将前往端口 80 的请求转发到端口 8080。
service iptables start
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables-save
service iptables restart
【讨论】: