Linux
Агент для установки на устройства различными дистрибутивами Linux
Установка агента
Для ОС Linux установка и удаление агента производится через ansible роль. Роль и инструкция по настройке находится в репозитории.
Ansible - система управления конфигурациями, написанная на языке программирования Python, с использованием декларативного языка разметки для описания конфигураций. Применяется для автоматизации настройки и развёртывания программного обеспечения. Документация ansible: https://docs.ansible.com/
Для установки агента необходимо, чтобы на основной машине был доступ по SSH до всех целевых машин.
Создайте директорию, в которой будут находиться файлы для установки агента:
mkdir exploitdog
Создайте дочернюю директорию и скачайте ansible роль агента
mkdir exploitdog/rolescd exploitdog/rolesgit clone https://github.com/exploitdog/ansible-agent.git
Вернитесь в каталог exploitdog
cd ..
Создайте плейбук, например agent.yaml, со следующим содержимым:
## Указанные параметры в переменных, являются значениями по умолчанию- hosts: exampleroles:- ansible-agentvars:exploitdog_agent_url: "" ## URL-адрес, (обязательный параметр)exploitdog_agent_token: "" ## Токен агента (обязательный параметр)exploitdog_agent_proxy: "" ## URL прокси, с поддержкой HTTP CONNECTexploitdog_agent_duration: "8h" ## Частота сбора данных, '4h', '8h', '16h', '24h' (обязательный параметр)exploitdog_agent_enabled_collectors: [] ## Дополнительный список включенных коллекторов. Он добавляет коллекторы к тем, которые включены по умолчаниюexploitdog_agent_disabled_collectors: [] ## Список отключенных коллекторов.exploitdog_agent_log_type: "file" ## Тип журнала: "stdout", "file"exploitdog_agent_log_level: "info" ## Уровень журнала: "debug", "info", "warning", "error"
В поле exploitdog_agent_url
необходимо указать URL личного кабинета. Например, для облачного решения: https://agent.vms.solidlab.ru
Далее необходимо создать инвентарь и указать в нём параметры подключения для всех машин, на которые необходимо установить агент, в примере файл будет называться hosts:
[example]10.0.0.1 ansible_user=root ansible_port=2210.0.0.2 ansible_user=root ansible_port=2210.0.0.3 ansible_user=root ansible_port=22
Структура директории должна иметь следующий вид:
roles/ansible-agent/hostsagent.yaml
Теперь можно запустить установку:
ansible-playbook -i hosts agent.yaml
Удаление агента
Для удаления агента необходимо запустить плейбук с указанием переменной uninstall=true
:
ansible-playbook -i hosts agent.yaml --extra-vars='uninstall=true'
Поддерживаемые системы и дистрибутивы
Alpine Linux ≥2.2
Red Hat Enterprise 6, 7, 8
CentOS 6, 7, 8
Oracle Linux 5, 6, 7, 8
openSUSE Leap 42, 15
SUSE Enterprise Linux 11, 12, 15
Debian GNU/Linux 7, 8, 9, 10, 11, 12
Ubuntu *
Rocky Linux 8, 9
Astra Linux 1.5, 1.6, *1,7
РЕД ОС 7.3
Логирование
Для быстрой диагностики возможных проблем с передачей данных агентом предусмотрена система логирования. Полноту логирования данных и выбор варианта вывода логов пользователь может выбрать при конфигурации установочного файла агента или внеся изменение в файл конфигурации уже установленного агента. В случае, если при конфигурации агента пользователь выбрал логирование в файл, логи находятся по адресу: /var/log/exploitdog_agent/
Файл конфигурации
Параметры агента в момент его установки сохраняются в файле конфигурации config.json. Данный файл находится по адресу: /etc/exploitdog_agent/config.json