【问题标题】:Deploying Configuration Files with Production Code使用生产代码部署配置文件
【发布时间】:2013-05-10 16:43:05
【问题描述】:

在尝试使用 Git 将 Node.js 服务器部署到 Amazon Elastic Beanstalk 实例时,我开始想知道有什么比推送配置文件并让它位于远程磁盘上更安全/高效的做法。

我当前为获取生产代码而执行的一系列操作如下:

  1. 在 git 上创建本地“生产”分支。
  2. 取消忽略包含敏感数据库信息的 config.js 文件

    -- 每次有更新时在下面重复

  3. git 合并大师
  4. git aws.push(或一些类似的'push'命令来更新上游文件)

这个流程看起来很简单,但我想知道是否有更安全的方法,我的配置文件不会存在于远程服务器的磁盘上,而是存在于内存中 - 敏感信息有望不再存在如果服务器停止运行。

远程磁盘上不存在此配置文件的动机是,如果服务器受到威胁,那么至少它会与数据库分开。

是否有解决此问题的流程,或者人们通常会采用设置环境变量和/或使用新分支推送配置文件的方式?

非常感谢您对此问题的任何见解。

【问题讨论】:

    标签: web-services git node.js security deployment


    【解决方案1】:

    我经常使用 Platform-as-a-Service 提供商,例如 CloudFoundry、AppFog、Heroku 等。而 AFAIK,他们都使用 env 变量来支持这种基本配置。环境变量可以通过其 API 或客户端接口轻松设置或删除。

    【讨论】:

    • 我明白了,是的,看起来那些似乎是要走的路。如果这些被入侵,则要么意味着整个 PaaS 被入侵(以获取包含环境变量信息的文件),要么您的帐户被入侵。
    • 我认为之前让我感到困惑的是不知道环境变量是否是永久性的(这意味着我或攻击者可以通过 ssh 进入服务器并获取所有环境变量的列表)。跨度>
    猜你喜欢
    • 1970-01-01
    • 2022-10-05
    • 2017-01-16
    • 1970-01-01
    • 2012-04-01
    • 2015-02-09
    • 1970-01-01
    • 2014-12-23
    • 2021-11-08
    相关资源
    最近更新 更多