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

Canonical page: https://phishdestroy.github.io/TgWitness/uk/docs/security/

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

**127.0.0.1**адреса панелі за замовчуванням

**256-бітний**випадковий токен панелі

**0**CDN, аналітика або віддалені шрифти

**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 була записана.

[Надавайте доступ до справи](https://phishdestroy.github.io/TgWitness/uk/docs/access/) з відповідними правами, терміном дії та обмеженнями сеансу. Токен свідка залишається окремим обліковим записом.

## Зміцнення безпеки інсталяції

Виконано 0 з 8

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. Вкажіть версію, наслідки та мінімальний синтетичний приклад відтворення. Ніколи не надсилайте облікові дані, каталоги облікових записів або архіви реальних доказів. Якщо приватне повідомлення недоступне, створіть запит із проханням про відкриття приватного каналу, не вказуючи деталей експлойта.
