Версия политики: 2.0 (Production-Grade)
Статус: Действующий регламент архитектурной безопасности
Последнее обновление: 2026-09-13
TuxProxy принципиально отвергает маркетинговые термины «100% анонимность», «Zero-Leak серебряная пуля» или «абсолютная защита».
В сложных операционных системах Linux любая сетевая изоляция — это компромисс между:
- Глубиной перехвата сетевого стека (POSIX-переменные vs сокеты libc vs пакетная фильтрация ядра Linux).
- Необходимым уровнем привилегий (Unprivileged non-root vs
CAP_NET_ADMIN/ root). - Совместимостью с экосистемой ПО (динамический линкинг glibc/musl vs статические бинарники Go/Rust vs браузерные IPC-движки).
TuxProxy предоставляет детерминированные барьеры на уровне выбранного профиля изоляции, гарантируя fail-closed поведение при отказе контура, но не отменяет фундаментальных ограничений операционной системы и протокола Tor.
| Профиль | Механизм реализации | Необходимые привилегии | Классы целевых бинарников | Архитектурные гарантии | Остаточный вектор утечек (Residual Leak Vectors) |
|---|---|---|---|---|---|
env |
Переменные POSIX (ALL_PROXY, HTTP_PROXY, _JAVA_OPTIONS, etc.) |
Unprivileged (Обычный пользователь) | CLI-утилиты (curl, git, python, cargo), JVM |
Добровольное следование переменным окружения со стороны прикладных программ. Удаленный DNS через SOCKS5h. | Высокий риск: прямое использование системных вызовов socket()/connect() к публичным IP, сторонние библиотеки без поддержки прокси, hardcoded IP-адреса. |
electron |
Флаги ядра Chromium (--proxy-server, --host-resolver-rules, --webrtc-ip-handling-policy) |
Unprivileged (Обычный пользователь) | Браузеры и Electron (Antigravity IDE, VS Code, Chrome, Discord) | Принудительное подавление WebRTC STUN UDP; подмена резолвера DNS на ~NOTFOUND; отключение телеметрии и Crash Reporter. |
Средний риск: защищает веб-рендерер и основной сетевой движок; не изолирует нативные бинарные плагины/расширения, вызывающие libc/raw сокеты напрямую. |
proxychains |
Динамический перехват сокетов libc (LD_PRELOAD) |
Unprivileged (Обычный пользователь) | Динамически слинкованные ELF (Telegram Desktop, C/C++ бинарники) | Перехват connect(), sendto(), getaddrinfo() в пространстве пользователя; туннелирование через SOCKS5h; subnet 224 для fake-DNS. |
Средний риск: бессилен против статически скомпилированных бинарников (Go, Rust), программ с прямыми ассемблерными syscalls или setuid-бинарников. |
netns-rootless |
User Namespaces (CLONE_NEWUSER + CLONE_NEWNET) + slirp4netns |
Unprivileged (Без root, требуется unprivileged userns в ядре) | Любые приложения (включая Go, Rust, C/C++) | Полная изоляция сетевого стека без привилегий суперпользователя. Весь сетевой стек эмулируется в userspace. | Низкий риск: повышенный оверхед по CPU/latency; зависимость от стабильности внешнего бинарника slirp4netns. |
netns-gateway |
Ядерный Network Namespace (ip netns) + veth pair + nftables + DNS DNAT |
Privileged (CAP_NET_ADMIN / sudo) с немедленным сбросом в $SUDO_USER |
Любые приложения, любые бинарники, raw sockets, daemon-процессы | Максимальный аппаратный барьер (Fail-Closed): Zero-Forwarding, Zero-NAT, lo UP, принудительный DNAT порт 53 на Tor DNS, блокировка любого прямого WAN-трафика на уровне правил ядра nftables. |
Минимальный риск: утечка возможна исключительно при уязвимости нулевого дня в реализации сетевого стека или подсистемы Netfilter ядра Linux. |
Следующие классы угроз находятся вне границ модели безопасности TuxProxy и требуют других классов защиты (Tails OS, Qubes OS, Whonix, анонимные SIM, физический Faraday cage):
-
Глобальный пассивный наблюдатель (Global Passive Adversary):
- Корреляция таймингов пакетов и объемов данных на входе в сеть Tor (ISP / First Hop) и на выходе (Exit Node / Target Server).
- Автономные системы (AS) и государственные регуляторы с глобальным перехватом магистральных каналов способны деанонимизировать низколатентные onion-контуры статистическими методами.
-
Компрометация выходных узлов (Malicious Exit Nodes):
- Выходной узел Tor видит незашифрованный трафик прикладного уровня (HTTP, SMTP, FTP, незашифрованный DNS).
- Атаки SSL Stripping, подмена сертификатов (если отключен HSTS) или логирование содержимого незащищенных сессий. TuxProxy обеспечивает транспортную изоляцию, но не заменяет сквозное E2E-шифрование (TLS 1.3 / HTTPS).
-
DoH / DoT внутри приложений в обход системного резолвера:
- Если приложение в режимах
envилиelectronсодержит встроенный зашифрованный резолвер (DNS-over-HTTPS / DNS-over-TLS к серверам Cloudflare/Google по hardcoded IP1.1.1.1:443), оно отправит запрос в обход локального DNS-шлюза Tor. - Примечание: В профиле
netns-gatewayэтот вектор закрыт полностью — прямое подключение к любым внешним IP физически отбрасывается ядром Linux (drop).
- Если приложение в режимах
-
Аппаратный и системный фингерпринтинг (Device / OS Fingerprinting):
- TuxProxy изолирует только сетевой стек.
- Идентификаторы оборудования (GPU PCI ID, OpenGL Canvas / WebGL рендеринг, AudioContext, установленные системные шрифты, разрешение монитора, параметры ядра и тайминги CPU) остаются доступными приложению и могут использоваться внешними трекерами для идентификации сессии.
-
Локальная компрометация хоста (Local Compromise / Rootkit):
- Наличие в системе spyware, keylogger, eBPF-зондов ядра, отладчиков (
ptrace), руткитов или физического доступа к оборудованию. - Если хост скомпрометирован на уровне пользователя или root, сетевой изолятор не способен защитить оперативную память процесса.
- Наличие в системе spyware, keylogger, eBPF-зондов ядра, отладчиков (
Для исключения ошибок конфигурации и скрытых сбоев в TuxProxy заложены жесткие системные инварианты:
- Fail-Closed принцип:
- Если супервизор Tor падает, сокет закрывается или процесс завершается аварийно, трафик целевого приложения блокируется. TuxProxy никогда не переключается на прямой выход в интернет.
- Изоляция интерфейса управления (Unix Domain Socket):
ControlPortпо умолчанию использует исключительно локальный Unix domain socket в каталоге рантайма с правами0700($XDG_RUNTIME_DIR/tuxproxy/session-<id>/control.sock).- Доступ защищен файлом cookie с правами
0600(CookieAuthentication 1). БиндингControlPortна TCP0.0.0.0или публичные интерфейсы строго запрещен валидатором конфигурации.
- Анти-0.0.0.0 аудит слушающих сокетов:
- Супервизор Tor проводит обязательную верификацию: порты SOCKS5h, HTTP-туннеля и DNS биндятся только на
127.0.0.1или шлюзовой адресveth(10.200.<id>.1). Обнаружение привязки на0.0.0.0вызывает немедленный аварийный останов (panic/abort).
- Супервизор Tor проводит обязательную верификацию: порты SOCKS5h, HTTP-туннеля и DNS биндятся только на
- Атомарность и crash-durability модификации окружения (Shell-Hook):
- Модификация
~/.bashrcи~/.zshrcзащищена межпроцессной блокировкойsyscall.Flockна~/.tuxproxy.lock. - Запись выполняется во временный файл в том же каталоге с вызовом
file.Sync(), сохранением прав исходного файла (os.Chmod), атомарной заменойos.Rename()иdir.Sync()родительского каталога. - Бэкапы версионируются с retention policy строго в 3 последних копии. Неинтерактивные шеллы (
scp,rsync) экранируются гардомcase "$-" in *i*) ;; *) return 0;; esac.
- Модификация
Если вы обнаружили потенциальную брешь в безопасности, вектор утечки трафика или ошибку реализации сетевых барьеров в TuxProxy:
- Не создавайте публичный Issue в GitHub.
- Отправьте конфиденциальный отчет через GitHub Security Advisories.
- Приложите:
- Описание уязвимости и затронутый профиль изоляции (
env,electron,proxychains,netns). - Воспроизводимый PoC (скрипт, pcap-дамп с Wireshark/tcpdump, шаги воспроизведения).
- Вывод команды
tuxproxy statusи версию ядра Linux (uname -a).
- Описание уязвимости и затронутый профиль изоляции (
- Сроки реагирования (SLA):
- Первичное подтверждение получения: до 48 часов.
- Оценка риска и выпуск исправления: до 14 дней.
- Согласованное публичное раскрытие (Coordinated Disclosure): после релиза патча.