我有两个 X.509 代码签名证书和一个 GPG 密钥对,可用于对我在 VPS 上运行的代码进行签名。我不时地为 iOS、OS X 和 Windows 编写代码,并始终确保我使用我的 X.509 证书签署我的二进制文件。但是,我想确保我在我的 VPS 上运行的任何东西(关于 PHP/Django 脚本,甚至可能是我发送给客户端的 Javascript)都经过签名。
我可以简单地编写一个 bash 脚本,用我的 GPG 密钥对对目录中的每个文件进行签名,但我的问题是,如果代码未签名,与正确签名相比,它不会引发任何额外的错误,所以在为了保护我的服务器免受发送/执行我未明确授权的恶意脚本的利益,有什么方法可以使用我的 GPG 密钥对(甚至我的 X.509 证书!)并确保所有代码都在一个特定的位置,比如说,在执行之前总是检查目录是否有有效的签名?
为了在工作中进一步投入扳手,我们如何有效地“沙箱”这种方式,使得放置在强制检查范围之外的恶意脚本不会干扰?例如,如果一个目录被“标记”为要求对所有文件强制签名,那么该目录之外的文件是否有可能用于规避代码签名并干扰应用程序或脚本?
我对签名算法、脚本与二进制文件或操作系统并不真正感兴趣,但对于我将应用它的应用程序,它将针对在 Debian VPS 中运行的 python/django 或 PHP 脚本(出于网络的目的应用程序)。
只是一个有趣的想法,如果有合适的解决方案,我当然想追求!非常感谢您提出想法或讨论!