From 9630d0a9df3d5e03ce27ea2ade41520a7765e84c Mon Sep 17 00:00:00 2001 From: bol-van Date: Sat, 13 Dec 2025 16:54:54 +0300 Subject: [PATCH] update docs --- docs/manual.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/manual.md b/docs/manual.md index ffa2305..7b45225 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -634,6 +634,27 @@ nfqws2 <глобальные_параметры> В остальных системах нужно копаться в powershell или лезть в реестр, чтобы раскидать подключения по нужным GUID, если вдруг они раскидались системой неправильно. Но можно и не бороться, а просто внести список GUID, назначенных системой автоматически. +## Песочница + +В целях безопасности nfqws2 после инициализации сбрасывает свои привилегии. +Весб LUA код выполняется только после сброса привилегий. Он никогда не получает исходные права. + +BSD : +* Меняется UID/GID на указанные в параметрах `--user`, `--uid` + +Linux : +* Меняется UID/GID на указанные в параметрах `--user`, `--uid` +* Включается seccomp фильтр, запрещающий exec и ряд файловых операций - чтение содержимого каталогов, создание/удаление каталогов, создание специальных файлов (линки, девайсы), посылание сигналов (kill), ptrace. +В случае нарушения процесс аварийно завершается. + +Windows : +* Хотя драйвер windivert требует привилегий администратора, после его инициализации процесс winws2 ставит себе low mandatory level. +Это предотвращает доступ на запись практически ко всем файлам и обьектам, защищенным security descriptor. + +Есть простой способ передать LUA коду каталог, доступный на запись - параметр `--writeable[=]`. +nfqws создает каталог, назначает на него такие права, чтобы LUA код смог писать туда файлы, передает имя директории в переменной env `WRITEABLE`. +Если dirname не задан, на Windows создается каталог внутри `%USERPROFILE%/AppData/LocalLow` + ## Вызов LUA кода LUA код вызывается в 2 этапа.