Инструменты безопасности с открытым исходным кодом
Falco: обнаружение угроз во время выполнения для контейнеров
Falco — это инструмент безопасности во время выполнения CNCF, который отслеживает системные вызовы; правила описывают поведение, которое никогда не должно происходить (оболочка, созданная в nginx, кто-то, читающий /etc/shadow, контейнер, монтирующий файловую систему хоста), и Falco предупреждает в тот момент, когда они это делают. Это аналог сканирования изображений: инструменты класса Trivy выявляют известные уязвимости перед развертыванием, Falco выявляет некорректное поведение во время работы.
Главное
- Источником данных являются системные вызовы: модуль ядра или современный драйвер eBPF передает потоки событий, правила которых соответствуют контексту процесса/контейнера (изображение, пространство имен, пользователь, аргументы системного вызова), включая поля с поддержкой контейнеров, такие как метаданные развертывания Kubernetes; эта линза уровня системного вызова видит то, что упускает обнаружение на основе журналов.
- Правила по умолчанию охватывают классические классы выхода из контейнера: привилегированный запуск контейнера, чтение конфиденциальных файлов, обратные оболочки, неожиданные сетевые инструменты внутри контейнеров, запись под монтированием и создание известных родственных элементов во время выполнения контейнера; набор по умолчанию — это начальный базовый уровень, предназначенный для настройки для каждого поместья.
- Правила — это YAML и системные вызовы, а не подписи: нет каналов CVE для обновления; вместо этого политика поведения, такая как «spawned_process и proc.name в (двоичные файлы оболочки)», выражает ожидания состояния; история настройки ведется на уровне класса (запись и чтение двоичных файлов), а не на уровне сигнатуры.
- Вывод осуществляется на основе плагинов: стандартный вывод, системный журнал, Slack, веб-перехватчик для оркестратора и ключевые современные интеграции (автоматический ответ класса Falco Talon); большинство предприятий направляют оповещения на тот же SIEM, что и Wazuh (наша специальная статья), поэтому оповещения во время выполнения и на конечных точках коррелируют.
- Форма развертывания соответствует состоянию: daemonset в Kubernetes (драйвер eBPF в современных ядрах), на основе хоста для автономных хостов Docker; Объем ресурсов скромен, но колеблется в ядрах класса узлов 10G, что важно, поскольку зонды eBPF тесно связаны с версиями ядра и дистрибутивами.
- Честное позиционирование в нашем наборе инструментов безопасности: Falco обнаруживает неправомерные действия, но не предотвращает их; соедините его со сканированием изображений (Trivy), политиками доступа (инструменты контекста безопасности/оркестрации Kubernetes) и средствами управления сетью; взлом, обнаруженный в 3 часа ночи, стоит больше, чем отчет о сканировании, который никто не прочитал.
Заметка из практики
Первая уловка Falco на клиентском кластере: отладочный образ, который поставлялся вместе с оболочкой, и кто-то использовал его в продакшене по привычке. Никакого CVE, никакого попадания в сканер, чистое поведение. Сработавшее правило было значением по умолчанию, которое мы хотели настроить. Дефолты иногда громко зарабатывают.
Частые вопросы
Falco против коммерческого продукта CNDR?
Falco представляет ядро обнаружения системных вызовов как открытый исходный код с форматом правил, принадлежащим сообществу; коммерческие инструменты добавляют пользовательский интерфейс, модели аномалий ML и рабочие процессы управляемого ответа, а во многих компаниях Falco используется параллельно для уровня системных вызовов.
Что улавливает Falco и пропускает сканеры?
Поведение во время выполнения: скомпрометированные учетные данные, используемые для создания оболочки, контейнер, считывающий секреты, которые он не должен использовать, поворот с веб-уровня в кластер Kubernetes; сканеры проверяют отправленные товары, Falco наблюдает за тем, что происходит.
Является ли eBPF обязательным?
Драйвер eBPF является современным драйвером по умолчанию и позволяет избежать обслуживания модулей ядра; для старых ядер существует устаревший модуль ядра, а плагин исходного кода системного вызова расширяет возможности Falco за пределы хостов Linux.
Насколько шумны правила по умолчанию?
Шумно на поместьях с необычным оборудованием, особенно во время развертывания; ожидайте реального цикла настройки (правил исключений для каждого пространства имен) в течение первых недель, прежде чем оповещения станут работоспособными, а не автоматическим фоновым шумом.
Как мы берём на себя инструменты безопасности с открытым исходным кодом
Честно: чаще всего к нам приходят после того, как команда попробовала справиться сама. Профессионалы по инструментам тестирования на самом деле продолжают работать: сканеры, снифферы, взломщики и веб-прокси объясняют, как они используются в реальных заданиях — команды, флаги, выходные данные и место каждого из них в методологии. Услуга Тесты на проникновение и Безопасность серверов Linux существует как раз затем, чтобы не изучать инструменты безопасности с открытым исходным кодом на своих ошибках: настройку, ночные сюрпризы и постоянное наблюдение мы берём на себя.