<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2_%D1%81%D1%80%D0%B5%D0%B4%D0%B5_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F</id>
	<title>Контекстуализация обнаружений контейнеров в среде выполнения - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2_%D1%81%D1%80%D0%B5%D0%B4%D0%B5_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2_%D1%81%D1%80%D0%B5%D0%B4%D0%B5_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F&amp;action=history"/>
	<updated>2026-10-06T18:00:55Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2_%D1%81%D1%80%D0%B5%D0%B4%D0%B5_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=6845&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: « = Контекстуализация обнаружений контейнеров в среде выполнения = Сканирование образов контейнеров обычно выполняется в репозиториях артефактов, таких как &#039;&#039;&#039;Amazon ECR&#039;&#039;&#039;, &#039;&#039;&#039;GCP Artifact Registry&#039;&#039;&#039; и &#039;&#039;&#039;Microsoft Azure Container Registry&#039;&#039;&#039;. После развёртывания образов в продуктивной с...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2_%D1%81%D1%80%D0%B5%D0%B4%D0%B5_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=6845&amp;oldid=prev"/>
		<updated>2026-09-24T18:35:52Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « = Контекстуализация обнаружений контейнеров в среде выполнения = Сканирование образов контейнеров обычно выполняется в репозиториях артефактов, таких как &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;GCP Artifact Registry&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Microsoft Azure Container Registry&amp;#039;&amp;#039;&amp;#039;. После развёртывания образов в продуктивной с...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= Контекстуализация обнаружений контейнеров в среде выполнения =&lt;br /&gt;
