企业创始人想要访问数据库但没有数据库技能

信息安全 数据库 商业风险
2021-08-23 00:48:56

有人让我为他们的在线业务创建一个网站,我自己处理了很多开发工作。在网站上创建帐户后,我告诉我的雇主“嘿,该网站已准备就绪,您现在可以为自己创建一个帐户。” 他做到了,我从我的帐户中给了他一些管理权限。

然后 Showoff 先生告诉他:“伙计,我拥有数据库的 root 访问权限,这意味着我可以在网站上做任何事情。”

他很感兴趣,想要对我拒绝的数据库进行 root 访问。我说这是个坏主意,因为他对数据库管理或系统管理一无所知,这可能会带来安全风险。例如,它可能与最小特权原则相冲突,或者他可能会意外运行一些他不知道的危险命令。

但是,他仍然认为他应该拥有这个权限,因为他是老板。

我该如何处理?我应该不关心并无缘无故地让他进入吗?

4个回答

他是数据所有者不是你。如果您被公共汽车撞到,他将需要访问权限。你绝对应该让他访问。这个要求一点也不意外。如果你为我建立一个网站,我也会问同样的问题。

但是,这是重要的部分,您也不能与他竞争数据库的管理。你是管理员,不是他。他可以访问,但他不能使用它。一旦他这样做了,那么您就免除了对数据库的责任。这一点你需要写下来,并且需要清楚地理解。然后你需要记录他的访问。

我完全同意您不应该争夺 root 访问权限,但您仍然可以提供数据所有者访问权限而无需争夺控制权。

在这个位置上一百万次。只需解释一下,如果他不小心,他可能会无意中破坏某些东西,并在他拥有它时给他登录信息。确保之前进行数据库转储,以便在他确实破坏它时可以恢复(当然要收费)。

您应该查看与他的协议(如果有的话)并澄清这些事情。如果他全额支付了服务器费用,并且您创建的网站将全部权利转移给了客户,我看不出您不应该给他凭据的原因,因为几年后您可能会忙于另一个项目,他可以找到另一家公司在做这件事。如果您为服务器付费,您可以创建一个具有有限管理员权限的专用SQL 帐户(例如,防止删除表或数据库),因为它是您的服务器,您不想暴露于不必要的安全风险。在这两种方式中,请始终确保您有每日备份。

理想情况下,如果您正在创建将全部权利转让给客户的网站,您应该在项目完成后以正式方式(Word 文件或打印文档)在移交期间提供所有必要的凭据,或指向正确的软件处理这些(例如密码管理器、KeePassX 或加密文件、Keybase、Ansible Vault 等)。通过处理这些细节,他应该接受风险,并且您应该不再负责,只要您尽力保护这些细节。

完全同意,如果他是认真的,并且不接受你的第一个“不”作为答案,你需要给他一个完整的书面答复,你在他无法访问的系统上保存一份有据可查且安全的副本。

在您的回复中,我将总结他不应该使用 root 凭据的原因,也许还引用了一些官方的东西(博客、链接、书籍、白皮书),以向他证明您的建议是标准做法。

最后,你让他给他一个密封的信封,连同证件一起保存在保险箱或银行里。如果(如所希望的那样)他不坚持,正如他所相信的那样,证书在某处可用,以防您(或什至在您休假时)发生某些事情,这似乎仍然是一种很好的做法,这是势在必行的有人可以干预。

成为唯一拥有根证书的人;或将其用作潜在的敲诈/讨价还价问题,在我看来,这是不好的做法、不道德的,并且会给开发人员(或无论你是谁)一个坏名声。