gitlab-notification/documentation/ru/docs/privacy/index.md

8.7 KiB
Raw Blame History

description
Эта страница пытается ответить на все вопросы, которые могут вас смущать.

🥷{ .ninja-disappear } Защита данных

Я понимаю, что в GitLab содержится множество конфиденциальной информации, которую не хотелось бы раскрывать. Эта страница пытается ответить на все вопросы, которые могут вас смущать.

Об авторе бота

Давайте знакомится. Меня зовут Стручков Марк, я тимлид небольшой команды. В свободное время веду блог и "блокнот." ==Это приложение в первую очередь должно помогать мне работать, оптимизируя мое взаимодействие с GitLab.==

В какой-то момент я решил подлиться своими наработками со всеми желающими. И пытаться кому-то что-то доказать у меня нет желания. ==Что-то смущает? Не пользуйтесь.== В этом весь Open Source.

Вы можете самостоятельно изучить код, он полностью открыт, доступен, и не сложен. После проверки можно самостоятельно собрать jar и упаковать его в Docker. Либо запускать прямо из Idea.

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

Защита токена GitLab

Для работы ассистента необходим персональный токен GitLab. Достаточно токена с правами только на чтение. Он указывается в переменные среды и нигде дополнительно не хранится и не передается. Таким образом ==токен не попадает в Telegram, никуда не передается, и хранится только у вас на компьютере и в контейнере приложения.==

==Токен используется только при обращении к указанному GitLab, и только для выполнения описанных в документации возможностей.== Никакой скрытой работы не выполняется, по возможности обо всех взаимодействиях с GitLab дополнительно сообщается в диалоговом режиме, особенно во время первичной настройки.

!!! question "А что, если ты украдешь токен?"

Я еще раз повторяю, что в мои планы не входит что-то кому-то доказывать. Это open source, детка, изучайте код и [позорьте мое честное имя](https://mark.struchkov.dev) перед сообществом, если что-то найдете.

Задайте себе вопрос: насколько полезен токен от вашего корпоративного self-host гитлаба без подключения к корпоративному VPN.

Уровни конфиденциальности

Некоторые уведомления могут содержать множество чувствительной информации. Например, уведомления о новых сообщениях в тредах. Возможно вы не захотите раскрывать столько информации о вашей разработке телеграму, ведь через него идет получение уведомлений. Специально для таких случаев предусмотрены уровни конфиденциальности разных типов уведомлений.

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

Сохранение в БД

Для работы ассистента ему нужно сохранять предыдущее состояние GitLab сущностей. Для этого используется БД. Приложение старается не хранить в БД больше данных, чем необходимо. Как только необходимость в данных теряется, например MR мержится, данные из БД удаляются.

Прочитать подробнее можно в разделе: Работа с базой данных

Несанкционированный доступ

==Все боты в Telegram являются публичными.== Это значит, что ваш бот может быть найден через поиск в Telegram. Поэтому ==не рекомендуется давать название боту, которое может раскрыть его предназначение.==

Даже если кто-то случайно напишет вашему боту ничего не случится. ==В боте встроена проверка прав доступа.== Вот как она работает:

  1. При запуске вы указываете ваш идентификатор в Telegram. В отличие от логина, идентификатор уникален для каждого пользователя и нет возможности его подменить.
  2. Когда бот получает сообщение, он проверяет идентификатор отправителя
  3. Если идентификатор отправителя не совпадает с указанным при запуске, бот не обрабатывает команду
  4. Вы получаете уведомление о том, что такой-то пользователь пытался написать в ваш бот. Вам доступен логин этого пользователя в Telegram, а также текст его сообщения. Это поможет понять является ли попытка доступа злонамеренной и принять меры.
![unauth-access.png](unauth-access.png){ loading=lazy width="500" }
уведомление о несанкционированном доступе

Для злоумышленника все выглядит так, как будто бот не работает. Никаких ответных сообщений ему не отправляется.

Взлом Telegram

Если ваш Telegram аккаунт взломают, то взломщику станет доступна вся переписка с ботом. Поэтому рекомендую нажимать на быстрое действие о просмотре сообщения (👀), а также периодически удалять историю переписки.