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

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

Забезпечте безпеку

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

127.0.0.1адреса панелі за замовчуванням
256-бітнийвипадковий токен панелі
0CDN, аналітика або віддалені шрифти
Ed25519підпис на кожному записі

Де все зберігається

Колектор, його панель управління та всі збережені записи залишаються на комп’ютері або сервері, на якому ви його запускаєте. Telegram є єдиним місцем призначення за замовчуванням; кожне інше — це окремий перемикач.

06 / ЩО ВИХОДИТЬ З МАШИНИВаша інсталяція
ВАШ КОМП’ЮТЕР АБО СЕРВЕР
Панель127.0.0.1:8787 · токен-носій
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. Обмежте доступ до каталогу даних обліковим записом служби. Нові каталоги отримують режим доступу 0700 у Unix; у Windows налаштуйте права доступу до папки.
  5. Зберігайте головний ключ сховища на інших серверах: перед створенням каталогу даних встановіть TGWITNESS_VAULT_KEY_FILE.
  6. Збережіть відбиток ключа підпису та контрольні точки на іншій системі та додайте свідка на іншому хості.
  7. Ніколи не завантажуйте ключі data/, сесійні ключі, panel-token.txt або ключі сховища на GitHub або в чат.
  8. Не реєструйте заголовки Authorization або тіла запитів на зворотньому проксі-сервері.
Чи можна змінити токен панелі без втрати даних?

Так. Токен лише відкриває панель. Зупиніть TgWitness, видаліть panel-token.txt з каталогу даних і запустіть програму знову; журнал, сесії та ключі залишаться незмінними. Якщо встановлено TGWITNESS_TOKEN, замість файлу використовується значення середовища.

Чому повідомлення не шифруються під час зберігання?

Колектор повинен прочитати їх, щоб здійснювати пошук, порівнювати версії та експортувати дані. Шифрування їх за допомогою ключа на тій самій машині мало що дасть проти того, хто має доступ до цієї машини. Шифрування диска захищає вилучений або викрадений диск; суворі права доступу захищають диск, що працює.

Повідомити про вразливість

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