语境:
- 小型企业,主要是用于 Web 应用程序的软件公司,但也有一些桌面软件。
- 许多外部合作者,因此有各种外部用户可以访问服务器。
- 单个物理服务器,使用 Linux 和 Xen 作为虚拟化解决方案 - 每个 VM 都有特定用途和受控访问。外部用户可以访问其中两个
- (虚拟)服务器提供各种服务:LAMP 堆栈、电子邮件、DNS 等。这个问题与我对本地用户访问的担忧有关
- 用户可以通过 SSH 连接到两个虚拟机
要求
- 为用户提供通用开发工具的访问权限,包括 Web(PHP、Ruby on Rails 等)和独立应用程序(gcc、g++ 等);这不仅包括编译器等,还包括编辑器。现在,他们拥有完整的 shell 访问权限。
- 用户必须能够在服务器上使用源代码控制:svn 和 git
- 有些人可以访问 MySQL 数据库
问题
我应该采取哪些步骤来:
- 尽可能为用户提供完整的外壳,或以安全的方式满足上述要求的等效解决方案
- 尽可能自动监控危险活动(如在 sudo/su 通知中)
- 如果用户在有人在服务器上修补它之前获得了 0day 特权升级漏洞,则将影响降至最低 - 这甚至可能吗?