Введение
В этом уроке вы организуете работу по устранению утечок секретов. Вы узнаете, как:
- Создавайте кампании безопасности для отслеживания работ по устранению
- Назначайте оповещения в зависимости от владельца
- Мониторинг хода рекультивации
- Общайтесь с заинтересованными сторонами
Предпосылки
- У вас должны быть оба GitHub Secret Protection варианта и secret scanning включены для вашей организации. См . раздел AUTOTITLE.
- У вас должны быть уже secret scanning доступные оповещения.
Шаг 1: Пересмотрите свой Оповещения о сканировании секретов
Прежде чем действовать, необходимо понять текущее состояние оповещений безопасности вашей организации.
-
На GitHubперейдите на главную страницу организации.
-
Под названием вашей организации нажмите вкладку Security and quality .
-
В левой боковой панели, в разделе «Оповещения», нажмите на символ справа от Secret scanning.
-
В выпадающем списке выберите
Default.Defaultотносится к поддерживаемым шаблонам и заданным пользовательским шаблонам. -
В качестве альтернативы вы можете выбрать
Genericпросмотр неструктурированных секретов, таких как пароли. Однако общие шаблоны обычно дают больше ложных срабатываний, чем стандартные, поэтому рассмотрите эти оповещения после устранения приоритетных утечек. -
Проверьте общее количество открытых уведомлений и затронутых репозиториев.
-
Используйте фильтры, чтобы определить самые срочные оповещения и расставить приоритеты в своих усилиях по устранению проблем.
- Чтобы показать утечки в публичных репозиториях, используйте
publicly-leaked. - Чтобы показать секретные утечки, обнаруженные в более чем одном хранилище в одной организации или предприятии, используйте
is:multi-repository. - Чтобы показать секреты, которые всё ещё актуальны, используйте
validity:active. - Для фильтрации по конкретным сервисным учетным данным (AWS, Azure и GitHubт.д.) используйте
provider:. - Для фильтрации по определённым типам токенов используйте
secret-type:.
- Чтобы показать утечки в публичных репозиториях, используйте
-
По желанию, в боковой панели под разделом «Метрики» нажмите Secret scanning на просмотр:
- Секретные типы, которые чаще всего блокировались или обходили
- Репозитории с наибольшим числом заблокированных пушей или обходов
Шаг 2: Создайте кампанию по безопасности
Вы можете настроить кампанию по безопасности, чтобы организовать и отслеживать вашу работу по устранению в разных репозиториях.
- Перейдите к вашей организации и нажмите Security and quality.
- На левой панели выберите Кампании.
-
**Нажмите «Создать кампанию<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).
- Просмотрите оповещения (максимум 1000) и при необходимости отрегулируйте фильтры.
-
**Нажмите «Сохранить как**» и **выберите «Опубликовать кампанию**». - Заполните информацию о кампании, затем нажмите «Опубликовать кампанию».
Шаг 3: Назначьте оповещения членам команды
После создания кампании вы захотите назначить отдельные оповещения разработчикам, ответственным за их исправление.
- На странице вашей кампании нажмите на расширение репозитория и просмотр его оповещений.
- Нажмите на уведомление, чтобы открыть страницу с деталями.
- В правой боковой панели нажмите Assignees.
- Выберите разработчика, которого хотите исправить оповещение. Обычно это тот, кто внёс секрет, или администратор репозитория, в котором обнаружена утечка. У них должен быть доступ к записи.
Шаг 4: Отслеживайте ход рекультивации
После назначения оповещений необходимо регулярно отслеживать ход кампании, чтобы обеспечить своевременное завершение.
- На вашей странице кампании ознакомьтесь с резюме кампании. Вот что вы увидите: * Прогресс кампании: сколько оповещений закрыто (исправлено или отклонено) или осталось для проверки * Статус: Сколько дней до окончания кампании
- Вы можете ознакомиться с деталями кампании:
- Расширяйте любой репозиторий, чтобы видеть прогресс в устранении оповещений.
- Установите Group by на None для показывания списка всех уведомлений.
- Используйте фильтры, чтобы сосредоточиться на конкретных репозиториях или оповещениях.
- Определите области, требующие внимания, исходя из репозиториев с наибольшим количеством открытых оповещений или отсутствием недавнего прогресса, затем обратитесь за поддержкой этих поддерживающих или назначенных репозиториев.
Шаг 5: Общайтесь с заинтересованными сторонами
На протяжении всего процесса устранения вы должны регулярно держать заинтересованных сторон в курсе прогресса. Вы можете использовать информацию с панели вашей кампании, чтобы помочь вам генерировать эти обновления.
- Перейдите к панели кампании.
- Определите информацию, которую хотите включить в свои отчёты. Рассмотрим следующие ключевые показатели:
- Оповещения устранены на этой неделе
- Оставшиеся открытые тревоги
- Товары на треке против предметов с риском
- Значимые достижения или блокирующие
- Включите метрики в обновление, а затем распространяйте их по электронной почте, Slack, Teams или по вопросам безопасности.
Шаг 6: Процедуры очистки документов
Наконец, следует создать стандартизированные процедуры, чтобы будущие усилия по устранению были более эффективными.
- Разрабатывайте индивидуальные руководства по секретным типам. Рассмотрим пример. * Учетные данные AWS: Как вращать ключи доступа и обновлять сервисы * ** GitHub токены**: как отменить и восстановить Personal Access Tokens * Ключи API: Процедуры ротации, специфичные для сервиса * Учетные данные базы данных: безопасная ротация без перебоев в обслуживании
- Создайте чек-лист для устранения процедур.
- Проверьте, что секрет действительно просочился.
- Определите, активен ли секрет.
- Отменить или изменить скомпрометированный секрет.
- Обновить все системы с помощью старого секрета.
- Проверьте, работают ли системы с новыми учетными данными.
- Задокументируйте инцидент и шаги по устранению.
- Отметьте предупреждение как разрешённое.
- Устанавливайте пути эскалации.
- Определите, когда нужно перейти к руководству в сфере безопасности.
- Определите экспертов по различным типам секретов.
- Создайте процедуры реагирования на критические утечки.