Безопасность расширения

Материал из Документация Ключ-АСТРОМ

Ключ-АСТРОМ применяет безопасные средства управления разработкой в ​​своем жизненном цикле разработки безопасности (SDL).

Фреймворк Расширения 2.0 безопасен, но безопасность ваших расширений также зависит от того, как вы их разрабатываете и управляете ими в среде Ключ-АСТРОМ.

Следуйте этим рекомендациям, чтобы сделать ваши расширения максимально безопасными.

Управление сертификатами

Фреймворк Расширения 2.0 использует механизм подписи расширений для обеспечения целостности расширений, распространяемых в вашей среде. Загружая корневой сертификат на хост, на котором запущено расширение, вы подтверждаете свой доступ на запись к хосту. Однако вы также несете ответственность за обеспечение безопасности сертификатов.

Используйте различные сертификаты

Сгруппируйте ваши расширения по категориям и используйте разные сертификаты подписи для разных типов расширений. Например:

  • Для максимальной безопасности каждое расширение может быть подписано с использованием специального сертификата.
  • Подпишите расширения, отслеживающие конфиденциальные данные, с помощью специальных сертификатов.
  • Корневые сертификаты и сертификаты разработчика должны управляться разными организациями.

Замените истекшие сертификаты

Если ваши сертификаты истекут

  1. Удалить расширения, подписанные с использованием истёкшего сертификата.
  2. Удалите истекший сертификат из хранилища учетных данных Ключ-АСТРОМ.
  3. Удалите истекший сертификат со всех хостов.
  4. Выпустите новый сертификат и снова подпишите свои расширения.

Код расширения

Код, добавленный в ваш файл расширения YAML (например, запросы SQL), несет риск компрометации системы, если злоумышленник получит доступ к среде Ключ-АСТРОМ. Следующие рекомендации помогут вам сохранить код расширения в безопасности.

Обеспечьте целостность кода

Источники данных Ключ-АСТРОМ Расширения 2.0 защищены, но вы несете ответственность за то, чтобы код, добавляемый вами в файл расширения YAML, также был защищен.

Вы несете ответственность за целостность и подлинность неподписанного кода расширения, который вы получаете или загружаете из Интернета. Когда вы подписываете код, полученный от третьей стороны, проверьте код на наличие потенциально вредоносного поведения или уязвимостей.

Ограничьте права пользователя

Создайте выделенных пользователей для ваших расширений (например, пользователей базы данных) и предоставьте им ограниченные разрешения. Пользователь расширения должен иметь доступ только к тем данным, которые требуются для вашего расширения. Избегайте использования администраторов или суперпривилегированных пользователей для доступа к источникам данных для ваших расширений.

Контроль доступа

Пользователи с доступом на запись могут получить доступ, присутствующий в конфигурации расширения, даже если он замаскирован в веб-интерфейсе или REST API, изменив определенные части конфигурации мониторинга.

Чтобы защититься от несанкционированного доступа, реализуйте политики управления доступом с наименьшими привилегиями для конфигураций расширений:

  • Позвольте своим пользователям полагаться на персональные токены при управлении жизненным циклом расширения с помощью API, а не на токены с глобальными разрешениями на запись расширений.
  • Создавайте политики безопасности с разрешениями на запись конфигурации расширения и привязывайте их к группам с ограниченным числом доверенных пользователей.
  • Служба Extensions IAM предоставляет вам условия, которые могут ограничить доступ к записи конфигурации для выбранных областей, таких как расширение, менеджмент-зоны или группы хостов и АктивныхШлюзов. Используйте их для создания детальных политик безопасности.

Более подробную информацию см. в разделе Контроль доступа.

Конфиденциальные источники данных

Некоторые источники данных заставляют расширение выполнять действия, которые могут считаться конфиденциальными (например, выполнение SQL-запросов). Это может раскрыть конфиденциальные данные из контролируемой системы. Проверьте свое расширение, чтобы убедиться, что оно не извлекает никакую конфиденциальную информацию.