Python 安全加固

信息安全 硬化 Python 组策略
2021-09-09 02:58:07

我正在为一个大型组织工作,该组织正在使用一些需要 python 才能工作的 Windows 产品。

Python 用于执行内置的实用程序脚本,用户永远不会意识到涉及到 python,由于系统的安全要求非常严格,我们试图尽可能地锁定 python。我们通常不允许普通用户使用编译器或解释器,因为不允许向系统添加应用程序或功能。因此,我们正在寻找有关如何限制 python 的提示,以便在交互式提示/解释器不可用时只允许运行一些脚本。

这甚至可能吗?

我们的第一种方法是研究使用组策略来限制 python,但这并不容易,因为 Python 不是“GPO 感知”的。使用软件限制策略基本上是对所有人使用阻止 Python 或允许对所有人使用 Python。

由于 python 脚本是通过解释器 (python.exe) 运行的,因此可执行位置的 GPO 软件限制设置仅检查 python.exe 而不是脚本位置本身(GPO 系统仅将 python 脚本视为 python 的通用参数.exe 可执行文件)。

所以我的问题是:是否有人在加强有关 python 的安全性方面有任何经验?再一次,我们的目标是在交互式提示/解释器不可用时只允许运行一些脚本,这可能吗?

2个回答

您可以使用py2exe将您的 python 脚本转换为 Windows 可执行文件这样,它的处理方式与您限制其他系统二进制文件的方式相同。请注意,可以通过“反编译”来进行逆向工程,显示脚本功能和所有内容。但是,作为您仅关于执行执行授权的问题,我认为它将满足您的需求。

PyPy的沙盒模式如何使用?

恐怕我不是那么熟悉,所以我不确定它是否完全安全,但肯定值得一看。

据我所知,您唯一的选择是:

  • PyPy 沙盒
  • 一个 Python 到可执行的编译器
  • 给用户一个允许 Python 的虚拟机
  • 使用 PC 沙盒解决方案隔离 Python 和文件系统。