首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
如果不用tomcat,直接使用jfinal内置服务,安全问题需要怎么优化?
flash866
2021-02-25 09:15
我打算上一项新业务,会有大量小应用部署到服务器上,采用传统的tomcat的方式部署麻烦,能否直接用jfinal内置undertown来做服务,在安全性上有啥建议?如果有办法能防止旁注那就太棒了。
项目:
JFinal
1
评论区
lcmkc
2021-02-25 10:55
同问。。我目前生产环境undertow是用root运行的,不知道能否使用子用户权限运行项目。。这样即使被传马也对系统本身没有多大伤害。。
回复
flash866
2021-02-25 11:14
@lcmkc
docker我不熟悉,能解决问题不
回复
JFinal
2021-02-25 11:35
jfinal undertow 可以用于部署,轻量、高效。 我已经用于生产环境快三年了,极其稳固、方便
安全性上与 tomcat 没有本质区别,在自己的代码中注意安全就行,例如做好 sql 注入、XSS、CSRF 防护
回复
JFinal
2021-02-25 11:38
@lcmkc
是否用 root 运行完全与 jfinal 或者 undertow 无关
切换到相应的用户,直接运行就可以了
在 "非 root" 用户状态下,使用 sudo jfinal.sh start 可以以 root 用户运行
这纯粹是 linux 知识,与 jfinal 肯定是无关的
但你要注意权限问题, 运行起来以后,你的项目代码访问到的文件需要赋予好权限。例如起码你的项目部署目录必须要是当前用户能访问的,仍然是纯 linux 问题
回复
flash866
2021-02-25 13:50
@JFinal
老大,使用docker是否能限制程序的访问权限,比如将其限制在一个目录下,只能访问这个目录下的文件。
回复
SuperEric
2021-02-25 15:41
@flash866
此类安全问题可以通过多用户进行隔离,即每个用户启动自己的实例。旁注问题主要与部署用户及用户权限设置有关。业界一般都是通过用户隔离解决。
回复
flash866
2021-02-26 10:02
@SuperEric
多谢,每个用户启用自己的实例,这个能稍微详细一点说明吗?
回复
SuperEric
2021-02-26 14:21
@flash866
应用A,新建linux用户usera,应用A启动目录为/home/usera/app1,执行/home/usera/app1/start.sh启动应用;应用B,新建linux用户userb,应用A启动目录为/home/userb/app2,执行/home/userb/app2/start.sh启动应用;
回复
flash866
2021-03-01 10:27
@SuperEric
好的。docker我没用过,能否用它解决这个问题呢是否更简单
回复
发送
我要反馈
热门反馈
扫码入社