You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在域环境Windows Server 2019中保护Python项目免受域管理员访问?

从RAM运行加密Python项目并防止域管理员访问的可行方案

需求目标

  • 使用非域管理员的本地管理员AD账户登录已加入域的Windows Server 2019
  • 以服务形式运行Python 3脚本(仅维护时停止),环境已预装Python 3
  • 启动时需验证双密码(AD账户密码+加密归档密码)
  • 密码验证通过后,将加密归档中的Python项目直接解压至RAM并运行,绕过磁盘临时目录
  • 运行期间对归档内类数据库文件的修改需持久化回加密归档

核心要求

防止无该AD账户密码及归档密码的人员(包括域管理员)访问项目的脚本、依赖、类数据库文件及配置

背景原因

项目包含敏感数据,无法信任所有域管理员,且无法修改域管理员权限

已调研情况

已确认基于Dokan的memfs等会话级虚拟RAM盘是可行方向,但希望了解其他Python 3兼容的从RAM运行项目的方式;已排除exec或python.exe -c参数(项目规模大且含多脚本引用),PyFilesystem的MemFS仅支持Python 2,自定义sys.path导入钩子不可行,需提前创建RAM挂载点且直接解压至RAM


可行方案推荐

方案1:Dokan RAM盘 + 加密归档命令行工具组合

这是最直接且符合需求的方案,步骤如下:

  1. 提前创建RAM挂载点:用目标本地管理员AD账户登录,通过Dokan工具创建会话级RAM盘(如Z:),并通过NTFS权限设置仅允许该AD账户读写,拒绝域管理员组及其他所有用户的访问权限(即使域管理员有本地管理员权限,NTFS拒绝权限优先级更高)。
  2. 双密码验证逻辑:编写一个轻量启动器(可使用Python或C#实现),首先验证当前登录的AD账户密码(通过Windows API验证本地凭据),再要求输入加密归档密码。
  3. 直接解压至RAM盘:验证通过后,使用支持密码的命令行归档工具(如7-Zip的7z.exe),将加密归档直接解压到RAM盘,命令示例:
    7z.exe x "C:\path\to\encrypted_project.7z" -p"归档密码" -o"Z:\" -y
    
  4. 启动Python服务:配置Windows服务以该AD账户身份运行,指向RAM盘中的Python脚本入口文件(如Z:\main.py),确保服务启动依赖于RAM盘挂载完成。
  5. 持久化修改:编写定时任务或脚本退出钩子,定期将RAM盘中的类数据库文件(如Z:\data\db.db)重新加密归档回原存储位置,命令示例:
    7z.exe u "C:\path\to\encrypted_project.7z" -p"归档密码" "Z:\data\db.db" -y
    

方案2:Windows内置DiskPart RAM磁盘 + 加密归档

如果不想依赖第三方Dokan工具,可使用Windows自带的diskpart创建RAM磁盘:

  1. 创建RAM磁盘脚本:编写.bat脚本通过diskpart创建固定大小的RAM盘,示例:
    diskpart /s create_ramdisk.txt
    
    create_ramdisk.txt内容:
    create vdisk file="C:\RamDisk.vhd" maximum=4096 type=expandable
    attach vdisk
    create partition primary
    format fs=ntfs quick label="RAMDisk"
    assign letter=Z
    
    注意:创建后同样设置NTFS权限仅允许目标AD账户访问。
  2. 后续步骤同方案1:双密码验证、解压至RAM盘、启动服务、持久化修改。

方案3:Python内存文件系统挂载库(Fusepy)

如果希望纯Python实现内存文件系统,可使用支持Windows的fusepy库(Python 3兼容):

  1. 安装依赖:pip install fusepy
  2. 实现内存文件系统:基于fusepy创建内存中的文件系统挂载点,将加密归档中的文件解压到该内存FS中(使用pyzipper处理加密ZIP归档)。
  3. 修改Python路径:将内存FS的挂载路径添加到sys.path,让Python可以正常导入项目中的模块。
  4. 双密码验证与持久化:同样实现双密码验证逻辑,运行期间监控类数据库文件的修改,定时将修改内容写回加密归档。

内容的提问来源于stack exchange,提问作者Vincent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 20:02:50