python - 在服务器上安全地执行不受信任的 python 代码
问题描述
我有一个服务器和一个前端,我想在前端从用户那里获取 python 代码并在后端安全地执行它。
我阅读了这篇文章,解释了每种方法的问题方面——例如 pypl 沙箱、docker 等。
我可以定义代码需要的输入和输出,并且可以将它们全部放在一个目录中,对我来说重要的是这段代码不能伤害我的文件系统,并创建磁盘、内存、cpu 溢出(我需要能够设置超时,并防止它访问不专门用于它的文件)
这里的最佳做法是什么?码头工人?Kubernetes?有没有一个python模块?
谢谢。
解决方案
您可以拥有一个带有卷挂载的 python docker 容器。卷挂载将是本地系统中代码的目录,这些代码也将在您的 docker 容器中可用。通过这样做,您可以在容器运行时仅将用户提供的代码隔离到容器中。使用 CIS 基准扫描您的 python 容器以获得更好的安全性
推荐阅读
- python - Python matplotlib 未正确绘图
- reactjs - 在页面刷新商店数据正在清除 reactJs
- node.js - 在 Centos 8 NodeJS 上进行推送时,如何自动提取 repo
- java - ZonedDateTime.parse 无法使用 am 或 pm 解析时间
- android - ADB 是否有可能与第 3 方 Android AIDL 进行通信?
- css - 带动态箭头的角度水平滚动
- angular - AngularFire 6 ...如何在 afAuth 上设置语言代码?
- python - 键盘模块
- zeek - 安装 Zeek-aux 时出错:未知的 CMake 命令“FindRequiredPackage”
- java - 调用不同类别的改造