TgWitness / Документация

Документация / 10

Безопасность установки

Ознакомьтесь с маршрутами для Telegram, списками общедоступных прокси-серверов и дополнительными внешними сервисами. Узнайте, какие возможности открывает каждая настройка, что охватывают меры защиты и что остается на ваше усмотрение.

127.0.0.1Адрес панели по умолчанию
256-битныйслучайный токен панели
0CDN, аналитика или удалённые шрифты
Ed25519подпись на каждой записи

Где всё хранится

Сборщик данных, его панель управления и все сохраненные записи остаются на том компьютере или сервере, на котором вы его запускаете. Telegram является единственным местом назначения по умолчанию; каждый другой вариант представляет собой отдельный переключатель.

06 / ЧТО ОСТАЁТСЯ В СИСТЕМЕВаша установка
ВАШ КОМПЬЮТЕР ИЛИ СЕРВЕР
Панель127.0.0.1:8787 · токен bearer
Collectorодин клиент Telegram на каждое рабочее пространство
КАТАЛОГ ДАННЫХ
ЖурналSQLite · с цепочкой хешей · подписанный
СМИФайлы, имена которых сформированы на основе SHA-256
ХранилищеFernet · сессия, пара API, ключ подписи, прокси
  • TelegramВсегда · по вашему маршруту

    Тип подключения аккаунта по протоколу MTProto: прямое, SOCKS5, HTTP или MTProxy. Режим «Скрытие IP» ожидает подключения к рабочему прокси-серверу. Для перехода на прямое подключение в качестве резервного варианта требуется режим, явно разрешающий такую возможность.

  • Текст для внешних ресурсовНеобязательно · по умолчанию отключено

    Журнал, файлы и контрольные точки шифруются с помощью алгоритма AES-GCM перед загрузкой в хранилище, совместимое с S3. Ключ хранится у вас; вложения именуются по хэшам с ключом, а не по хэшам их содержимого.

  • УведомленияНеобязательно · по умолчанию отключено

    Указание проблем и количества изменений с указанием названий чатов. Выдержки из сообщений отправляются только в том случае, если вы включите эту функцию.

  • Авторитетный источник временных метокНеобязательно · по умолчанию отключено

    Только хеш SHA-256 подписанной контрольной точки и случайный нонс. Никаких сообщений, никаких имен участников чата.

  • WitnessНеобязательно · по умолчанию отключено

    С помощью токена, предназначенного только для чтения, извлекает подписанные контрольные точки и счетчики захватов. Инструмент не может читать переписки или изменять настройки.

По умолчанию: с данного компьютера выходит только соединение с Telegram.

Дополнительные места назначения настраиваются для каждого рабочего пространства. Текст сообщений и мультимедийные файлы хранятся в незашифрованном виде в каталоге данных: обеспечьте их защиту с помощью шифрования диска и прав доступа к файлам.

Что открывает каждая тайна

СекретноГде хранитсяКакие возможности это открываетВ случае утечки
Токен панелиФайл panel-token.txt в каталоге данных; браузер сохраняет его только для данной вкладкиВсе возможности в каждой рабочей области: просмотр и экспорт данных, изменение области охвата, вход в учетные записиОстановите TgWitness, удалите panel-token.txt, запустите его заново: будет создан новый токен
Сессия TelegramХранилище, зашифрованное (credentials.enc)Сам аккаунт в TelegramЗавершите сессию в Telegram в разделе «Настройки» → «Устройства»
Ключ подписиХранилище, зашифрованное (signing.enc)Подписанные записи, проверка которых осуществляется с помощью вашего цифрового отпечаткаКонтрольные точки, хранящиеся в других местах, свидетельские данные и временные метки показывают, что существовало ранее
Ключ хранилищаvault.key рядом с данными или внешний мастер-ключ для нового каталога данныхРасшифровка хранилищаСчитайте, что сессионный ключ и ключ подписи также стали объектом утечки
Токен WitnessНа хостинге WitnessТолько для чтения: подписанные контрольные точки и состояние системыУдалите его на странице «Witness»; создайте новый
Ключевые фразы для текстов на внешних ресурсахVault; загрузите его один раз для восстановления данныхРасшифровка внешней копииЛюбой, у кого также имеются сохраненные объекты, может их расшифровать: рассматривайте эту копию как уязвимую

