别在你的 Homelab 里售卖空间 (2023)
拜托,不要在你的 Homelab 里售卖空间
2023年1月6日
在诸如/r/homelab, /r/servers, 以及/r/datahoarder这样的 subreddit 里闲逛时,我看到这个问题被问了太多次:
我在我的家用服务器上有额外的空间,我该如何将其出售给其他人使用?
我的答案(以及许多其他人的答案):不要。
我们真的不是想毁掉你的梦想
如果你看到这篇文章,或者这篇文章被发送给你,请明白我们这样做并非仅仅是为了破坏你的一天。我们告诉你这些是因为玩别人的服务和金钱会引入一系列潜在问题,很多问题是人们无法自行解决的。
就我个人而言,我在一家中型托管公司的支持部门工作,所以我每天都能看到我们必须解决的挑战。 为了让你的想法奏效,并且不让你面临大量的法律风险,你_必须_解决这些挑战。
我保证我不是想搞技术壁垒,但如果你必须在论坛上寻求基本帮助,那么你将无法解决这些挑战。
为什么这是个坏主意
当你走上这条道路时,你必须解决大量的挑战。 如果你玩别人的数据和金钱,你将不得不解决几乎所有这些问题。
在你开始之前
- 你需要硬件 - “但我已经有_一台_服务器了!” 你对着屏幕大喊。 不,你需要更多。 如果你的客户都在一台服务器上,并且它发生故障,那该怎么办? 你的客户是否会一直离线一周,等你构建一台新服务器?
- 你需要更好的互联网 - 你的住宅 ISP 不会同意你这样做。 你至少需要一个商业级的连接,最好是具有大量带宽的连接。 此外,如果这种情况失败了几天,你的计划是什么?
- 你需要公共 IPs - 你需要拥有所有客户的公共 IP,因为托管客户对 CG-NAT 不满意。 ISP 会将这些出售给你,但需要付出代价。
- 你需要更好的位置 - 你的地下室不是一个很好的数据中心。 企业希望他们的东西放在具有冗余电源、备用发电机、停电时在电网上的更高优先级、进入建筑物的冗余光纤、灭火系统、严密的物理安全等的地方。
- 你需要法律保护 - 我们将对此进行更深入的研究,但根据你的客户所做的事情,你可能会面临法律风险。
- 你需要一种向人们收费的方式 - 如果你收钱,你需要税务登记、向当地政府提交的商业文件、用于收取费用的银行帐户、发票和计费软件等。所有这些都完全有可能,但每月只需几美元就会增加更多杂务。
- 你需要弄清楚要收取多少费用 - 你正在竞争的服务已经将这一点归结为一门科学,而且价格可能非常便宜。 如果你反对他们,你需要了解_你需要_收取多少费用才能收支平衡,并了解你的客户愿意为你的产品支付多少费用。
- 你需要远程访问 - 如果你向某人出售一个 VPS,他们将需要安装操作系统、重新启动它并异地管理某些事情。 当然,你可以为所有客户手动执行此操作,但这无法扩展到少数客户之外。 你需要一种让他们登录并管理或排除故障的方法。
- 你需要良好的保险 - 可能还需要一位优秀的律师。 你现在正在经营一家企业,因此你需要确保在发生严重问题时保护自己和你的个人资产。
可怕的东西
我提到的那些法律保护? 不是可选项。
根据法律,人们做这些事情可能会导致你的 ISP 断开你的连接,或者(更糟)让你陷入法律麻烦。 你需要制定计划来缓解这些问题(如果可以),并让适当的法律专家确保你不会让自己受到起诉。
此外,这只是我在工作中_看到_的事情。
- 人们发起 DDoS 攻击 - 你有一台便宜的服务器,具有便宜的互联网连接,为什么不使用它来帮助进行 DDoS 攻击?
- Torrents 或盗版 - 毕竟,一个 seedbox 将是你 homelab 的一个不错的补充。
- 其他事情的 Proxies - 客户可能会使用你的 IP 来代理各种奇怪和令人讨厌的流量。 这让你与跟踪你的 IP 的网站陷入困境。
- Crypto - 当然,你可能拥有 20 个看起来很奇怪的灵长类动物的 NFT,但你是否考虑过所有客户始终使用他们分配的所有 CPU? 如果你过度配置以赚更多的钱,这将影响你的所有其他客户。
- 非常非法的事情 - 需要触发警告的事情,显然违反了大量法律。 如果你没有在法律上勾选正确的框,这可能会让你入狱。
让我们不要提及有趣的隐私法! 你的客户是否为欧盟、加拿大或加利福尼亚的人托管任何数据? 在他们的网站上处理任何付款? 恭喜! 你现在必须遵守所有这些也带有罚款的法律!
- GDPR - 如果你搞砸了,公司_倒闭_罚款。
- CCPA - 加州隐私法。
- PIPEDA 和 CPPA - 献给我们在北方的朋友们
- PCI - 与支付卡相关的安全性。
这些也带来了一些额外的好处,例如你新公司中的强制控制、强制报告、第三方审计等。
还要记住的一件事是扣押。 如果你的客户正在做非法的事情并引起了任何三字母政府机构的注意,他们会来拿走你的服务器(可能还有其他东西)。 联邦调查局已经突袭了数据中心并拿走了用于 botnet 等事情的服务器,他们可能不太关心你的其他客户是否共享硬件。
现在你正在运行
因此,你已经通过了第一个考验并设置了你的服务。 真棒! 现在让我们运行一个成功的托管业务:
- 你需要支持 - 当然,这可能只是你,但你需要一个在工作日专门帮助客户的人,以防他们遇到问题。
- 你的客户会因为一切而责怪你 - 根据经验,托管客户倾向于喜欢责怪托管服务提供商。 准备好处理那些指责除了他们的错误代码之外的所有事情的人。
- 备份和灾难恢复 - 如果一个驱动器发生故障会发生什么? 还是全部? 你有可以快速还原的备份吗? 火灾或洪水怎么办? 勒索软件?
- 随叫随到 - 如果你的客户期望达到一定的正常运行时间水平,那么因为你睡着了而过夜并不是一个选择。 你需要随时待命或让某人随时待命来帮助他们。
- 硬件升级 - 客户可能不想在 10 年前的处理器上运行他们的应用程序。 你是否有留出钱来升级东西?
- 正常运行时间和可靠性 - 你的客户可能期望高水平的服务,因此你需要努力保持这种信任水平。 尤其是商业客户不喜欢浪费钱,甚至不喜欢觉得自己浪费钱。
哦,还有安全
这应该有自己的部分,因为我不能低估这将是多么重要。 客户将在你的服务器上运行未修补且不安全的应用程序,并且其中一些可能会被黑客入侵。 这种情况每天都在发生。
隔离
第一件事是隔离。 你不仅需要将所有这些与你房子的其他部分隔离,还需要将你的客户彼此隔离。 客户将运行未修补且易受攻击的软件并被黑客入侵,因此至关重要的是,一个客户不能够破坏整个虚拟主机或其他机器。
你还必须非常了解最近很多处理器遇到的推测性执行问题,因为这些问题对此类设置具有非常真实和直接的影响。 这些问题可能会泄露客户的虚拟机之间的数据。
此外,容器可能不在考虑之列。 如果你给你的客户 root 权限(如果你将东西托管为 VPS,你可能会这样做),则有可能突破容器并进入主机系统。 这不是一件容易的事情,但配置问题会使它成为一个相当低的障碍。
补丁和 0-Days
保持你的设置更新现在是强制性的。 每个部分都需要始终保持最新,因为一个小小的立足点就足以让某人进入。
你的客户还会因为每个登上新闻的 CVE 而困扰你,即使你没有受到影响。 你需要审查它们并快速更新东西或让他们知道你没有受到影响。
如果你_确实_容易受到攻击并且某些东西受到损害,希望你设置的隔离将它限制在一个客户。 如果,比如说,你的整个主机受到加密储物柜的攻击并且没有备份,那就是你旅程的终点。
客户数据
你现在还在你的设备中拥有你的客户和你的客户的客户的数据。 至少,静态加密是强制性的。
这也是那些有趣的隐私法开始发挥作用的地方,因为_你_可能要对因丢失或被盗的客户数据造成的损失负责。
总结
请不要在你的家用服务器中出售空间。
有些人可能会争辩说,通过设定较低的期望或托管诸如游戏服务器之类的内容,你可以解决这些问题,但_绝大多数_问题仍然存在。 无论你托管什么,诸如安全之类的事情都需要考虑。
如果你决心用完额外的 CPU 周期,这里有一些选择:
- 托管更多你的东西 - 也许你确实需要额外的媒体服务器或 seedbox。
- 为朋友托管东西 - 朋友是不同的,因为你可能信任他们。 客户利用你的许多问题因是朋友而得到缓解。
- 捐赠 CPU 周期 - 诸如 BOINC 和 Folding@Home 之类的项目让你运行用于学术研究的工作负载,也可以帮助其他人。
- 缩小规模 - 我知道很难谈论,但是如果你的四 CPU、2TB RAM 怪物因为太贵并且你需要钱而无法运行,那就买一个更小更适合你的工作负载的东西。