Linux的安全隐含sudo,su服务帐户和添加辅助组到pipe理Tomcat?

我有一个指定的帐户login到Linux主机。 Tomcat正在名为“tomcat”的服务帐户下运行,

我需要定期修改tomcat-users.xml这样的pipe理员function

-rw-------. 1 tomcat tomcat 1671 Mar 25 20:50 tomcat-users.xml 

我想审核更改。 我是不是该

  • 为具有授权的命名用户sudo编辑文件
  • 给予命名用户su权限给tomcat帐户并进行任何必要的更改(通过sudo或给予pipe理员tomcat密码)
  • 添加权限允许tomcat组的成员编辑文件并将tomcat作为辅助组添加到指定用户。

使用sudo会打开潜在的configuration错误,使命名用户比我想要的更多的访问,并允许他们使用sudo -i和绕过审计。 更改文件权限扩展谁可以读取文件似乎有风险。

我真的在寻找风险和优势/劣势,我没有在上面讨论,以帮助确定采取的方法,而不仅仅是意见和“我这样做”。

有一个可以信任的审计线索的唯一工作方式是使用最小特权策略,即默认拒绝访问。

如果你使用sudo访问,你肯定会限制用户可以做什么,不能做什么; 但你也需要知道可能适用的警告。

在这种情况下,您的要求是授予一组用户编辑特定文件的权限。

最佳实践规定每个用户都有个人帐户。 这不是要求这些用户属于任何组,因为这已经被sudo覆盖了。

假设你的用户属于operators组,一个sudorule看起来像:

 Cmnd_Alias TOMCAT_COMMANDS = sudoedit /path/to/tomcat-users.xml Host_Alias TOMCAT_HOSTS = foo.example.com, bar.example.com Defaults log_host Defaults log_output Defaults syslog_badpri=alert Defaults syslog_goodpri=notice Defaults:%operators editor=/usr/bin/rvim %operators TOMCAT_HOSTS = (tomcat)PASSWD: TOMCAT_COMMANDS 

这确保了他们无法使用编辑器,因为他们被迫使用rvim ,并提供了一些理智的默认值来logging他们的活动。 您可以进一步强化sudo策略,并且可以为其添加更多function。 这是一个例子。

另一种实现类似function的方法是对该文件进行版本控制更改,并使用configurationpipe理系统进行pipe理。

RBAC对这些系统是一个广泛的话题,因为它是审计。 收集并分析生成的日志由您决定。