Что охватывают меры защиты

: освещено

  • Измененная, удалённая или перемещённая запись в экспортированном файле: цепочка хешей или подпись больше не проходит проверку.
  • Журнал, сокращённый или восстановленный после того, как контрольная точка хранилась в другом месте: сохраненная контрольная точка больше не совпадает.
  • Угадывание токена панели: 256 случайных битов, сравнение которых занимает постоянное время; после 15 неудачных попыток в минуту доступ к адресу блокируется.
  • Содержание враждебных чатов: текст вставляется в виде текста, а не в формате HTML; вложения загружаются как файлы; панель не загружает никаких данных с других сайтов.
  • Каталог скопированных данных с внешним ключом хранилища: сеансы и ключи подписи остаются зашифрованными без мастер-ключа.

Решать вам

  • Полный контроль принадлежит владельцу основного токена. Предоставляйте другим пользователям ограниченный доступ к необходимым им учетным записям, чатам и действиям; сохраняйте основной ключ в тайне.
  • Администратор сервера может прочитать всё содержание, а также переписать и заново подписать журнал. Храните отпечаток и контрольные точки на другой системе.
  • Текст сообщений и мультимедийные файлы не шифруются TgWitness. Используйте шифрование диска и строгие настройки прав доступа.
  • Использование простого HTTP за пределами localhost приводит к раскрытию токена в сети. Используйте HTTPS или SSH-туннель.
  • Подписи подтверждают, что записанные данные не были изменены, а не то, что каждое событие в Telegram было зафиксировано.

Предоставляйте доступ к делу с помощью настроек прав доступа, срока действия и ограничений сеанса. Токен свидетеля остаётся отдельным средством аутентификации.

Усиление безопасности установки

  1. Используйте специальный аккаунт в Telegram — ни в коем случае не ваш основной. Токен панели и сессия обеспечивают полный контроль над ним.
  2. Оставьте панель управления на адресе 127.0.0.1. Удаленный доступ к ней осуществляйте исключительно через HTTPS (включенная в комплект конфигурация Caddy) или SSH-туннель.
  3. Зашифруйте диск, на котором находится каталог данных: тексты сообщений и мультимедийные файлы хранятся в том виде, в каком они поступили.
  4. Ограничьте доступ к каталогу данных только учётной записью службы. В системе Unix новым каталогам присваивается режим доступа 0700; в Windows необходимо настроить права доступа к папке.
  5. Храните главный ключ хранилища на других серверах: перед созданием каталога данных установите значение TGWITNESS_VAULT_KEY_FILE.
  6. Сохраните отпечаток ключа подписи и контрольные точки на другой системе, а также добавьте свидетеля на другом хосте.
  7. Ни в коем случае не загружайте ключи data/, сеансовые ключи, panel-token.txt или ключи хранилища на GitHub или в чат.
  8. Не регистрируйте заголовки Authorization или тела запросов на обратном прокси-сервере.
Можно ли изменить токен панели без потери данных?

Да. Токен служит лишь для открытия панели. Остановите TgWitness, удалите файл panel-token.txt из каталога данных и запустите программу заново; журнал, сессии и ключи останутся неизменными. При установке значения TGWITNESS_TOKEN вместо файла используется значение переменной среды.

Почему сообщения не шифруются при хранении?

Специалист по сбору данных должен иметь возможность просматривать эти записи для поиска, сравнения версий и экспорта. Шифрование данных с помощью ключа на том же компьютере не даст значительной защиты от лица, имеющего доступ к данному компьютеру. Шифрование диска защищает отвлечённый или похищенный диск; строгие права доступа защищают диск, находящийся в рабочем состоянии.

Сообщить об уязвимости

Воспользуйтесь разделом «Безопасность» → «Сообщить об уязвимости» в репозитории GitHub. Укажите версию, последствия и минимальный синтетический пример воспроизведения. Ни в коем случае не отправляйте учетные данные, каталоги учетных записей или архивы реальных доказательств. Если возможность конфиденциального сообщения недоступна, создайте заявку с просьбой о предоставлении закрытого канала, не указывая подробностей уязвимости.