如何设计允许 ssh、ftp、db 访问、svn 访问的服务器访问

如何设计允许 ssh、ftp、db 访问、svn 访问的服务器访问

我的 Linux 服务器就遇到了这种典型情况。我确信许多其他人也可能遇到类似的问题。我想知道如何克服它。

情况:
1. 我们有 5 台 Linux 服务器,用于托管各种网站
2. 我们一直在进行开发,这些网站都是实时的,每天都需要部署代码更改
3. 我们需要允许员工通过 SSH 访问服务器。(服务器托管在 Rackspace)
4. 我们在 Assembla 上设置了存储库,并在其上配置了自动部署
5. 我们用 PHP 和 MySQL 开发大多数网站
6. 由于我们是一家小公司,事情需要快速发展,因此一段时间后,我们会与团队成员共享服务器的 root 密码

问题:
1. 每次有员工离开公司,我们都必须更改所有数据库密码、root 的 ssh 密码、删除帐户、删除所有访问权限。这些活动需要花费大量时间。有时甚至需要 1-2 天。如果工作量更大,可能还需要更多时间(但不会超过 3 天)。但这 3 天非常容易受到攻击。离开公司的人可以访问所有内容。2
. 我们无法隐藏数据库密码,因为网站的配置文件以纯文本形式保存这些密码(大多数 CMS 的配置文件都以纯文本形式存储密码)

临时解决方案:
1. 我们已使用 Windows 云托管,并已将所有服务器配置为仅从该系统的 IP 进行访问。因此,如果用户需要访问 Linux 服务器,他们首先需要登录到云上的 Windows 服务器,然后通过 Putty 和 Winscp 以及 MySQL Workbench 访问服务器。唯一的优点是,现在即使用户知道 SSH、MySQL ID 和密码,他们也无法登录,因为他们的登录信息已从 Windows 帐户中删除。

我知道,只要知道如何允许其他 IP 通过 SSH 和 MySQL 访问服务器,就可以随时对其进行配置,并且可能在将来使用它。

要求:请不要在这里开始抨击 Windows。由于我的团队更适合 Windows 环境,所以我保持这种状态。

答案1

使用任何目录服务怎么样?例如 LDAP 似乎没问题。使用附加的 authconfig(用于 OS 层)和 sudoers 配置,您可以解决 99% 的用户管理问题。

此外,Hudson/Jenkins、Bamboo 等 CI 工具可以轻松配置任何 LDAP。

对于 MySQL,您可以授予另一个 posixGroup 访问 mysql 命令的权限,同时它还可以解决 root 密码的问题(仅属于组的用户)。

我不确定您是否可以使用 LDAP 访问代码源存储库(如果您有自己的 SVN/Git 服务器,则可以)。我根本不知道 :)

相关内容