# Организация усилий по устранению утечок секретов

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

## Introduction

В этом уроке вы организуете работу по устранению утечок секретов. Вы узнаете, как:

* Создавайте кампании безопасности для отслеживания работ по устранению
* Назначайте оповещения в зависимости от владельца
* Мониторинг хода рекультивации
* Общайтесь с заинтересованными сторонами

## Необходимые условия

* У вас должны быть оба GitHub Secret Protection варианта и secret scanning включены для вашей организации. См [. раздел AUTOTITLE](/ru/code-security/how-tos/secure-at-scale/configure-organization-security/configure-specific-tools/protect-your-secrets).
* У вас должны быть уже secret scanning доступные оповещения.

## Шаг 1: Пересмотрите свой Оповещения о сканировании секретов

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

1. На GitHubперейдите на главную страницу организации.

2. Под названием вашей организации нажмите вкладку **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality** .

3. В левой боковой панели, в разделе «Находки», нажмите на <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-chevron-down" aria-label="chevron-down" role="img"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg> символ справа от **Secret scanning**.

4. В выпадающем списке выберите `Default`.
   `Default` относится к поддерживаемым шаблонам и заданным пользовательским шаблонам.

5. В качестве альтернативы вы можете выбрать `Generic` просмотр неструктурированных секретов, таких как пароли. Однако общие шаблоны обычно дают больше ложных срабатываний, чем стандартные, поэтому рассмотрите эти оповещения после устранения приоритетных утечек.

6. Проверьте общее количество открытых уведомлений и затронутых репозиториев.

7. Используйте фильтры, чтобы определить самые срочные оповещения и расставить приоритеты в своих усилиях по устранению проблем.
   * Чтобы показать утечки в **публичных** репозиториях, используйте `publicly-leaked`.
   * Чтобы показать секретные утечки, обнаруженные в **более чем одном хранилище** в одной организации или предприятии, используйте `is:multi-repository`.
   * Чтобы показать секреты, которые всё **ещё актуальны**, используйте `validity:active`.
   * Для фильтрации по конкретным **service** учетным данным (AWS, Azure, GitHub) используйте `provider:`.
   * Для фильтрации по **определённым типам токенов** используйте `secret-type:`.

8. По желанию, в боковой панели под разделом «Инсайты» нажмите **Secret scanning** на просмотр:
   * Секретные типы, которые чаще всего блокировались или обходили
   * Репозитории с наибольшим числом заблокированных пушей или обходов

## Шаг 2: Создайте кампанию по безопасности

Вы можете настроить кампанию по безопасности, чтобы организовать и отслеживать вашу работу по устранению в разных репозиториях.

1. Перейдите к вашей организации и нажмите **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality**.
2. На левой панели выберите **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-goal" aria-label="goal" role="img"><path d="M13.637 2.363h-.001l1.676.335c.09.018.164.084.19.173a.25.25 0 0 1-.062.249l-1.373 1.374a.876.876 0 0 1-.619.256H12.31L9.45 7.611A1.5 1.5 0 1 1 6.5 8a1.501 1.501 0 0 1 1.889-1.449l2.861-2.862V2.552c0-.232.092-.455.256-.619L12.88.559a.25.25 0 0 1 .249-.062c.089.026.155.1.173.19Z"></path><path d="M2 8a6 6 0 1 0 11.769-1.656.751.751 0 1 1 1.442-.413 7.502 7.502 0 0 1-12.513 7.371A7.501 7.501 0 0 1 10.069.789a.75.75 0 0 1-.413 1.442A6.001 6.001 0 0 0 2 8Z"></path><path d="M5 8a3.002 3.002 0 0 0 4.699 2.476 3 3 0 0 0 1.28-2.827.748.748 0 0 1 1.045-.782.75.75 0 0 1 .445.61A4.5 4.5 0 1 1 8.516 3.53a.75.75 0 1 1-.17 1.49A3 3 0 0 0 5 8Z"></path></svg> Кампании**.
3. **Нажмите «Создать кампанию<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-triangle-down" aria-label="triangle down icon" role="img"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg>**», затем либо:
   * Выберите заранее определённый шаблон кампании Secrets.
   * Используйте пользовательские фильтры для таргетирования конкретных оповещений (например `is:open provider:azure` , или `is:open validity:active`).
4. Просмотрите оповещения (максимум 1000) и при необходимости отрегулируйте фильтры.
5. **Нажмите «Сохранить как**» и **выберите «Опубликовать кампанию**».
6. Заполните информацию о кампании, затем нажмите **«Опубликовать кампанию**».

## Шаг 3: Назначьте оповещения членам команды

После создания кампании вы захотите назначить отдельные оповещения разработчикам, ответственным за их исправление.

1. На странице вашей кампании нажмите <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-chevron-right" aria-label="Toggle to expand or collapse the repository view" role="img"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg> на расширение репозитория и просмотр его оповещений.
2. Нажмите на уведомление, чтобы открыть страницу с деталями.
3. В правой боковой панели нажмите **Assignees**.
4. Выберите разработчика, которого хотите исправить оповещение. Обычно это тот, кто внёс секрет, или администратор репозитория, в котором обнаружена утечка. У них должен быть доступ к записи.

## Шаг 4: Отслеживайте ход рекультивации

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

1. На вашей странице кампании ознакомьтесь с резюме кампании. Вот что вы увидите:
   * **Прогресс кампании**: сколько оповещений закрыто (исправлено или отклонено) или осталось для проверки
   * **Статус**: Сколько дней до окончания кампании
2. Вы можете ознакомиться с деталями кампании:
   * Расширяйте любой репозиторий, чтобы видеть прогресс в устранении оповещений.
   * Установите **Group** by на **None** для показывания списка всех уведомлений.
   * Используйте фильтры, чтобы сосредоточиться на конкретных репозиториях или оповещениях.
3. Определите области, требующие внимания, исходя из репозиториев с наибольшим количеством открытых оповещений или отсутствием недавнего прогресса, затем обратитесь за поддержкой этих поддерживающих или назначенных репозиториев.

## Шаг 5: Общайтесь с заинтересованными сторонами

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

1. Перейдите к панели кампании.
2. Определите информацию, которую хотите включить в свои отчёты. Рассмотрим следующие ключевые показатели:
   * Оповещения устранены на этой неделе
   * Оставшиеся открытые тревоги
   * Товары на треке против предметов с риском
   * Значимые достижения или блокирующие
3. Включите метрики в обновление, а затем распространяйте их по электронной почте, Slack, Teams или по вопросам безопасности.

## Шаг 6: Процедуры очистки документов

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

1. Разрабатывайте индивидуальные руководства по секретным типам. Рассмотрим пример.
   * **Учетные данные AWS**: Как вращать ключи доступа и обновлять сервисы
   * **GitHub токены**: как отменить и восстановить Personal Access Tokens
   * **Ключи API**: Процедуры ротации, специфичные для сервиса
   * **Учетные данные базы** данных: безопасная ротация без перебоев в обслуживании
2. Создайте чек-лист для устранения процедур.
   1. Проверьте, что секрет действительно просочился.
   2. Определите, активен ли секрет.
   3. Отменить или изменить скомпрометированный секрет.
   4. Обновить все системы с помощью старого секрета.
   5. Проверьте, работают ли системы с новыми учетными данными.
   6. Задокументируйте инцидент и шаги по устранению.
   7. Отметьте предупреждение как разрешённое.
3. Устанавливайте пути эскалации.
   * Определите, когда нужно перейти к руководству в сфере безопасности.
   * Определите экспертов по различным типам секретов.
   * Создайте процедуры реагирования на критические утечки.