[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-bezopasnost-konteynerov-chto-takoe-runtime-security-i-kak-rabotaet-falco":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":20,"progress":21,"seo":22},325,"chto-takoe-runtime-security-i-kak-rabotaet-falco",9,"bezopasnost-konteynerov","Безопасность контейнеров","🛡️","Что такое Runtime Security и как работает Falco?","\u003C!-- grade: -->\n\n**Runtime Security** — обнаружение и реагирование на аномальное поведение контейнеров в реальном времени, то есть непосредственно во время их работы. В отличие от сканирования образов (подход shift-left, который выявляет уязвимости до деплоя), runtime security работает на этапе выполнения и обнаруживает атаки, которые невозможно выявить статическим анализом: запуск неожиданных процессов, доступ к конфиденциальным файлам, аномальные сетевые подключения.\n\n**Falco (CNCF graduated project)** — ведущий open-source инструмент runtime security для контейнеров и Kubernetes, разработанный компанией Sysdig.\n\n**Принцип работы Falco:**\n\n1. **Перехват системных вызовов** — Falco подключается к ядру Linux через eBPF (рекомендуемый способ) или загружаемый kernel module. Каждый системный вызов (open, execve, connect, write и др.) из каждого контейнера проходит через Falco.\n2. **Анализ по правилам** — каждый перехваченный вызов сопоставляется с набором правил, написанных на языке условий Falco. Правила описывают нормальное и аномальное поведение.\n3. **Генерация оповещений** — при совпадении с правилом Falco создаёт событие с указанием severity, деталей процесса, контейнера и namespace.\n\n**Установка Falco в Kubernetes через Helm:**\n\n```bash\nhelm repo add falcosecurity https:\u002F\u002Ffalcosecurity.github.io\u002Fcharts\nhelm repo update\nhelm install falco falcosecurity\u002Ffalco \\\n    --namespace falco \\\n    --create-namespace \\\n    --set driver.kind=ebpf \\\n    --set falcosidekick.enabled=true \\\n    --set falcosidekick.config.slack.webhookurl=\"https:\u002F\u002Fhooks.slack.com\u002F...\"\n```\n\nПараметр `driver.kind=ebpf` указывает использовать eBPF вместо kernel module. eBPF безопаснее и не требует установки дополнительных модулей ядра, но требует ядро Linux 5.8+.\n\n**Примеры правил Falco:**\n\n```yaml\n# Обнаружение запуска shell в контейнере\n# (в production-контейнере не должно запускаться интерактивных оболочек)\n- rule: Terminal shell in container\n  desc: A shell was used as the entrypoint\u002Fexec into a container\n  condition: >\n    spawned_process and container\n    and shell_procs\n    and proc.pname exists\n    and not proc.pname in (shell_binaries)\n  output: >\n    Shell spawned in container\n    (user=%user.name user_loginuid=%user.loginuid\n    container_id=%container.id container_name=%container.name\n    shell=%proc.name parent=%proc.pname cmdline=%proc.cmdline\n    image=%container.image.repository)\n  priority: WARNING\n  tags: [container, shell, mitre_execution]\n\n# Обнаружение чтения чувствительных файлов\n- rule: Read sensitive file in container\n  desc: Attempt to read sensitive files (e.g., \u002Fetc\u002Fshadow)\n  condition: >\n    sensitive_files and open_read\n    and container\n    and not proc.name in (allowed_sensitive_readers)\n  output: >\n    Sensitive file opened for reading in container\n    (user=%user.name file=%fd.name container=%container.name\n    image=%container.image.repository)\n  priority: WARNING\n\n# Обнаружение исходящих подключений к нестандартным портам\n- rule: Unexpected outbound connection\n  desc: Container making unexpected outbound network connection\n  condition: >\n    outbound and container\n    and not fd.sport in (80, 443, 8080, 8443, 5432, 9092, 6379)\n    and not k8s.ns.name = \"kube-system\"\n  output: >\n    Unexpected outbound connection from container\n    (command=%proc.cmdline connection=%fd.name\n    container=%container.name image=%container.image.repository\n    namespace=%k8s.ns.name)\n  priority: NOTICE\n\n# Обнаружение записи в директорию \u002Fetc\n- rule: Write below etc\n  desc: Attempt to write to \u002Fetc directory in container\n  condition: >\n    write_etc_common and container\n  output: >\n    File below \u002Fetc opened for writing in container\n    (user=%user.name file=%fd.name container=%container.name\n    image=%container.image.repository)\n  priority: ERROR\n\n# Обнаружение запуска криптомайнера\n- rule: Detect crypto miners\n  desc: Detect common crypto mining processes\n  condition: >\n    spawned_process and container\n    and (proc.name in (xmrig, minergate, minerd, cpuminer)\n    or proc.cmdline contains \"stratum+tcp\")\n  output: >\n    Crypto mining process detected in container\n    (user=%user.name process=%proc.name container=%container.name\n    image=%container.image.repository)\n  priority: CRITICAL\n```\n\nКаждое правило содержит: `condition` (условие срабатывания на языке фильтров Falco), `output` (шаблон сообщения с макросами для подстановки контекста), `priority` (уровень критичности от DEBUG до CRITICAL) и `tags` (метки для группировки и фильтрации).\n\n**Falcosidekick — маршрутизация оповещений:**\n\nFalcosidekick принимает оповещения от Falco и маршрутизирует их в различные целевые системы: мессенджеры, SIEM, системы мониторинга, хранилища логов:\n\n```yaml\n# values.yaml для Falcosidekick\nfalcosidekick:\n  config:\n    slack:\n      webhookurl: \"https:\u002F\u002Fhooks.slack.com\u002Fservices\u002F...\"\n      minimumpriority: \"warning\"\n    elasticsearch:\n      hostport: \"http:\u002F\u002Felasticsearch:9200\"\n      index: \"falco\"\n    prometheus:\n      enabled: true\n    # Автоматическая реакция: создание Policy Report при инцидентах\n    kubernetesPolicyReport:\n      enabled: true\n```\n\nFalcosidekick поддерживает более 50 целевых систем, включая Slack, PagerDuty, Elasticsearch, Kafka, AWS SNS, Prometheus и другие.\n\n**Типичные инциденты, обнаруживаемые Falco в банковских системах:**\n\n| Инцидент | Severity | Рекомендуемое действие |\n|----------|----------|----------------------|\n| Запуск shell (`\u002Fbin\u002Fsh`, `\u002Fbin\u002Fbash`) в production-контейнере | WARNING | Уведомление в SOC (Security Operations Center) |\n| Чтение `\u002Fetc\u002Fshadow` или других чувствительных файлов | ERROR | Уведомление + немедленное расследование инцидента |\n| Запуск процесса, не являющегося entrypoint | NOTICE | Логирование и анализ |\n| Исходящее подключение к неизвестному IP\u002Fпорту | WARNING | Уведомление + проверка на эксфильтрацию данных |\n| Модификация бинарных файлов приложения | CRITICAL | Уведомление + автоматическое удаление пода |\n| Обнаружение криптомайнера | CRITICAL | Немедленная эскалация, удаление пода, расследование вектора компрометации |\n\n**Альтернативы Falco:** Sysdig Secure (коммерческая версия от тех же разработчиков), Aqua Security, Prisma Cloud (Palo Alto Networks).","","senior",[15,16,17,18,19],"falco","container-security","ebpf","monitoring","runtime-security",[],null,{"title":23,"description":24,"ogTitle":23,"ogDescription":25,"keywords":26,"schemaAnswer":34,"featuredSnippetReady":35},"Runtime Security и Falco: мониторинг контейнеров в реальном времени — Gymterview","Что такое Runtime Security? Как работает Falco — обнаружение аномалий в контейнерах через eBPF. Правила Falco, Falcosidekick, обнаружение shell, криптомайнеров, чтения чувствительных файлов.","Runtime Security с Falco: перехват системных вызовов через eBPF, правила обнаружения аномалий, интеграция с Slack и Elasticsearch через Falcosidekick.",[27,28,29,30,31,32,33],"Runtime Security","Falco","eBPF","runtime мониторинг контейнеров","Falcosidekick","обнаружение аномалий","CNCF Falco","Runtime Security — обнаружение аномального поведения контейнеров в реальном времени, в отличие от статического сканирования образов. Falco (CNCF graduated) — ведущий open-source инструмент: перехватывает системные вызовы через eBPF, анализирует их по правилам и генерирует оповещения. Обнаруживает: запуск shell в контейнере, чтение чувствительных файлов, нестандартные исходящие подключения, запись в \u002Fetc, криптомайнеры. Falcosidekick маршрутизирует оповещения в Slack, Elasticsearch, Prometheus. Альтернативы: Sysdig Secure, Aqua Security, Prisma Cloud.",true]