【问题标题】:Host Environment Security主机环境安全
【发布时间】:2015-08-14 03:00:54
【问题描述】:

我刚刚阅读了一篇文章,它解释了如何使用 java 来运行 unix 命令。这不是对应用程序部署环境的潜在威胁吗?主机系统(假设是 unix/linux 环境)可以使用哪些措施来防止恶意脚本运行?

【问题讨论】:

  • 听起来您有一个特定的用例,您应该详细说明。
  • @KErlandsson 是的,你是对的。我想知道外包实施工作的公司如何确保他们的信息不会被伪装成应用程序一部分的流氓代码窃取
  • @lemonTea - 这个问题不是 Java 特有的。任何时候你从别处获取代码都是有风险的。 Java 和 .NET 等托管语言比 C++ 等本地语言提供更高的安全性。

标签: java linux security unix hosting


【解决方案1】:

好吧,Java 不会突然运行进程...它需要加载一段代码告诉它运行它,加上来自 Linux 和 java 安全策略的权限. 因此,即使它永远不会像切断互联网连接那样安全;)您可以采取合理的预防措施,例如:

(1) 在 Unix 级别上,确保关键文件/应用程序/等受权限保护,并使用权限较低的用户运行 Java

(2) 管理您的 java 安全策略,使其尽可能严格 - 例如仅访问业务所需的目录

(3) 尽量不要为恶意代码留下漏洞...例如如果你有一些创造性的加载远程代码的类加载器......或者如果你公开了一些可怕的 RESTful 服务来执行它得到的任何字符串。

显然,它应该与所有其他强化建议一起提供 - DMZ、防火墙、安全编码实践(想到 INJECTION),显然它有助于咨询专家。

【讨论】:

    【解决方案2】:

    主机系统不会采取超出平台本身已经常见的任何特殊措施。由管理员、实施者或用户来限制该平台上可能发生的事情,并遵循最佳实践。

    一些最佳实践:

    1. 对于服务器,最好让服务器进程以受限用户身份运行,而不是 root 或特权用户。仅为该进程创建沙盒用户。
    2. 将 HTTP Server(可能需要 root 权限才能绑定到端口 80)与 Application Server 分开,并让它们在不同的用户下运行。
    3. 确保服务器进程的用户只能访问本地主目录或专用用户空间,而不能访问主机系统的其他部分。
    4. 不要相信任何来自不正当来源的程序(无论它是否是 Java 程序)。

    【讨论】:

      猜你喜欢
      • 2010-12-19
      • 2012-03-19
      • 2017-04-10
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多