Что такое безопасность DevOps?
- Глоссарий IAM
- Что такое безопасность DevOps?
Безопасность DevOps, также называемая DevSecOps, представляет собой конгломерат слов development (разработка), operations (операции) и security (безопасность). Как безопасность DevOps, так и DevSecOps, призывают интегрировать безопасность в жизненный цикл разработки программного обеспечения (SDLC) как можно раньше, предпочтительно до того, как будет написана хоть одна строка кода.
В чем разница между DevOps и DevSecOps?
DevSecOps — расширение или усовершенствование философии DevOps. Поэтому важно понять, что общего у DevOps и DevSecOps, прежде чем обсуждать их различия.
Как DevOps, так и DevSecOps относятся к философии или подходу к разработке программного обеспечения, а не к конкретному инструменту или набору инструментов. Точно так же, как установка системы отслеживания проблем не означает, что вы «внедрили DevOps», установка статических или динамических инструментов безопасности приложений не означает, что вы «внедрили DevSecOps».
И DevOps, и DevSecOps делают упор на совместную работу, автоматизацию и активный мониторинг программных приложений. Возможность сбора данных приложений в режиме реального времени является ключевой для обеих философий, поскольку «выполнение» DevOps и DevSecOps требует постоянного сбора и анализа этих данных для поиска способов повышения производительности и внедрения улучшений.
Обе философии также зависят от сотрудничества, в частности, от устранения организационных разрозненности. DevOps стремится устранить разрозненность между разработкой программного обеспечения и ИТ-операциями. Идея заключается в том, что, когда разработчики и ИТ-персонал работают вместе, программное обеспечение выпускается быстрее и с меньшим количеством ошибок. DevSecOps идет еще дальше и стремится предоставить специалистам по безопасности «место за столом переговоров». Идея, лежащая в основе DevSecOps, заключается в том, что когда разработчики, ИТ-персонал и персонал службы безопасности работают вместе, программное обеспечение выпускается быстрее, имеет более высокое качество и является более безопасным.
Надлежащее внедрение DevSecOps означает, что приложения должным образом защищены от рисков до того, как они будут переданы в производственную среду. Эту практику часто называют «сдвигом влево», потому что она относится к интеграции безопасности в начале временной шкалы проекта — до написания хотя бы одной строки кода — вместо того, чтобы решать ее на более поздних этапах. В среде DevSecOps разработчики пишут код с учетом требований безопасности, а сама по себе DevOps не решает эту проблему.
Внедряя в SDLC такие методы, как анализ кода, исследование угроз и оценку уязвимостей, с непрерывным тестированием и оценкой, DevSecOps обеспечивает безопасность кодовой базы с самого начала. Помимо повышения безопасности приложений, DevSecOps повышает производительность. Выявление и устранение проблем безопасности на ранних стадиях требует гораздо меньше времени и средств, чем рефакторинг кода на более поздних этапах жизненного цикла программного обеспечения.
Трудности при внедрении безопасности DevOps
Несмотря на все преимущества DevSecOps, организации могут столкнуться с трудностями при правильном ее внедрении. Давайте рассмотрим некоторые из наиболее распространенных трудностей при внедрении безопасности DevOps.
Слишком большое внимание уделяется инструментам, слишком мало внимания уделяется процессам. Как упоминалось ранее, как DevOps, так и DevSecOps являются по сути философиями, а не предписанием использовать конкретное программное обеспечение.
Культурное сопротивление со стороны разработчиков, или «Но мы всегда так делали». Разработчики, возможно, не привыкли к методам безопасного кодирования. Традиционно разработчики кодировали для удобства работы, а недостатки безопасности обнаруживались и исправлялись позже. Разработчики могут опасаться, что необходимость «беспокоиться» о безопасности замедлит производство.
Культурное сопротивление со стороны групп безопасности. Не только разработчики могут цепляться за «так всегда и делалось». Команды DevOps сосредоточены на скорости, модификации и продвижении кода в течение нескольких часов или дней — это быстрый темп, который может быть не по нраву специалистам по безопасности. Разница в том, что команды DevOps автоматизируют как можно больше процессов, а группы безопасности часто выполняют большую часть своей работы вручную.
Неадекватное управление секретами. Среды DevOps очень сложны и глубоко взаимосвязаны. Магазины DevOps нередко имеют сотни групп безопасности и тысячи экземпляров серверов, каждый из которых использует секреты, такие как учетные данные привилегированной учетной записи, ключи SSH, токены API, пароли базы данных и многое другое, и все они разбросаны по среде данных организации в состоянии, называемом «расползанием секретов». Просто неправильная конфигурация может привести к тому, что один из этих секретов будет раскрыт, а организация подвергнется катастрофической кибератаке.
Неадекватное управление привилегированным доступом. Чтобы ускорить производство, многие команды DevOps предоставляют своим членам практически неограниченный доступ к привилегированным учетным записям, таким как root и admin. Хуже того, несколько человек могут использовать один и тот же набор учетных данных — большой недостаток безопасности, а также серьезная проблема во время аудитов соответствия требованиям, когда организации должны предоставлять чистый журнал аудита. Кроме того, оркестровка, управление конфигурацией и другие инструменты DevOps также могут иметь очень высокий уровень доступа — гораздо больший, чем требуется инструменту для работы.
Лучшие практики безопасности DevOps
Ниже приведены некоторые рекомендации по внедрению безопасности DevOps в вашей организации.
- Помните, что DevSecOps, как и DevOps, — это подход, а не набор инструментов. Вместо того, чтобы покупать «инструменты DevSecOps» и выяснять, где вы хотите их использовать, сосредоточьтесь на своих конечных целях, разработайте процессы для их достижения, а затем приобретите инструменты, поддерживающие эти процессы и цели.
- Используйте надлежащие методы управления изменениями, чтобы преодолеть культурное сопротивление со стороны разработчиков и сотрудников группы безопасности. Продемонстрируйте обеим командам, что DevSecOps сэкономит им время и сделает их более продуктивными, а не менее. Установите четкие стандарты кодирования для своих разработчиков и максимально автоматизируйте процессы и инструменты обеспечения безопасности.
- Боритесь с расползанием секретов с помощью такого инструмента, как Keeper Secrets Manager.
- Ограничьте чрезмерно высокие привилегии и уровни доступа с помощью таких элементов управления, как управление доступом на основе ролей (RBAC), доступ с наименьшими привилегиями и своевременная подготовка пользователей.
- Предотвратите злоупотребление привилегированным доступом с помощью записи и аудита сеансов.