Сканирование образов контейнеров обычно выполняется в репозиториях артефактов, таких как &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;GCP Artifact Registry&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Microsoft Azure Container Registry&amp;#039;&amp;#039;&amp;#039;. После развёртывания образов в продуктивной среде необходимо непрерывно переоценивать образы контейнеров, чтобы гарантировать, что на них не влияют новые критические уязвимости.&lt;br /&gt;
&lt;br /&gt;
Количество обнаружений уязвимостей растёт вместе с количеством хранимых образов контейнеров, и команда разработки может оказаться перегруженной количеством критических обнаружений. Некоторые образы контейнеров никогда не будут развёрнуты в вашей продуктивной среде. Они могут быть частью тестовых сред или устареть и лежать в репозитории как наследие.&lt;br /&gt;
&lt;br /&gt;
В этом контексте Ключ-АСТРОМ помогает:&lt;br /&gt;
&lt;br /&gt;
* Снизить усталость от оповещений.&lt;br /&gt;
* Сосредоточить усилия по устранению на критических обнаружениях уязвимостей, которые существенно влияют на ваши продуктивные приложения.&lt;br /&gt;
&lt;br /&gt;
== Целевая аудитория ==&lt;br /&gt;
Инженеры по надёжности сайтов (&amp;#039;&amp;#039;&amp;#039;SRE&amp;#039;&amp;#039;&amp;#039;) и владельцы приложений, которые хотят поддерживать гигиену безопасности и работоспособность своих приложений.&lt;br /&gt;
&lt;br /&gt;
== Сценарий ==&lt;br /&gt;
Команда разработки хранит образы контейнеров в &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039;. Позже эти образы развёртываются в средах staging и production, работающих на &amp;#039;&amp;#039;&amp;#039;Kubernetes&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Вы отслеживаете работоспособность приложений с помощью &amp;#039;&amp;#039;&amp;#039;ЕдиныйАгент&amp;#039;&amp;#039;&amp;#039; в &amp;#039;&amp;#039;&amp;#039;Kubernetes&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Недавно &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039; обнаружил несколько новых критических уязвимостей в образах контейнеров.&lt;br /&gt;
&lt;br /&gt;
=== Запрос ===&lt;br /&gt;
&lt;br /&gt;
* Автоматически сортировать критические уязвимости и оценивать ситуацию.&lt;br /&gt;
* Автоматически создавать тикеты и уведомления о новых критических уязвимостях, угрожающих вашему продуктивному приложению.&lt;br /&gt;
&lt;br /&gt;
=== Цель ===&lt;br /&gt;
Избежать подверженности критическим уязвимостям в продуктивных приложениях на контейнерах с уязвимыми образами контейнеров.&lt;br /&gt;
&lt;br /&gt;
=== Результат ===&lt;br /&gt;
Наше решение позволяет:&lt;br /&gt;
&lt;br /&gt;
* Фильтровать критические обнаружения в продуктивных приложениях на контейнерах с уязвимыми образами.&lt;br /&gt;
* Создавать рабочие процессы автоматизации уведомлений на основе этих обнаружений.&lt;br /&gt;
&lt;br /&gt;
== Предварительные требования ==&lt;br /&gt;
&lt;br /&gt;
* Настройте наблюдаемость &amp;#039;&amp;#039;&amp;#039;Kubernetes&amp;#039;&amp;#039;&amp;#039; с помощью &amp;#039;&amp;#039;&amp;#039;Ключ-АСТРОМ Operator&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Загрузите обнаружения уязвимостей и события сканирования &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Используйте теги продукта/стадии выпуска Ключ-АСТРОМ для ваших контейнеров.&lt;br /&gt;
&lt;br /&gt;
== Начало работы ==&lt;br /&gt;
&lt;br /&gt;
==== Шаг 1. Визуализация ====&lt;br /&gt;
Чтобы просмотреть сводный и унифицированный список последних обнаружений уязвимостей, загруженных из &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
# Откройте &amp;#039;&amp;#039;&amp;#039;Дашборды&amp;#039;&amp;#039;&amp;#039; и перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Готовые&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Найдите и выберите &amp;#039;&amp;#039;&amp;#039;Обнаружения уязвимостей контейнеров&amp;#039;&amp;#039;&amp;#039; для интеграции &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== Шаг 2. Фильтрация ====&lt;br /&gt;
&lt;br /&gt;
* Отфильтруйте по &amp;#039;&amp;#039;&amp;#039;RuntimeStatus&amp;#039;&amp;#039;&amp;#039;, чтобы отобразить контекстуализированные обнаружения, затрагивающие ваши контейнеры среды выполнения.&lt;br /&gt;
* Отфильтруйте по &amp;#039;&amp;#039;&amp;#039;ProductStage&amp;#039;&amp;#039;&amp;#039;, чтобы отобразить контекстуализированные обнаружения, затрагивающие ваши продуктивные сервисы и приложения.&lt;br /&gt;
&lt;br /&gt;
==== Шаг 3. Автоматизация ====&lt;br /&gt;
Вы можете адаптировать наши примеры рабочих процессов автоматизации, чтобы обогатить и отфильтровать внешние обнаружения уязвимостей образов контейнеров по контексту среды выполнения. Подробности см. в разделе «Автоматизация и оркестрация обнаружений безопасности».&lt;br /&gt;
&lt;br /&gt;
Пример запроса для получения новых критических уязвимостей образов контейнеров со списком затронутых образов и работающих контейнеров:&amp;lt;pre&amp;gt;&lt;br /&gt;
// The query has a rolling window of 7 days and the last 24hrs.&lt;br /&gt;
// Vulnerability finding events which have already been reported&lt;br /&gt;
// before the current 24hr window will not be reported again.&lt;br /&gt;
fetch security.events, from: now() - 7d&lt;br /&gt;
| filter dt.system.bucket == &amp;quot;default_securityevents&amp;quot;&lt;br /&gt;
    AND object.type == &amp;quot;CONTAINER_IMAGE&amp;quot;&lt;br /&gt;
    AND event.type == &amp;quot;VULNERABILITY_FINDING&amp;quot;&lt;br /&gt;
    AND dt.security.risk.level == &amp;quot;CRITICAL&amp;quot;&lt;br /&gt;
// now enrich the runtime context&lt;br /&gt;
| join [&lt;br /&gt;
    fetch dt.entity.container_group_instance, from:now()-3h&lt;br /&gt;
    | fieldsAdd entity.name, containerImageDigest, containerImageName, workloadName, containerStatus, processes=contains[dt.entity.process_group_instance]&lt;br /&gt;
    | expand dt.entity.process=processes&lt;br /&gt;
        | fieldsRemove processes&lt;br /&gt;
        | join [&lt;br /&gt;
            fetch dt.entity.process_group_instance, from:now()-3h&lt;br /&gt;
        ], on:{left[dt.entity.process]==right[id]}, kind:leftOuter, fields:{releasesProduct, releasesStage}&lt;br /&gt;
], on:{left[container_image.digest]==right[containerImageDigest]}, kind:leftOuter,&lt;br /&gt;
   fields:{container_instance.id=id, container_instance.name=entity.name, container_image.name=containerImageName,&lt;br /&gt;
           releasesProduct, releasesStage, containerStatus}&lt;br /&gt;
// summarize and filter&lt;br /&gt;
| dedup {object.id, vulnerability.id, component.name, component.version,&lt;br /&gt;
         container_image.registry, container_image.repository}, sort: {timestamp desc}&lt;br /&gt;
| parse containerStatus, &amp;quot;&amp;quot;&amp;quot;LD* &amp;quot;state=&amp;quot; LD:containerStatus (&amp;quot;}&amp;quot; | &amp;quot;,&amp;quot;)&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
| fieldsAdd containerStatus=if(isNull(containerStatus),&amp;quot;not running&amp;quot;,else:containerStatus)&lt;br /&gt;
| fieldsAdd releasesStage=if(isNull(releasesStage), &amp;quot;None&amp;quot;, else:releasesStage)&lt;br /&gt;
| filter containerStatus==&amp;quot;running&amp;quot; AND releasesStage==&amp;quot;production&amp;quot;&lt;br /&gt;
// Aggregate vulnerability findings per vulnerability, repository,&lt;br /&gt;
// component and component version.&lt;br /&gt;
| summarize {&lt;br /&gt;
      affected_images_count = count(),&lt;br /&gt;
      vulnerability_finding_events = collectArray(&lt;br /&gt;
        record(&lt;br /&gt;
          object.id = object.id,&lt;br /&gt;
          event.provider = event.provider,&lt;br /&gt;
          container_image.registry = container_image.registry,&lt;br /&gt;
          container_image.repository = container_image.repository,&lt;br /&gt;
          component.version = component.version,&lt;br /&gt;
          component.name = component.name,&lt;br /&gt;
          dt.security.risk.level = dt.security.risk.level,&lt;br /&gt;
          ingest_time = timestamp&lt;br /&gt;
        )&lt;br /&gt;
      )&lt;br /&gt;
    }, by:{ vulnerability.id, vulnerability.title, event.provider, container_image.registry, container_image.repository, component.name, component.version }&lt;br /&gt;
