Обеспечение безопасности DevOps
Появившись на сцене около десяти лет назад, DevOps был замечен как лучший новый способ упростить процесс создания и доставки приложений и других услуг клиентам. При значительном сокращении времени выхода на рынок организации могут превзойти своих конкурентов, выпуская приложения, которые отвечают потребностям их клиентов и создают ценные источники дохода. Однако с повышением эффективности развертывания приложений возрастают потенциальные риски безопасности, которые должна устранить команда разработчиков DevOps. В частности, из-за того, что так много профессионалов нуждаются в быстром доступе к ряду различных активов, необходимо серьезно рассмотреть управление доступом к привилегиям.
Подъем DevOps
До DevOps создание нового приложения было трудной задачей для любой организации. Традиционно инженеры и разработчики работали над кодом для приложений в хранилищах, а затем передавали продукт операциям, чтобы выяснить, как его развернуть. Это был трудоемкий процесс, так как каждая команда работала отдельно и часто приходилось ждать завершения разделов или получения обратной связи, прежде чем они могли продолжить свою работу.
Разработчики писали бы код в среде разработки, но, поскольку этим кодом, возможно, придется манипулировать, чтобы гарантировать, что он вписывается в производственную среду, могут появляться ошибки. Результатом будет задержка до исправления ошибок. Необходимость ждать, пока каждая команда закончит свою работу, неизбежно приведет к появлению узких мест, которые замедляют весь процесс разработки, иногда вызывая задержки даже на годы.
Объединяя разработку и операции, DevOps упрощает и ускоряет развертывание решений, устраняя большую часть задержки, не полагаясь на то, что какая-либо команда передает свою работу другой.
Небольшие группы теперь работают над различными компонентами приложения, создавая меньшие микросервисы и приложения, которые не имеют базовых требований, которые они имели бы в более крупных проектах, делая их гораздо более универсальными и мобильными. В ходе этого процесса эти группы могут тестировать и проверять код друг друга, чтобы сделать кодирование более стойким к появлению ошибок. Это также позволяет людям использовать свои сильные стороны - например, базу данных или интерфейс.
Ключевой частью работы DevOps является автоматизация. Все, что можно автоматизировать, должно быть автоматизировано, например, инфраструктура, рабочие процессы и так далее.
В конечном итоге это означает, что это гораздо больше, чем непрерывная интеграция, когда обновления выполняются небольшими шагами. В то время как раньше выпускались крупные продукты, выпускаемые раз в год, небольшие обновления могут быть достигнуты и выпущены за несколько дней или даже часов.
Риски, связанные с DevOps
Однако, чем больше людей, создающих и получающих доступ к такому большому количеству различных элементов, тем больше нужно учетных данных, что увеличивает поверхность атаки, на которую могут воздействовать субъекты угрозы. Существует также проблема, заключающаяся в том, что, поскольку DevOps считается более упорядоченным и эффективным, пользователи могут попытаться зайти слишком далеко, пытаясь сократить или игнорировать меры безопасности, чтобы сэкономить время. Многие сфокусировались на простоте использования и времени выхода на рынок, жертвуя безопасностью.
Например, разработчики могут встраивать жестко закодированные учетные данные в программу, чтобы избавить их от необходимости запоминать различный набор данных для входа в систему для каждого актива, который они должны использовать. Хуже того, учетные данные для каждого актива могут быть одинаковыми. Это очевидный недостаток безопасности, который позволит киберпреступникам легче нарушать защиту конвейера DevOps.
Мы наблюдаем это время от времени, особенно с блоками данных, где кодеры должны иметь доступ к данным. Может случиться так, что вместо использования интегрированного решения для управления идентификацией разработчики стремятся использовать одни и те же учетные данные в контейнере за контейнером для простоты использования. Таким образом, когда происходит компромисс, в следующий раз, когда среда снова активизируется, киберпреступники могут восстановить доступ, потому что учетные данные будут теми же, что использовались в течение определенного времени, то есть не были изменены.
Большая опасность возникает, когда этот «ярлык» сочетается с фундаментальным элементом DevOps - масштабированием. Для повышения эффективности команда DevOps может использовать код управления конфигурацией при создании инфраструктуры и масштабировании серверов, эффективно создавая клоны исходного сервера. Если виртуальная машина клонируется 100 раз, то учетные данные также будут клонированы 100 раз. Это приводит к разрастанию учетных данных, что очень трудно вернуть под контроль на более позднем этапе.
Снижение рисков
Проект Open Web Application Security Project (OWASP) выдвигает на первый план определение безопасности с самого начала как один из десяти лучших проактивных элементов управления безопасностью для разработчиков. Другие элементы управления включают использование различных структур безопасности, проверку конечных точек, осуществление цифровой активности, обеспечение контроля доступа, защиту данных, а также ведение журнала и мониторинг всей активности.
Чтобы снизить риски, связанные с конвейером DevOps, безопасность должна быть рассмотрена с самого начала и с точки зрения дизайна, чтобы гарантировать, что защитные практики являются частью проекта и неотъемлемой частью всего процесса.
Безопасность должна быть культурой для каждой организации, потому что она затрагивает всех и должна быть частью развертывания. Последнее, что вы хотите сделать, - это выяснить, как впоследствии повысить безопасность, так как это требует много времени и затрат, иногда даже невозможно без изменения продукта.
Использование PAM для обеспечения и оптимизации безопасности
Что касается использования различных структур безопасности, профессионалы DevOps должны обратить внимание на управление привилегированным доступом (PAM), которое используется в организациях для защиты своих сетей. Как и DevOps, PAM использует автоматизацию, чтобы сделать процессы более упорядоченными, но с точки зрения безопасности доступа.
Благодаря PAM учетные данные и пароли для каждого элемента и пользователя в процессе DevOps уникальны, вращаются и дополняются токенами. Пользователь-человек даже не обязательно должен знать, что это за учетные данные, поэтому риск человеческих ошибок также уменьшается. Профессионалы DevOps больше не смогут непреднамеренно оставлять улики для своих учетных данных незащищенными от киберпреступников. Это делает среду намного более безопасной, а также при каждом вращении учетные данные вращаются.
Оптимизация процессов для сокращения ресурсов и времени выхода на рынок является привлекательной перспективой для любого бизнеса. Тем не менее, это не должно быть сделано за счет безопасности, иначе DevOps может стоить больше времени, денег и ущерба репутации, чем ожидал бизнес. Поэтому, собрав все это вместе, убедитесь, что безопасность стоит на первом месте.