Эта статья является частью серии "Внедрение GitHub Advanced Security в большом масштабе". Общие сведения об этой серии см. в разделе "Общие сведения о внедрении GitHub Advanced Security в большом масштабе".
Установите четкие цели развертывания в компании
Чтобы создать основу для направления развертывания, определите цели для GHAS в вашей компании и сообщите эти цели вашей команде. Цели могут быть простыми или сложными, если ваша команда слажена. Если вам требуется помощь в постановке целей, специалисты GitHub Professional Services дадут вам рекомендации, основанные на нашем опыте работы с вашей компанией и другими клиентами.
Вот несколько общих целей развертывания GHAS, которые вы можете использовать как примеры.
- Сокращение количества уязвимостей. Эта цель может быть универсальной или может быть связана с недавним инцидентом, который, как вам кажется, ваша компания могла бы предотвратить с помощью GHAS.
- Определение репозиториев с высоким риском. Иногда требуется просто определить репозитории, которые наиболее подвержены рискам, чтобы устранить уязвимости и тем самым снизить риски.
- Увеличение частоты исправления. Чтобы предотвратить накопление проблем безопасности, можно стимулировать разработчиков принимать результаты и обеспечивать своевременное исправление этих уязвимостей.
- Соблюдение нормативных требований. Например, многие медицинские компании используют GHAS, чтобы предотвратить раскрытие персональных медицинских данных пациентов.
- Предотвращение утечки секретов. Многие компании хотят предотвратить утечку конфиденциальных данных, таких как ключи программного обеспечения и финансовые данные.
Выполняйте развертывание совместно с группами по безопасности и разработке
Компании, вовлекающие в процесс развертывания GHAS как группы безопасности, так и группы разработки, как правило, более успешны, чем компании, которые вовлекают только группы безопасности, ожидая включения команд разработчиков после завершения пилотного проекта.
Подход к обеспечению безопасности программного обеспечения, который используется в GHAS, ориентирован на разработчиков и без труда интегрируется в их рабочие процессы. Включение группы разработки на ранних этапах процесса развертывания снижает риски и способствует созданию должного уровня заинтересованности в GHAS в масштабе компании.
Участие групп разработки на раннем этапе, в идеале с момента покупки, помогает компаниям использовать GHAS для решения проблем безопасности еще в процессе разработки. Когда обе группы работают вместе, они достигают согласованности на ранних этапах процесса, устраняют недопонимание, строят и укрепляют свои рабочие отношения, а также несут большую ответственность за развертывание.
Сведения о GHAS
Чтобы сформировать реалистичные ожидания от развертывания, убедитесь, что все заинтересованные стороны понимают следующие ключевые факты о работе GHAS.
1. GHAS — это набор средств безопасности, которые требуют активных действий для защиты кода
Ценность GHAS повышается, лишь когда эти средства настраиваются, обслуживаются и используются в ежедневных рабочих процессах наряду с другими инструментами.
2. GHAS требует корректировки после развертывания
После настройки GHAS в репозиториях необходимо настроить GHAS для удовлетворения потребностей вашей компании. Например, при настройке по умолчанию для code scanning автоматически обнаруживается сканирование языков, может потребоваться настроить другие аспекты конфигурации code scanning .
3. Средства GHAS наиболее эффективны при совместном использовании и интеграции в программу безопасности приложений
GHAS наиболее эффективен, когда все средства используются вместе. Эффективность программы безопасности приложений еще больше улучшается путем интеграции GHAS с другими инструментами и действиями, такими как тестирование на проникновение и динамическое сканирование. Мы рекомендуем всегда использовать несколько уровней защиты.
4. Некоторые компании используют пользовательские запросы CodeQL для настройки и нацеливания результатов сканирования
Code scanning работает на CodeQL, самой мощной подсистеме анализа кода в мире. Для многих наших клиентов вполне достаточно базового набора запросов и дополнительных запросов, доступных в сообществе. Однако некоторым компаниям могут потребоваться пользовательские запросы CodeQL для нацеливания на различные результаты или снижения ложноположительных результатов.
Если ваша компания заинтересована в пользовательских запросах CodeQL, мы рекомендуем сначала выполнить развертывание и реализацию GHAS. После этого, когда ваша компания будет готова, GitHub Professional Services поможет изучить ваши требования и убедиться, что вам нужны пользовательские запросы.
5. CodeQL сканирует всю базу кода, а не только изменения, сделанные в запросе на вытягивание
Когда code scanning выполняется из запроса на вытягивание, сканирование будет включать полную базу кода, а не только изменения, внесенные в запрос на вытягивание. Сканирование всей базы кода является важным шагом, чтобы убедиться, что изменения были проверены для всех взаимодействий в базе кода.
В следующей статье этой серии см. раздел "Этап 2. Подготовка к включению в большом масштабе".