// Filter out, if this vulnerability for the repository and the component&lt;br /&gt;
// and version was already reported before the last 24 hours.&lt;br /&gt;
// For example, if the same vulnerability was reported multiple times&lt;br /&gt;
// during the last 7 days, don&amp;#039;t report it again.&lt;br /&gt;
| filterOut iAny(vulnerability_finding_events[][ingest_time] &amp;lt; now() - 24h)&lt;br /&gt;
// Expand and deduplicate for repetitive findings if they&lt;br /&gt;
// were reported more than once in the last 24 hours.&lt;br /&gt;
| expand vulnerability_finding_events&lt;br /&gt;
| dedup { vulnerability.id, vulnerability.title, vulnerability_finding_events[object.id], vulnerability_finding_events[component.name], vulnerability_finding_events[component.version] }&lt;br /&gt;
// Aggregate again to count the unique affected images within each repository.&lt;br /&gt;
| summarize {&lt;br /&gt;
      affected_images_count = count(),&lt;br /&gt;
      vulnerability_finding_events = collectArray(&lt;br /&gt;
        vulnerability_finding_events&lt;br /&gt;
      )&lt;br /&gt;
    }, by:{ vulnerability.id, vulnerability.title, event.provider, container_image.registry, container_image.repository, component.name, component.version }&lt;br /&gt;
| sort vulnerability_finding_events[][ingest_time] desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Шаг 4. Отслеживание сокращения оповещений ====&lt;br /&gt;
Чтобы отслеживать процесс сокращения оповещений на основе прогрессивной фильтрации из шага 2:&lt;br /&gt;
&lt;br /&gt;
# Откройте &amp;#039;&amp;#039;&amp;#039;Дашборды&amp;#039;&amp;#039;&amp;#039; и перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Готовые&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Найдите и выберите &amp;#039;&amp;#039;&amp;#039;Сокращение оповещений об образах контейнеров&amp;#039;&amp;#039;&amp;#039; для интеграции &amp;#039;&amp;#039;&amp;#039;Amazon ECR&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>