我需要在客户的服务器上部署 Ruby on Rails 应用程序,并且我不希望他们能够查看或修改源代码。您如何在技术上保护代码?
我考虑过构建一个基于 Linux 的虚拟机,该虚拟机带有一个加密文件系统,应用程序代码就驻留在其中。客户端没有 root 访问权限,或者根本无法直接访问系统。所有服务都会自动启动,应用程序即可使用。
你有什么建议?
答案1
听起来你已经搞定了。基本上你只是将设备部署到他们的站点。
- 加密文件系统,因此它们无法启动 Live CD——检查
- 无用户访问权限--检查
- 无法直接访问--检查
我唯一要确保的是关闭所有不需要的服务,这样狡猾的管理员就无法利用安全漏洞进入。
不过有几个问题,您提供硬件吗?还是他们提供?
他们有 VMware 基础架构吗?如果有,您可以为他们提供虚拟设备,而不是物理设备。
另外,还要确保 SNMP 已启用并可由他们配置,以便他们可以使用任何拥有的解决方案对其进行监控。
答案2
您还可以使用 Bestcrypt 加密“容器中的容器”。让您的应用自动挂载隐藏容器并添加一个 bash 脚本,以便除特定“隐身”用户之外的任何登录系统的用户都可以向顶级容器写入一些内容。这将破坏内部容器并带走您的受保护应用程序。(加密自动销毁)
您可以根据需要灵活地使用它,设置一个脚本,使用端口敲击在登录之前安全地卸载容器等等。
甚至还有一种方法可以让隐藏容器仅供应用程序和通过应用程序连接的用户访问。即使是拥有服务器上的 root 访问权限和物理登录的人也无法查看隐藏容器。不过,您必须自己想办法,我收费为客户设置它,并将其视为专有,尽管这是一个像样的 Linux 极客可以花时间和耐心弄清楚的事情。