Как защитить проект Python в Windows от администраторов домена? ⇐ Python
-
Гость
Как защитить проект Python в Windows от администраторов домена?
Желаемый результат:
[*]
Я вхожу в Windows Server 2019, подключенный к домену, используя учетную запись Active Directory, которая является локальным администратором, но не администратором домена.
[*]
Я инициирую запуск скрипта Python 3, который работает как сервис, рабочий. Его остановят только на техническое обслуживание. Питон 3 установлен. Python 2 не установлен, и я не хочу его устанавливать.
[*]
Мне будет предложено ввести пароль
[*]
Если я введу правильный пароль, проект Python извлекается из защищенного паролем зашифрованного архива (любого формата) непосредственно в оперативную память, а затем запускается там
Ключевым требованием является запретить людям, у которых нет пароля для этой учетной записи Active Directory и не знают пароля архива, доступ к файлам проекта Python (скрипты, зависимости, файлы, подобные локальной базе данных, конфигурации). ).
[*]Изменения, внесенные в архив файлов, похожих на базу данных, сохраняются обратно в защищенный паролем архив во время работы проекта.
Обоснование: Проект содержит данные, которые нельзя доверять всей группе администраторов домена. Я не могу влиять на разрешения администраторов доменов.
Вопрос:
Какие варианты у меня есть для обеспечения доступа к проекту таким образом?
Я провел исследование и, по-видимому, лучше всего использовать виртуальный локальный диск (ramdisk), сопоставленный только с текущим сеансом пользователя Windows (memfs от Dokan кажется самым быстрым способом). Но, может быть, есть другие способы запуска Python-скриптов из оперативной памяти? Я имею в виду, что помимо «exec» или аргумента «-c» python.exe — сценарии большие и включают ссылки на другие файлы сценариев. Похоже, что MemFS из проекта PyFilesystem поддерживает это только для Python 2. Создание собственного приспособы импорта для sys.path не представляется возможным. Также в идеале распаковку из архива нужно было бы производить непосредственно в оперативную память, минуя временные места на диске. Похоже, что перед началом распаковки в Windows должна существовать локальная точка монтирования (сопоставленная локальная папка или буква диска, указывающая на ОЗУ).
Извлечение разумных данных из сценариев также не представляется возможным, поскольку проект огромен и эти данные уже повсюду.
Спасибо
Желаемый результат:
[*]
Я вхожу в Windows Server 2019, подключенный к домену, используя учетную запись Active Directory, которая является локальным администратором, но не администратором домена.
[*]
Я инициирую запуск скрипта Python 3, который работает как сервис, рабочий. Его остановят только на техническое обслуживание. Питон 3 установлен. Python 2 не установлен, и я не хочу его устанавливать.
[*]
Мне будет предложено ввести пароль
[*]
Если я введу правильный пароль, проект Python извлекается из защищенного паролем зашифрованного архива (любого формата) непосредственно в оперативную память, а затем запускается там
Ключевым требованием является запретить людям, у которых нет пароля для этой учетной записи Active Directory и не знают пароля архива, доступ к файлам проекта Python (скрипты, зависимости, файлы, подобные локальной базе данных, конфигурации). ).
[*]Изменения, внесенные в архив файлов, похожих на базу данных, сохраняются обратно в защищенный паролем архив во время работы проекта.
Обоснование: Проект содержит данные, которые нельзя доверять всей группе администраторов домена. Я не могу влиять на разрешения администраторов доменов.
Вопрос:
Какие варианты у меня есть для обеспечения доступа к проекту таким образом?
Я провел исследование и, по-видимому, лучше всего использовать виртуальный локальный диск (ramdisk), сопоставленный только с текущим сеансом пользователя Windows (memfs от Dokan кажется самым быстрым способом). Но, может быть, есть другие способы запуска Python-скриптов из оперативной памяти? Я имею в виду, что помимо «exec» или аргумента «-c» python.exe — сценарии большие и включают ссылки на другие файлы сценариев. Похоже, что MemFS из проекта PyFilesystem поддерживает это только для Python 2. Создание собственного приспособы импорта для sys.path не представляется возможным. Также в идеале распаковку из архива нужно было бы производить непосредственно в оперативную память, минуя временные места на диске. Похоже, что перед началом распаковки в Windows должна существовать локальная точка монтирования (сопоставленная локальная папка или буква диска, указывающая на ОЗУ).
Извлечение разумных данных из сценариев также не представляется возможным, поскольку проект огромен и эти данные уже повсюду.
Спасибо
Мобильная версия