【问题标题】:Are there any security concerns or reasons not to publish code used in a web application是否有任何安全问题或不发布 Web 应用程序中使用的代码的理由
【发布时间】:2021-04-08 09:57:13
【问题描述】:

我即将创建我的第一个 Web 应用程序。我想让所有东西都开源,但我不确定这是否通常被认为是一个坏主意。我的计划是不发布任何凭据(例如,我会加载一个未发布的配置文件或环境变量),但我不确定只允许人们剖析正在运行的代码本身是否是一个安全问题。我不应该分享应用程序的某些部分吗?这取决于正在使用的库吗?我不担心我正在使用的数据库被公开。我最担心的是对机器的攻击(我计划在云托管上)。

不确定这是否重要,但我正在考虑创建一个 .Net Web 应用程序并使用 sqlite 数据库在 AWS 上托管。还没想好怎么管理用户识别、限速……

【问题讨论】:

    标签: cloud websecurity


    【解决方案1】:

    遵循所有适当最佳实践的正确制作的 Web 应用程序可以毫无问题地公开。一个完美的例子就是 WordPress。 正如您所提到的,任何私人信息(密码、数据库信息、散列盐、配置等)都不应该包含在回购中——即使它是私人的。但是,在许多情况下,公共存储库会提供示例配置文件。

    如果您使用 AWS,请考虑使用 Parameter StoreSecrets Manager 处理您的配置和机密,只要您遵循 Well Architected Framework,您的应用程序从云的角度来看是安全的。 可以通过Cognito实现用户身份管理。

    如果您的应用程序是一个 API,我强烈建议您查看 API Gateway(您会发现使用它来限制速率很容易)。如果没有,您可以在 Application Load Balancer 之上构建速率限制,或者将其构建到您的软件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      相关资源
      最近更新 更多