Совет
Эта статья является частью серии по внедрению GitHub Advanced Security в масштабе. Предыдущие статьи этой серии см. в разделе Этап 1. Согласование стратегии и целей развертывания.
Подготовка к включению code scanning
Code scanning — это функция, используемая для анализа кода в репозитории GitHub для поиска уязвимостей системы безопасности и ошибок кодирования. Все проблемы, выявленные анализом, отображаются в репозитории. Дополнительные сведения см. в разделе Сведения о проверке кода.
Развертывание code scanning в сотнях репозиториев может оказаться трудной задачей, особенно если делать это неэффективно. Следуя этим шагам, вы обеспечите эффективность и успешность развертывания.
Подготовка команд к code scanning
Сначала подготовьте команды к использованию code scanning. Чем больше команд используют code scanning, тем больше данных у вас будет для реализации планов исправления и отслеживания хода развертывания.
Общие сведения о code scanningсм. в статье: * Сведения о проверке кода * О предупреждениях о сканировании кода * Оценка оповещений сканирования кода для репозитория
Основной фокус должен быть направлен на подготовку к использованию code scanning как можно большего числа команд. Вы также можете предложить командам внести соответствующие исправления, но мы рекомендуем на этом этапе отдавать приоритет включению и использованию code scanning, а не устранению проблем.
Включение code scanning для устройства
Прежде чем внедрять пилотные программы и развертывать code scanning на предприятии, необходимо сначала включить code scanning для устройства. Дополнительные сведения см. в разделе Настройка сканирования кода для устройства.
Подготовка к включению secret scanning
Примечание.
При обнаружении секрета в репозитории, который включил secret scanning, GitHub оповещает всех пользователей с доступом к оповещениям системы безопасности для репозитория.
Если проект взаимодействует с внешней службой, для проверки подлинности можно использовать токен или закрытый ключ. Если зафиксировать секрет в репозитории, то любой пользователь с правами на чтение в репозитории сможет использовать этот секрет для доступа к внешней службе с вашими привилегиями. Secret scanning сканирует весь журнал Git во всех ветвях, присутствующих в репозиториях GitHub для секретов и оповещает вас или блокирует отправку, содержащую секрет. Дополнительные сведения см. в разделе Сведения о проверке секретов.
Рекомендации о времени включения secret scanning
Включение secret scanning на уровне организации может быть простым, но нажмите кнопку "Включить все " на уровне организации и выберите параметр "Автоматически включить secret scanning для каждого нового репозитория имеет некоторые подчиненные эффекты, о которых вы должны знать:
Использование лицензий
Включение secret scanning для всех репозиториев приведет к максимальному использованию лицензий GitHub Secret Protection. Это хорошо, если у вас достаточно лицензий для текущих фиксаций всех этих репозиториев. Если число активных разработчиков, скорее всего, увеличится в ближайшие месяцы, вы можете превысить ограничение лицензии, а затем не сможете использовать secret scanning в вновь созданных репозиториях.
Начальный большой объем обнаруженных секретов
Если вы включите secret scanning в большой организации, будьте готовы увидеть большое количество найденных секретов. Иногда это вызывает у организации шок, и они поднимают тревогу. Если вы хотите включить secret scanning во всех репозиториях одновременно, спланируйте, как будете реагировать в организации на большое количество оповещений.
Secret scanning можно включить для отдельных репозиториев. Дополнительные сведения см. в разделе Включение проверки секретов для репозитория. Secret scanning также можно включить для всех репозиториев в организации, как описано выше. Дополнительные сведения о включении для всех репозиториев см. в разделе Управление параметрами безопасности и анализа для организации.
Пользовательские шаблоны для secret scanning
Secret scanning обнаруживает большое количество шаблонов по умолчанию, но также можно настроить для обнаружения пользовательских шаблонов, таких как форматы секретов, уникальные для вашей инфраструктуры или используемые интеграторами, которые GitHubsecret scanning в настоящее время не обнаруживают. Дополнительные сведения о поддерживаемых секретах для шаблонов партнеров см. в разделе Поддерживаемые шаблоны сканирования секретов.
При аудите репозиториев и обсуждении с командами по безопасности и разработке создайте список типов секретов, которые позже будут использоваться для настройки пользовательских шаблонов для secret scanning. Дополнительные сведения см. в разделе Определение пользовательских шаблонов для проверки секретов.
Защита от отправки для secret scanning
Защита от отправки для организаций и репозиториев указывает secret scanning проверять отправки поддерживаемых секретов перед_ фиксацией секретов _в базе кода. Сведения о поддерживаемых секретах см. в разделе Поддерживаемые шаблоны сканирования секретов.
Если секрет обнаружен в push-отправке, этот push-код блокируется. Secret scanning перечисляет все обнаруженные секреты, чтобы автор мог просмотреть секреты и удалить их или, при необходимости, разрешить отправку этих секретов. Secret scanning также может проверять отправки пользовательских шаблонов.
Разработчики могут обойти защиту push-уведомлений, сообщая, что секрет является ложным срабатыванием, который он используется в тестах или что он будет исправлен позже.
Когда участник обходит блок защиты от push, GitHub:
- Создаёт оповещение во вкладке «Безопасность » репозитория, организации и предприятия
- Добавляет событие обхода в журнал аудита
- Отправляет уведомление по электронной почте владельцам личных аккаунтов, организаций и предприятий, менеджерам по безопасности и администраторам репозиториев, которые следят за репозиторием, с ссылкой на секрет и причиной его разрешения
Прежде чем включить защиту push-уведомлений, рассмотрите необходимость создания рекомендаций для разработчиков в допустимых условиях обхода защиты push-уведомлений. Вы можете настроить ссылку на этот ресурс в сообщении, отображаемом при попытке разработчика отправить заблокированный секрет.
Затем ознакомьтесь с различными параметрами управления оповещениями и мониторинга, которые являются результатом обхода защиты push-уведомлений участника.
Дополнительные сведения см. в разделе Сведения о защите push-уведомлений.
Совет
В следующей статье этой серии см . раздел AUTOTITLE.