背景(简化)
我在生产服务器上使用持续集成和部署。例如,我有一个监视Team City的应用程序,并自动将构建的包部署到IIS。
对于这段代码(我们写的),我想防止(或者更难)中间修改程序集到生产服务器的人。如果有人成功更改了程序集(在传输过程中或在机器上本地),我想要防止(或使其更难)执行这些程序集。
我们已经采用了大量安全措施来防范此类事件(例如,监控关键文件哈希以确保它们无法更改,审核,最小用户权限等的代理)。
我们希望提高我们的推送节奏,但我们用来监控文件哈希的第三方软件可以说是“更新”#34;。
问题
假设我信任操作系统(包括.net CLR)。我想知道我是否可以将代码签名安全性构建转移到CLR中。与PowerShell如何不允许您运行未签名的PowerShell脚本类似。
是否可以执行此操作,即将CLR配置为仅从列入白名单的公钥集运行已签名的程序集?
如果这是一个坏主意,请告诉我!