Sysdig Falco — инструмент для обнаружения аномалий и мониторинга активности в системе. Работает как на хосте, так и в контейнерах, если потребуется.
Состоит Falco из двух частей — модуль ядра falco_probe, и непосредственно сам демон, который обрабатывает собранную информацию, генерирует отчёты и т. д. Настройка выполняется из нескольких .yaml файлов. Мы на Falco в рамках этой заметки посмотрим в CentOS 7.
Установка и базовая настройка.
Для установки, выполняем одну команду. В процессе, скрипт доустановит заголовки ядра, необходимые для сборки модуля пакеты, соберёт модуль ядра и запустит его в работу:
# curl -s https://s3.amazonaws.com/download.draios.com/stable/install-falco | sudo bash
Как только процесс будет завершён, убеждаемся что модуль работает:
# lsmod | grep falco falco_probe 614337 0
Далее заглянем в основной конфигурационный файл — /etc/falco/falco.yaml Здесь мы можем указать какие файлы с правилами необходимо использовать при мониторинге, в каком формате выводить уведомления, куда выводить их и с каким приоритетом. По умолчанию, уведомления отправляются в stderr, stdout и syslog. Если мы хотим настроить запись уведомлений в отдельный лог, обращаем внимание на секцию:
САГА О ИГРАХ FALCO SOFTWARE
file_output: enabled: false keep_alive: false filename: ./events.txt
Для настройки уведомлений на email, спускаемся в нижнюю часть конфига и там находим соответствующую возможность:
Вносим нужные нам изменения, если это требуется, сохраняем файл. Для этой заметки я у себя ничего не менял, оставив дефолтные настройки.
Правила Sysdig Falco.
Посмотрим сразу на простой пример — правило, для мониторинга сетевой активности системных бинарников:
— rule: system_binaries_network_activity desc: network activity by system binaries that are not expected generate any network traffic condition: ((inbound or outbound) and (fd.sockfamily = ip)) and (fd.name != ») output: «Binary generate network traffic by (user=%user.name command=%proc.cmdline connection=%fd.name type=%evt.type)» priority: WARNING tags: [filesystem, network]
- Начинается правило с rule, далее указывается название, которое будет использоваться falco при обработке.
- desc — описание правила в свободной форме.
- condition — условие для срабатывания правила. Пишется с использованием синтаксиса sysdig.
- output — строка, которая будет записываться в лог.
- priority — приоритет для правила.
- tags — теги для правила.
О самом Sysdig я уже писал ранее, в отдельной заметке.
Мониторинг сетевой активности.
При установке Falco на сервер, в файле /etc/falco/falco_rules.yaml уже прописано некоторое количество правил, стоит заглянуть туда, прежде чем писать что-то своё. Наши кастомные правила мы будем записывать в /etc/falco/falco_rules.local.yaml.
Сохраним приведённое выше правило, перезапустим сервис:
# systemctl restart falco
Теперь просто пингуем любой домен, а затем проверяем /var/log/messages. Там у нас обнаружится следующее:
Oct 11 12:59:50 centos-2gb-hel1-1 falco: 12:59:50.343148030: Warning Binary generate network traffic by (user=root command=ping -c1 ya.ru connection=95.216.162.218:32820->213.133.98.98:53 type=connect) Oct 11 12:59:50 centos-2gb-hel1-1 falco: 12:59:50.343197498: Warning Binary generate network traffic by (user=root command=ping -c1 ya.ru connection=95.216.162.218:32820->213.133.98.98:53 type=sendto) Oct 11 12:59:50 centos-2gb-hel1-1 falco: 12:59:50.345198065: Warning Binary generate network traffic by (user=root command=ping -c1 ya.ru connection=95.216.162.218:32820->213.133.98.98:53 type=ioctl) Oct 11 12:59:50 centos-2gb-hel1-1 falco: 12:59:50.345205363: Warning Binary generate network traffic by (user=root command=ping -c1 ya.ru connection=95.216.162.218:32820->213.133.98.98:53 type=recvfrom)
Мониторинг файловой системы.
В стандартном наборе правил добавлены условия, позволяющие выполнить мониторинг изменений в директории /etc:
— rule: Write below etc desc: an attempt to write to any file below /etc condition: write_etc_common output: «File below /etc opened for writing (user=%user.name command=%proc.cmdline parent=%proc.pname pcmdline=%proc.pcmdline file=%fd.name program=%proc.name gparent=%proc.aname[2] ggparent=%proc.aname[3] gggparent=%proc.aname[4])» priority: ERROR tags: [filesystem]
Для проверки его работоспособности можно, например, модифицировать /etc/resolv.conf, а затем проверить /var/log/messages, где осядет запись:
Oct 11 13:16:46 centos-2gb-hel1-1 falco: 13:16:46.994403084: Error File below /etc opened for writing (user=root command=nano -w /etc/resolv.conf parent=bash pcmdline=bash file=/etc/resolv.conf program=nano gparent=sshd ggparent=sshd gggparent=systemd) Oct 11 13:16:48 centos-2gb-hel1-1 falco: 13:16:48.967124902: Error File below /etc opened for writing (user=root command=nano -w /etc/resolv.conf parent=bash pcmdline=bash file=/etc/resolv.conf program=nano gparent=sshd ggparent=sshd gggparent=systemd)
Мониторинг работы в контейнере.
Для этой заметки я работаю на тестовом сервере, так что ставим Docker, и запускаем простой контейнер с CentOS:
# yum install docker # systemctl restart docker # docker pull centos
Возьмём приведённое выше правило, и немного модифицируем его, для мониторинга сетевой активности в контейнере:
— rule: system_binaries_network_activity_docker desc: network activity by system binaries that are not expected generate any network traffic in container condition: ((inbound or outbound) and (fd.sockfamily = ip)) and fd.name != » and container output: «Binary generate network traffic from container %container.id by (user=%user.name command=%proc.cmdline connection=%fd.name type=%evt.type)» priority: WARNING tags: [container, network]
Добавим правило в /etc/falco/falco_rules.local.yaml, сохраним изменения, перезапустим сервис.
# systemctl restart falco
Теперь просто зайдём в контейнер, попингуем ya.ru и выйдем обратно в ОС на хосте.
В очередной раз проверим /var/log/messages, где по указанному нами правилу будут доступны предупрждения:
Oct 11 13:43:58 centos-2gb-hel1-1 falco: 13:43:58.887939368: Warning Binary generate network traffic from container 0a6ed013ee29 by (user=root command=ping -c1 ya.ru connection=172.17.0.2:49217->213.133.98.98:53 type=sendto) Oct 11 13:43:58 centos-2gb-hel1-1 falco: 13:43:58.888361623: Warning Binary generate network traffic from container 0a6ed013ee29 by (user=root command=ping -c1 ya.ru connection=172.17.0.2:49217->213.133.98.98:53 type=ioctl) Oct 11 13:43:58 centos-2gb-hel1-1 falco: 13:43:58.888382571: Warning Binary generate network traffic from container 0a6ed013ee29 by (user=root command=ping -c1 ya.ru connection=172.17.0.2:49217->213.133.98.98:53 type=recvfrom)
Вот так достаточно просто мы можем взять под контроль практически любое действие в системе, причём как на хосте, так и в контейнерах.
- Больше примеров и правил можно найти на соответствующей странице проекта.
- Ещё, очень рекомендую заглянуть на katacoda.com и пройти там короткий курс по работе в Sysdig Falco.
- Ещё несколько видео с примерами работы.
Источник: sysadmin.pm
Falco Graph Builder 2.5
При первом взгляде на ту или иную математическую функцию далеко не всегда понятно как должен выглядеть ее график. К счастью, существует немало специализированного программного обеспечения для их построения. Относится к таковому ПО и Falco Graph Builder.
Главная задача данной программы состоит в создании графиков различных математических функций на плоскости, а также в сохранении их для дальнейшего использования в различных документах.
Построение графиков функций
Создание графиков математических функций в Falco Graph Builder происходит непосредственно в главном окне. Все, что необходимо для этого сделать, — ввести значение функции в поле в нижней части экрана и выбрать параметры отображения: цвет линии и ее структуру.
В данной программе также не возникает абсолютно никаких затруднений с построением графиков тригонометрических функции. Процесс их создания ничем не отличается от алгебраических функций.
Кроме того, для большей наглядности имеется возможность заполнения некоторых областей на графике выбранным цветом.
Весьма удобной является возможность нанесения нескольких графиков на один лист.
Настроить параметры координатных прямых и самих графиков можно в отдельном небольшом окне.
Сохранение и печать документа
В Falco Graph Builder не предусмотрена возможность сохранения готовых документов в файлах с другими форматами, кроме стандартного для программы .fgr, однако вы можете скопировать получившийся график и сразу вставить его в какой-либо необходимый документ.
Также в программе имеется возможность вывода готового проекта на печать.
Достоинства
- Бесплатная модель распространения.
Недостатки
- Весьма ограниченный функционал;
- Отсутствие поддержки русского языка.
Когда вам необходимо быстро начертить какой-нибудь двумерный график той или иной математической функции, но вы не уверены в том, что сделаете это правильно, поможет Falco Graph Builder. Тот факт, что программа достойно справляется с этой задачей, и при этом является абсолютно бесплатной, заставляет обратить на нее внимание.
Источник: lumpics.ru
Мониторинг безопасности с Sysdig Falco
O Sysdig —инструменте для трассировки ядра — мы рассказывали два года назад. Совсем недавно, в мае этого года, разработчики Sysdig представили ещё один интересный продукт: систему обнаружения аномалий Falco.
Falco состоит из двух основных компонентов: модуля ядра sysdig_probe (на базе которого работает и Sysdig) и демона, записывающего собранную информацию на диск.
На основе заданных пользователем правил Falco следит за работой приложений и при обнаружении аномалий пишет информацию в стандартный вывод, syslog или указанный пользователем файл. Разработчики в своём блоге шутя называют Falco «гибридом snort, ossec и strace» и позиционируют его как простую IDS, почти не создающую нагрузки на систему.