Документация / 10
Безопасность установки
Ознакомьтесь с маршрутами для Telegram, списками общедоступных прокси-серверов и дополнительными внешними сервисами. Узнайте, какие возможности открывает каждая настройка, что охватывают меры защиты и что остается на ваше усмотрение.
Где всё хранится
Сборщик данных, его панель управления и все сохраненные записи остаются на том компьютере или сервере, на котором вы его запускаете. Telegram является единственным местом назначения по умолчанию; каждый другой вариант представляет собой отдельный переключатель.
- 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 было зафиксировано.
Предоставляйте доступ к делу с помощью настроек прав доступа, срока действия и ограничений сеанса. Токен свидетеля остаётся отдельным средством аутентификации.
Усиление безопасности установки
- Используйте специальный аккаунт в Telegram — ни в коем случае не ваш основной. Токен панели и сессия обеспечивают полный контроль над ним.
- Оставьте панель управления на адресе 127.0.0.1. Удаленный доступ к ней осуществляйте исключительно через HTTPS (включенная в комплект конфигурация Caddy) или SSH-туннель.
- Зашифруйте диск, на котором находится каталог данных: тексты сообщений и мультимедийные файлы хранятся в том виде, в каком они поступили.
- Ограничьте доступ к каталогу данных только учётной записью службы. В системе Unix новым каталогам присваивается режим доступа 0700; в Windows необходимо настроить права доступа к папке.
- Храните главный ключ хранилища на других серверах: перед созданием каталога данных установите значение
TGWITNESS_VAULT_KEY_FILE. - Сохраните отпечаток ключа подписи и контрольные точки на другой системе, а также добавьте свидетеля на другом хосте.
- Ни в коем случае не загружайте ключи
data/, сеансовые ключи,panel-token.txtили ключи хранилища на GitHub или в чат. - Не регистрируйте заголовки
Authorizationили тела запросов на обратном прокси-сервере.
Можно ли изменить токен панели без потери данных?
Да. Токен служит лишь для открытия панели. Остановите TgWitness, удалите файл panel-token.txt из каталога данных и запустите программу заново; журнал, сессии и ключи останутся неизменными. При установке значения TGWITNESS_TOKEN вместо файла используется значение переменной среды.
Почему сообщения не шифруются при хранении?
Специалист по сбору данных должен иметь возможность просматривать эти записи для поиска, сравнения версий и экспорта. Шифрование данных с помощью ключа на том же компьютере не даст значительной защиты от лица, имеющего доступ к данному компьютеру. Шифрование диска защищает отвлечённый или похищенный диск; строгие права доступа защищают диск, находящийся в рабочем состоянии.
Сообщить об уязвимости
Воспользуйтесь разделом «Безопасность» → «Сообщить об уязвимости» в репозитории GitHub. Укажите версию, последствия и минимальный синтетический пример воспроизведения. Ни в коем случае не отправляйте учетные данные, каталоги учетных записей или архивы реальных доказательств. Если возможность конфиденциального сообщения недоступна, создайте заявку с просьбой о предоставлении закрытого канала, не указывая подробностей уязвимости.