Привилегированные учетные записи — настоящая находка для злоумышленников, ведь они дают возможность украсть учетные данные и использовать права доступа в корыстных целях. Когда права администратора активны...
Централизованное хранилище может служить эталонным источником для всех секретов, однако при их копировании в облачные хранилища секретов, конвейеры CI/CD и выполняемые рабочие нагрузки данные могут незаметно рассинхронизироваться. Это называется расхождением в конфигурации секретов и может приводить к тому, что устаревшие или постоянно действующие учетные данные, ключи API и другие секреты остаются активными дольше, чем предполагалось. Это повышает риски безопасности и затрудняет определение того, какие секреты используются и последовательно ли применяются политики доступа и ротации. Устранить расхождения в конфигурации секретов можно, сделав одно хранилище единым источником достоверных данных и автоматизировав синхронизацию и ротацию секретов в облачных средах и рабочих нагрузках. Предотвращение таких расхождений помогает сохранять контроль над секретами и повышать уровень защищенности и соответствия требованиям.
Читайте дальше, чтобы узнать больше о расхождениях в конфигурации секретов, о том, где они возникают, как их выявлять и устранять.
Что такое расхождения в конфигурации секретов?
Расхождения в конфигурации секретов возникают, когда учетные данные, ключи и другие секреты, развернутые в облачной среде, перестают соответствовать требуемому состоянию, заданному в централизованном хранилище. Требуемое состояние — это состояние, которое хранилище определяет как эталонное, а фактическое — то, которое приложения и службы реально используют в облачных хранилищах секретов, конвейерах CI/CD, файлах .env файлах и рабочих нагрузках. Эти два состояния начинают расходиться, когда команды вносят изменения вручную или вне плана, минуя управляемые рабочие процессы, выполняют ротацию секретов без передачи новых значений зависимым системам или допускают неконтролируемое распространение секретов, из-за чего в разных средах появляются неуправляемые копии. По мере накопления таких расхождений хранилище может формально оставаться единым источником достоверных данных, но уже не отражать секреты, фактически используемые в рабочей среде.
Расхождения в конфигурации секретов и расхождения в конфигурации
Расхождения в конфигурации секретов — это разновидность расхождений в конфигурации, но главное отличие заключается в том, в чем именно возникают эти расхождения. Расхождения в конфигурации возникают, когда фактическое состояние инфраструктуры, например серверов и портов, постепенно отклоняется от требуемого базового состояния, заданного в коде или файлах конфигурации. В случае расхождений в конфигурации секретов тот же принцип применяется к учетным данным, паролям, ключам API, токенам и другим секретам, используемым в облачных средах, которые перестают соответствовать требуемому состоянию, поддерживаемому в хранилище.
| Configuration drift | Secrets configuration drift | |
|---|---|---|
| What drifts | Servers, ports, packages and system settings | Passwords, API keys, tokens and other secrets |
| Desired state | Infrastructure as defined in code or configuration files | Authorized secrets maintained in the vault |
| Where drift appears | Servers, cloud resources and infrastructure configurations | Cloud secret stores, CI/CD pipelines, applications and workloads |
| Common causes | Manual changes, configuration updates and inconsistent deployments | Manual secret changes, incomplete rotations and secrets sprawl |
| Main risks | Outages, inconsistent environments and failed deployments | Unauthorized access, standing credentials and compliance failures |
Расхождения в конфигурации инфраструктуры в основном угрожают стабильности работы и доступности, тогда как расхождения в конфигурации секретов могут напрямую создавать риски для безопасности. Учетные данные, не приведенные в соответствие, могут оставаться действительными вне управляемого рабочего процесса, что затрудняет применение принципа минимальных привилегий, проверку ротации и подтверждение в ходе аудита того, что привилегированные учетные данные контролируются надлежащим образом.
Где могут возникать расхождения в секретах?
Расхождения в конфигурации секретов могут возникать везде, где вы копируете, синхронизируете или изменяете учетные данные вне централизованного хранилища. Чем больше систем хранят собственную версию секрета, тем выше вероятность того, что требуемое состояние, заданное в хранилище, разойдется с фактически развернутым.
Сбои или неполная синхронизация с облачными менеджерами секретов
Вы можете синхронизировать секреты из хранилища с облачными менеджерами секретов. Если синхронизация завершается сбоем, настроена неправильно или выполняется лишь частично, секрет может измениться в одном месте, но не обновиться в другом. В результате могут существовать две разные версии одних и тех же учетных данных без надежного способа определить, какая из них является эталонной.
Секреты, скопированные в CI/CD и образы
Разработчики могут копировать секреты в переменные CI/CD, файлы конфигурации или образы контейнеров, чтобы сделать их доступными во время выполнения. Такие статические копии не обновляются при ротации исходного секрета в хранилище, поэтому со временем накапливаются устаревшие учетные данные, которые сложно обнаружить, отслеживать и отзывать.
Ручные экстренные изменения
Во время инцидента безопасности администратору может потребоваться изменить учетные данные или предоставить доступ непосредственно через облачную консоль, чтобы восстановить работу продуктивной среды. Непосредственная проблема будет устранена, но если экстренное изменение так и не будет внесено обратно в хранилище, оно перестанет точно отражать фактически существующие права доступа.
Расхождения в политиках и разрешениях
Расхождения могут также затрагивать то, кому или чему разрешено использовать секрет. Со временем политики доступа в разных учетных записях, кластерах и средах постепенно начинают различаться по мере того, как пользователи вносят небольшие изменения. Например, роль, которая должна иметь доступ только для чтения во всех средах, в одной из них может получить более широкие разрешения. Без централизованной сверки принцип минимальных привилегий постепенно нарушается.
Как выявлять расхождения в конфигурации секретов
Чтобы выявлять расхождения в конфигурации секретов, необходимо постоянно отслеживать требуемое состояние, заданное в хранилище, и фактическое состояние во всей облачной среде. Вместо того чтобы полагаться на периодические ручные проверки, отслеживайте расхождения и изменения, внесенные вне штатного процесса, по мере их возникновения.
- Постоянно сопоставляйте требуемое и фактическое состояние: регулярно сравнивайте секреты и политики доступа в хранилище с тем, что фактически развернуто в облачных хранилищах секретов, системах CI/CD и рабочих нагрузках. Плановые проверки помогают выявлять несовпадающие значения, версии или разрешения, а не ограничиваться разовым поиском расхождений.
- Отслеживайте журналы аудита в облаке: анализируйте журналы аудита облачных платформ и хранилищ секретов, чтобы выявлять изменения, внесенные вне утвержденного рабочего процесса. Изменения секретов вручную, предоставление нового доступа и изменение разрешений следует выявлять до того, как они приведут к расхождениям.
- Настройте оповещения о типичных признаках расхождений: создайте оповещения для секретов, ротация которых не была выполнена по графику, разрешений, различающихся между средами, и учетных данных без явного владельца. Эти признаки могут указывать как на отдельные, так и на более масштабные расхождения в управлении секретами, требующие оперативного устранения.
- Направляйте оповещения о расхождениях в существующие рабочие процессы: выявление проблемы приносит пользу только при быстром реагировании, поэтому важно направлять оповещения, требующие действий, в инструменты, которыми уже пользуются ваши команды DevOps, Site Reliability Engineering (SRE) и информационной безопасности. Так ответственный за секрет сможет сразу изучить проблему, определить эталонное значение и устранить расхождение.
Шаги по устранению расхождений в конфигурации секретов
Устранение расхождений в конфигурации секретов требует контроля над тем, где создаются секреты, как они поступают в целевые системы и кто может их изменять. Следующие шаги помогут поддерживать соответствие требуемого состояния, заданного в хранилище, фактическому состоянию во всей облачной среде.
1. Определите единый источник достоверных данных для каждого секрета
Используйте одно централизованное хранилище в качестве эталонного источника учетных данных, ключей и других секретов. Приложения и облачные среды должны получать секреты из этого хранилища, а не хранить собственные версии. Четко определенный единый источник достоверных данных позволяет выявлять расхождения в секретах и понимать, какое значение следует считать достоверным.
2. Сделайте синхронизацию однонаправленной и автоматической
Автоматизируйте передачу секретов из хранилища в целевые облачные хранилища секретов и по возможности запретите пользователям вручную изменять их в облачных консолях. Автоматизированный однонаправленный процесс предотвращает появление конкурирующих источников достоверных данных и сокращает количество изменений вне штатного процесса, которые могут изначально становиться причиной расхождений.
3. Выполняйте ротацию и распространяйте новые значения
Автоматическая ротация эффективна только в том случае, если каждая система, использующая секрет, получает его новое значение. Интегрируйте ротацию с целевыми приложениями и средами, чтобы при изменении учетных данных авторизованные потребители получали обновленный секрет, а устаревшие версии отзывались. Ротация секрета в хранилище без обновления его копий лишь создает новую разновидность расхождений.
4. Обеспечьте соблюдение принципа минимальных привилегий
Последовательно применяйте принцип минимальных привилегий во всех облачных учетных записях, кластерах и средах, чтобы каждый пользователь и каждая рабочая нагрузка могли получать доступ только к тем секретам, которые необходимы для выполнения их роли. Централизованное управление доступом усложняет несанкционированное предоставление прав или изменение секретов вне утвержденных рабочих процессов, предотвращая незаметное возникновение расхождений в разрешениях между средами.
5. Настройте непрерывную сверку и оповещения
Обнаружение позволяет узнать, что расхождение возникло, однако для его устранения важно привести фактическое состояние в соответствие с требуемым. Если требуемое состояние, заданное в хранилище, отличается от фактического состояния в облаке, восстановите соответствие с эталонным значением из хранилища — автоматически, если это безопасно, либо с помощью оповещения, если требуется участие пользователя. Это превращает выявление расхождений в постоянный механизм контроля, а не в проблему, которую обнаруживают лишь позже — в ходе аудита или после инцидента безопасности.
6. Не допускайте неконтролируемого распространения секретов
Чем в меньшем числе мест хранится секрет, тем меньше мест, где могут возникнуть расхождения. Сократите число лишних хранилищ секретов, выявляйте и удаляйте учетные данные без владельца, а также удаляйте секреты из исходного кода, конфигураций CI/CD, образов контейнеров и .env файлов. Чем меньше неконтролируемо распространяются секреты, тем меньше остается неуправляемых копий, а значит, каждый оставшийся секрет проще учитывать, проводить его ротацию и контролировать.
Как Keeper® помогает устранять расхождения в конфигурации секретов
Keeper устраняет расхождения в конфигурации секретов в самом их источнике с помощью Universal Secrets Sync (USS) — функции KeeperPAM, которая синхронизирует секреты из хранилища Keeper с облачными менеджерами секретов, такими как AWS Secrets Manager, Azure Key Vault и Google Cloud Secret Manager. Вместо того чтобы обнаруживать несоответствие постфактум, USS помогает предотвращать расхождения, используя хранилище Keeper в качестве эталонного источника и автоматически передавая каждое изменение в настроенные облачные среды. В сочетании с Keeper Secrets Manager функция USS работает в составе KeeperPAM, который централизованно выполняет ротацию секретов инфраструктуры и распространяет обновленные значения по облачным средам — и все это в рамках архитектуры Keeper с нулевым доверием и нулевым разглашением.
- Единый источник достоверных данных: USS делает хранилище Keeper эталонным источником облачных секретов, поэтому все настроенные облачные среды получают их из одного и того же источника.
- Автоматическая однонаправленная синхронизация: любые изменения секрета в связанной общей папке могут автоматически передаваться в подключенные целевые облачные системы через Keeper Gateway. Это сводит к минимуму ручные обновления, из-за которых между хранилищем и облачными средами могут возникать расхождения.
- Централизованная ротация: Keeper централизованно выполняет ротацию учетных данных, а USS передает обновленные значения в целевые облачные менеджеры секретов, не позволяя старым копиям секретов оставаться в продуктивной среде после изменения секрета в хранилище.
- Доступ с минимальными привилегиями: для отдельной Sync Identity можно задать только те разрешения, которые необходимы для синхронизации секретов. Ролевые политики Keeper определяют, кто может изменять саму синхронизацию и связанные с ней рабочие процессы.
- Возможность аудита и управление: режим Dry Run в USS позволяет предварительно просмотреть изменения синхронизации до их применения, а модуль расширенной отчетности и оповещений Keeper (ARAM) поддерживает мониторинг и аудит операций синхронизации.
- Сокращение неконтролируемого распространения секретов: USS централизует распространение секретов, избавляя от необходимости вручную копировать их между облачными средами. Чем меньше неуправляемых копий, тем меньше вероятность того, что секреты устареют или перестанут соответствовать значениям в хранилище.
Устраните расхождения в конфигурации секретов с помощью Keeper
Хранилище остается источником достоверных данных только до тех пор, пока фактическое состояние соответствует заданному в нем. Постоянно обеспечивая требуемое состояние за счет централизованного управления, автоматической синхронизации и доступа с минимальными привилегиями, вы можете предотвращать незаметное возникновение расхождений в секретах и связанных с ними ненужных рисков безопасности. Universal Secrets Sync от Keeper обеспечивает это, автоматически синхронизируя секреты из хранилища Keeper с целевыми облачными менеджерами секретов.
Начните бесплатный пробный период KeeperPAM, чтобы узнать, как USS помогает поддерживать синхронизацию между хранилищем и облачными средами.