防篡改AWS AMI

我需要说服我的客户,他提交他的敏感数据的服务器只运行由他批准的应用程序/进程。 此外,客户不允许访问我的服务器。 他还需要certificate,在他进行审计之后,我不能修改任何正在运行的stream程。

我的想法是创build一个Amazon AMI,只在客户的应用程序中预加载它。 将不会有SSH访问权限或对该映像的任何访问权限,以保证不能对其进行更改。 唯一的外部接口将是一个监听传入连接的进程。

是否有可能使用AWS实现这个? 我担心的是,AWS没有任何机制让实例变成只读的,这样即使是文件系统也可以通过外部方式修改。

有什么build议么? 任何提供独立validation的服务?

没有防篡改系统。 如果有足够的时间和金钱,即使是地球上最安全的系统仍然可以被攻破。 这就是说,我怀疑你的客户需要五angular大楼的安全水平。

您需要与您的客户合作, 准确定义防篡改的含义,包括他们想要减轻的威胁。 一旦你知道他们想要什么,将会更容易实现。 给他们提供一堆信息(可能会或可能不会脱离标记)不会激发信心。

这不是亚马逊问题,而是一个locking服务器的常见问题。

您可以:

  • 禁用所有的服务,包括SSH,
  • 在引导时将所有磁盘卷挂载为只读,

然后创buildAMI。 当您启动该AMI的一个实例时,它将只运行您设置的服务。

我不知道你将如何certificate这一点,而不是certificate你用来创buildAMI的程序; 大概必须至less是你和客户之间的基本信任。

为什么不只是帮助你的客户端设置一个只有他们有权访问的AWS账户,并创build脚本来设置服务器正是你喜欢的方式(我正在谈论DevOPs …木偶或厨师等)。 然后,您可以通过设置一个空白的AMI,应用他们批准的configuration,以及一台完全控制的机器来走过客户端。 您可以通过设置AWS账户,新的AMI,以及在不到1个小时的时间内运行预制的Puppet脚本来走客户端。

至于与这台机器的通信…你应该考虑VPN和SSL等尝试,并确保通信是安全的。 DNS和Man中的攻击总是会有安全问题,所以风险应该被概括和理解。