<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Документация Proto Observability Platform – compliance</title><link>/docs/tags/compliance/</link><description>Recent content in compliance on Документация Proto Observability Platform</description><generator>Hugo -- gohugo.io</generator><language>ru</language><atom:link href="/docs/tags/compliance/index.xml" rel="self" type="application/rss+xml"/><item><title>Guides: Интеграция с SIEM</title><link>/docs/guides/siem_integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/guides/siem_integration/</guid><description>
&lt;p>Proto Observability Platform умеет отдавать журналы аудита во внешнюю систему
мониторинга безопасности (SIEM) по протоколу &lt;strong>syslog&lt;/strong> — для централизованного
хранения событий безопасности, корреляции с другими источниками и выполнения
требований по аудиту и комплаенсу.&lt;/p>
&lt;p>Экспорт по умолчанию &lt;strong>выключен&lt;/strong> и включается &lt;strong>двумя переменными&lt;/strong> — без
пересборки образов.&lt;/p>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Доступно с версии 201&lt;/h4>
Экспорт журналов в SIEM появился в ProtoOBP &lt;strong>201&lt;/strong>. Убедитесь, что образы
компонентов (&lt;code>proto-api-manager&lt;/code>, &lt;code>proto-auth&lt;/code>, &lt;code>proto-otel-collector&lt;/code>) — версии
&lt;code>201&lt;/code> или новее.
&lt;/div>
&lt;p>На этой странице:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="#%d1%87%d1%82%d0%be-%d0%bc%d0%be%d0%b6%d0%bd%d0%be-%d1%8d%d0%ba%d1%81%d0%bf%d0%be%d1%80%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c">Что можно экспортировать&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%b1%d1%8b%d1%81%d1%82%d1%80%d0%be%d0%b5-%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d0%b5">Быстрое включение&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d1%81%d1%85%d0%b5%d0%bc%d0%b0-%d0%bf%d0%be%d0%b4%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d1%8f">Схема подключения&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%b6%d1%83%d1%80%d0%bd%d0%b0%d0%bb%d1%8b-%d1%81%d1%83%d0%b1%d0%b4-%d0%b8-%d0%be%d1%81">Системные журналы (СУБД и ОС)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%bf%d0%be%d0%bb%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d0%be%d0%b4%d0%bd%d0%b8%d0%bc-%d1%84%d0%b0%d0%b9%d0%bb%d0%be%d0%bc">Полный пример одним файлом&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d1%80%d0%b0%d1%81%d1%88%d0%b8%d1%80%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0">Расширенная настройка&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%b4%d0%b8%d0%b0%d0%b3%d0%bd%d0%be%d1%81%d1%82%d0%b8%d0%ba%d0%b0-%d1%82%d0%b8%d0%bf%d0%be%d0%b2%d1%8b%d1%85-%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc">Диагностика типовых проблем&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="что-можно-экспортировать">Что можно экспортировать&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Источник&lt;/th>
&lt;th>Компонент&lt;/th>
&lt;th>Что содержит&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Аудит действий (RBAC)&lt;/strong>&lt;/td>
&lt;td>&lt;code>proto-api-manager&lt;/code>&lt;/td>
&lt;td>Действия субъектов над объектами доступа: &lt;code>allow&lt;/code>/&lt;code>deny&lt;/code> по проверкам прав на API&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>События входа&lt;/strong>&lt;/td>
&lt;td>&lt;code>proto-auth&lt;/code>&lt;/td>
&lt;td>Вход/выход и неуспешные попытки входа: &lt;code>LOGIN&lt;/code>, &lt;code>LOGOUT&lt;/code>, &lt;code>LOGIN_ERROR&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Системные журналы&lt;/strong>&lt;/td>
&lt;td>СУБД, ОС&lt;/td>
&lt;td>Системные логи в исходном виде&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Аудит действий остаётся и в UI&lt;/h4>
При включённом экспорте аудит действий &lt;strong>дублируется&lt;/strong> в syslog &lt;strong>в дополнение&lt;/strong>
к внутреннему журналу — вкладка «Журнал аудита» в интерфейсе продолжает работать
(см. &lt;a href="../rbac_admin/#%d0%b6%d1%83%d1%80%d0%bd%d0%b0%d0%bb-%d0%b0%d1%83%d0%b4%d0%b8%d1%82%d0%b0">Администрирование RBAC → Журнал аудита&lt;/a>).
&lt;/div>
&lt;h2 id="быстрое-включение">Быстрое включение&lt;/h2>
&lt;p>Задайте две переменные в &lt;code>.env&lt;/code> рядом с compose-файлом платформы — экспорт
журналов аудита включится по всему стеку: RBAC-действия (&lt;code>proto-api-manager&lt;/code>) и
события входа (&lt;code>proto-auth&lt;/code>) начнут уходить в вашу SIEM по syslog.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># .env&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">POBP_SIEM_ENABLED&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nb">true&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">POBP_SIEM_ENDPOINT&lt;/span>&lt;span class="o">=&lt;/span>siem-collector:514 &lt;span class="c1"># syslog-приёмник вашей SIEM, host:port&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker compose -f docker-compose-&amp;lt;версия&amp;gt;.yaml up -d proto-api-manager proto-auth
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>По умолчанию (&lt;code>POBP_SIEM_ENABLED&lt;/code> не задан или &lt;code>false&lt;/code>) экспорт выключен. Записи
уходят по syslog &lt;strong>напрямую&lt;/strong> на указанный адрес, протокол — &lt;code>tcp&lt;/code>. Отдельные
адреса/протокол/теги — в разделе &lt;a href="#%d1%80%d0%b0%d1%81%d1%88%d0%b8%d1%80%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0">Расширенная настройка&lt;/a>.
Отправку системных журналов СУБД/ОС — в разделе
&lt;a href="#%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%b6%d1%83%d1%80%d0%bd%d0%b0%d0%bb%d1%8b-%d1%81%d1%83%d0%b1%d0%b4-%d0%b8-%d0%be%d1%81">Системные журналы&lt;/a>.&lt;/p>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Не влияет на работу платформы&lt;/h4>
Недоступность приёмника не блокирует обработку запросов: аудит продолжает штатно
сохраняться во внутреннем журнале, а связь с приёмником восстанавливается
автоматически.
&lt;/div>
&lt;p>Проверка: включите приёмник на указанном адресе и выполните вход и любое действие
с проверкой прав — в потоке приёмника появятся записи с тегами &lt;code>proto-auth&lt;/code>
(события входа) и &lt;code>proto-api-manager&lt;/code> (RBAC-действия). Каждая RBAC-запись содержит
время, пользователя, действие, тип и ключ объекта доступа, результат
(&lt;code>allow&lt;/code>/&lt;code>deny&lt;/code>) и IP-адрес.&lt;/p>
&lt;h2 id="схема-подключения">Схема подключения&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">ProtoOBP ──(syslog TCP/UDP)──▶ SIEM заказчика
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Компоненты платформы отправляют записи по syslog &lt;strong>напрямую&lt;/strong> на адрес из
&lt;code>POBP_SIEM_ENDPOINT&lt;/code>. Как правило, отдельный шиппер не нужен. Если он всё же
требуется (преобразование формата, TLS, сбор системных логов из файлов) —
используйте входящий в состав системы &lt;code>proto-otel-collector&lt;/code> (см.
&lt;a href="#%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%b6%d1%83%d1%80%d0%bd%d0%b0%d0%bb%d1%8b-%d1%81%d1%83%d0%b1%d0%b4-%d0%b8-%d0%be%d1%81">Системные журналы&lt;/a>).&lt;/p>
&lt;h2 id="системные-журналы-субд-и-ос">Системные журналы (СУБД и ОС)&lt;/h2>
&lt;p>Системные журналы СУБД (ClickHouse, PostgreSQL) и ОС уже пишутся в стандартный
вывод контейнеров и сохраняются драйвером &lt;code>json-file&lt;/code> (по умолчанию, с ротацией).
Эти &lt;strong>локальные файлы всегда остаются&lt;/strong> для отладки — драйвер логирования менять
не нужно, &lt;code>docker logs&lt;/code> продолжает работать.&lt;/p>
&lt;p>Чтобы дополнительно отправлять их в SIEM, не трогая локальные файлы, используйте
сборщик, который &lt;strong>читает&lt;/strong> docker-логи и форвардит копию. Отдельный Vector/Fluent
Bit не обязателен: в состав системы входит &lt;code>proto-otel-collector&lt;/code> (на базе
OpenTelemetry Collector) с приёмниками &lt;code>file_log&lt;/code> и &lt;code>syslog&lt;/code>. В его образе уже есть
готовый оверлей &lt;code>/etc/otel-collector-siem.yaml&lt;/code> с logs-конвейером,
&lt;strong>по умолчанию не активный&lt;/strong> (адрес приёмника — из переменных окружения):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="c"># /etc/otel-collector-siem.yaml (уже в образе, для справки)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">receivers&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">file_log/containers&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># docker-логи контейнеров; файлы json-file сохраняются&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">include&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">/var/lib/docker/containers/*/*-json.log ]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">exporters&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">syslog/siem&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># экспортер под протокол приёма вашей SIEM&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">endpoint&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">${env:POBP_SIEM_HOST}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">port&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">${env:POBP_SIEM_PORT}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">network&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">tcp&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">protocol&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">rfc5424&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">service&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">pipelines&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">logs/siem&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">receivers&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="l">file_log/containers]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">processors&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="l">memory_limiter, batch]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">exporters&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="l">syslog/siem]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Включение (у сервиса &lt;code>proto-otel-collector&lt;/code> в основном compose-файле): подключить
оверлей вторым &lt;code>--config&lt;/code>, задать адрес и смонтировать каталог docker-логов только
на чтение. Экспортёр otel требует хост и порт &lt;strong>раздельно&lt;/strong> — задайте
&lt;code>POBP_SIEM_HOST&lt;/code> и &lt;code>POBP_SIEM_PORT&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">services&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">proto-otel-collector&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">command&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="s2">&amp;#34;--config=/etc/otel-collector-config.yaml&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="s2">&amp;#34;--config=/etc/otel-collector-siem.yaml&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">user&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;0:0&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># читает docker-логи как их владелец (root)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">cap_drop&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;ALL&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># uid 0 без capabilities — только чтение&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">security_opt&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;no-new-privileges:true&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_HOST&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;siem-collector&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_PORT&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;514&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">volumes&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="l">/var/lib/docker/containers:/var/lib/docker/containers:ro&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Эти строки уже присутствуют закомментированными у сервиса &lt;code>proto-otel-collector&lt;/code> —
их достаточно раскомментировать. Без второго &lt;code>--config&lt;/code> оверлей не загружается.
&lt;code>file_log&lt;/code> читает логи всех контейнеров — при необходимости сузьте
&lt;code>include&lt;/code>/&lt;code>exclude&lt;/code> (например, исключите лог самого коллектора).&lt;/p>
&lt;p>&lt;strong>Про права.&lt;/strong> Docker пишет логи в &lt;code>/var/lib/docker/containers&lt;/code> от имени &lt;code>root&lt;/code>
(каталоги &lt;code>0710&lt;/code>, файлы &lt;code>0640&lt;/code>). Членство в группе &lt;code>docker&lt;/code> не помогает — оно даёт
доступ к docker-сокету, а не к этим файлам; группы &lt;code>root&lt;/code> тоже недостаточно (у
каталогов &lt;code>0710&lt;/code> группе доступен только вход, но не листинг, а &lt;code>file_log&lt;/code>
перечисляет файлы по маске). Поэтому коллектор читает их как владелец под
&lt;code>user: &amp;quot;0:0&amp;quot;&lt;/code>, а &lt;code>cap_drop: [&amp;quot;ALL&amp;quot;]&lt;/code> оставляет только чтение — прав root при этом
не остаётся (проверено).&lt;/p>
&lt;p>&lt;strong>Если запуск под uid 0 недопустим&lt;/strong> — не читайте &lt;code>/var/lib/docker&lt;/code>, а измените
способ сбора: направьте логи нужных сервисов docker-драйвером &lt;code>syslog&lt;/code> (демон сам
отправляет записи — без файлового доступа и без root, но это заменяет &lt;code>json-file&lt;/code>,
локальные файлы не сохранятся); либо настройте СУБД писать логи в отдельный том,
доступный коллектору под его обычным uid, и укажите этот том в &lt;code>file_log&lt;/code>.&lt;/p>
&lt;h2 id="полный-пример-одним-файлом">Полный пример одним файлом&lt;/h2>
&lt;p>Если удобнее один override-файл вместо правки &lt;code>.env&lt;/code> — сохраните рядом с основным
compose-файлом платформы &lt;code>docker-compose.siem.yaml&lt;/code> и примените его:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker compose -f docker-compose-&amp;lt;версия&amp;gt;.yaml -f docker-compose.siem.yaml up -d
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="c"># docker-compose.siem.yaml — включение экспорта журналов в SIEM&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">services&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Аудит действий (RBAC)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">proto-api-manager&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_ENABLED&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;true&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_ENDPOINT&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;siem-collector:514&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># syslog-приёмник SIEM, host:port&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># События входа&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">proto-auth&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_ENABLED&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;true&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_ENDPOINT&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;siem-collector:514&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Системные журналы СУБД/ОС — ОПЦИОНАЛЬНО (удалите блок, если не нужно).&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="c"># Требует чтения docker-логов: user &amp;#34;0:0&amp;#34; + том (см. «Системные журналы»).&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">proto-otel-collector&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">command&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="s2">&amp;#34;--config=/etc/otel-collector-config.yaml&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="s2">&amp;#34;--config=/etc/otel-collector-siem.yaml&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">user&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;0:0&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">cap_drop&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;ALL&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">security_opt&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;no-new-privileges:true&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_HOST&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;siem-collector&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">POBP_SIEM_PORT&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;514&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">volumes&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="l">/var/lib/docker/containers:/var/lib/docker/containers:ro&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Первые два блока эквивалентны двум переменным из
&lt;a href="#%d0%b1%d1%8b%d1%81%d1%82%d1%80%d0%be%d0%b5-%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d0%b5">Быстрого включения&lt;/a> — выбирайте, что удобнее. Третий блок
(системные журналы) можно опустить; о правах доступа для него — в разделе
&lt;a href="#%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%b6%d1%83%d1%80%d0%bd%d0%b0%d0%bb%d1%8b-%d1%81%d1%83%d0%b1%d0%b4-%d0%b8-%d0%be%d1%81">Системные журналы&lt;/a>.&lt;/p>
&lt;h2 id="расширенная-настройка">Расширенная настройка&lt;/h2>
&lt;p>Двух переменных из &lt;a href="#%d0%b1%d1%8b%d1%81%d1%82%d1%80%d0%be%d0%b5-%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d0%b5">Быстрого включения&lt;/a> достаточно для
большинства случаев. Для тонкой настройки у каждого источника есть отдельные
переменные — они &lt;strong>переопределяют&lt;/strong> общие.&lt;/p>
&lt;h3 id="proto-api-manager-rbac-аудит">proto-api-manager (RBAC-аудит)&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Переменная&lt;/th>
&lt;th>Назначение&lt;/th>
&lt;th>Default&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>POBP_RBAC_AUDIT_SYSLOG_ENABLED&lt;/code>&lt;/td>
&lt;td>Включить экспорт (достаточно любого из флагов)&lt;/td>
&lt;td>&lt;code>false&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>POBP_RBAC_AUDIT_SYSLOG_ENDPOINT&lt;/code>&lt;/td>
&lt;td>Адрес &lt;code>host:port&lt;/code> (переопределяет &lt;code>POBP_SIEM_ENDPOINT&lt;/code>)&lt;/td>
&lt;td>из &lt;code>POBP_SIEM_ENDPOINT&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>POBP_RBAC_AUDIT_SYSLOG_PROTOCOL&lt;/code>&lt;/td>
&lt;td>Протокол: &lt;code>tcp&lt;/code> или &lt;code>udp&lt;/code>&lt;/td>
&lt;td>&lt;code>tcp&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>POBP_RBAC_AUDIT_SYSLOG_APP_NAME&lt;/code>&lt;/td>
&lt;td>Имя приложения (тег) в syslog-записи&lt;/td>
&lt;td>&lt;code>proto-api-manager&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>В Helm-чарте задаются через &lt;code>apiManager.env&lt;/code>.&lt;/p>
&lt;h3 id="proto-auth-события-входа">proto-auth (события входа)&lt;/h3>
&lt;p>Управляется теми же двумя переменными &lt;code>POBP_SIEM_ENABLED&lt;/code> / &lt;code>POBP_SIEM_ENDPOINT&lt;/code>.
Отдельной настройки не требуется: события отправляются по &lt;code>tcp&lt;/code> с тегом
&lt;code>proto-auth&lt;/code>.&lt;/p>
&lt;h2 id="диагностика-типовых-проблем">Диагностика типовых проблем&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Симптом&lt;/th>
&lt;th>Причина и решение&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>В приёмнике нет записей аудита&lt;/td>
&lt;td>Проверьте &lt;code>POBP_SIEM_ENABLED=true&lt;/code> и &lt;code>POBP_SIEM_ENDPOINT&lt;/code>; убедитесь, что приёмник доступен по адресу и протоколу. Для RBAC — что RBAC включён (&lt;code>POBP_RBAC_ENABLED=true&lt;/code>).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Нет только событий входа&lt;/td>
&lt;td>В логе &lt;code>proto-auth&lt;/code> при старте должно быть &lt;code>SIEM syslog export enabled&lt;/code>. Проверьте, что переменные заданы и переданы сервису &lt;code>proto-auth&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Нет только RBAC-действий&lt;/td>
&lt;td>&lt;code>proto-api-manager&lt;/code> читает переменные из &lt;code>./.env&lt;/code> (env_file). Проверьте, что они там заданы.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Нет системных журналов СУБД&lt;/td>
&lt;td>Проверьте &lt;code>file_log&lt;/code>-приёмник и logs-конвейер &lt;code>proto-otel-collector&lt;/code>: смонтирован ли &lt;code>/var/lib/docker/containers&lt;/code>, задан ли &lt;code>user: &amp;quot;0:0&amp;quot;&lt;/code>, &lt;code>POBP_SIEM_HOST&lt;/code>/&lt;code>POBP_SIEM_PORT&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Записи не доходят до SIEM&lt;/td>
&lt;td>Проверьте адрес/порт/протокол приёмника SIEM и сетевую доступность.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item></channel></rss>