Подробный гайд: удалённая установка агента администрирования Dr.Web на ALT Linux
Важно:
- Интерфейсы, пути и имена пакетов могут незначительно отличаться в зависимости от версии Dr.Web Enterprise Security Suite (ESS) и сборки ALT Linux. Данный гайд актуален для Dr.Web ESS 11.x–12.x и ALT Linux 10/11 (p10/p11). Всегда сверяйтесь с официальной документацией Dr.Web для вашей версии.
Оглавление
- Требования и подготовка
- Получение пакета агента
- Настройка бесшумной установки
- Удалённая установка через SSH
- Массовое развёртывание
- Проверка и регистрация
- Журналы и диагностика
- Сетевые требования и безопасность
- Типовые ошибки и решения
- Дополнительные рекомендации
1. Требования и подготовка
| Компонент | Требования |
|---|---|
| Сервер Dr.Web ESS | Развёрнут, доступен по сети, имеет действующую лицензию на управление Linux-агентами |
| Целевые хосты | ALT Linux 10/11 (p10/p11), systemd, открытый SSH (порт 22), права root или sudo |
| Сеть | TCP-порты 2193 (управление), 2194 (обновления) открыты от клиента к серверу ESS |
| Пакет агента | RPM-пакет drweb-ent-agent-<версия>-*.rpm или drweb-agent-<версия>-*.rpm |
| Доступ | Учётная запись с возможностью выполнения команд через SSH и sudo (или прямой root) |
2. Получение пакета агента
- В консоли Dr.Web ESS перейдите: Администрирование → Загрузка пакетов → Linux.
- Скачайте RPM-пакет для архитектуры целевых машин (
x86_64илиaarch64). - Сохраните файл в удобной директории на машине, с которой будете разворачивать агента (например,
~/drweb-deploy/).
Имя файла обычно выглядит так:
drweb-ent-agent-12.1.0-261231.x86_64.rpm
3. Настройка бесшумной установки
Dr.Web не запрашивает параметры во время установки RPM, если конфигурационный файл уже присутствует.
Создайте шаблон drweb-agent.conf:
mkdir -p ~/drweb-deploy/config
cat > ~/drweb-deploy/config/drweb-agent.conf << 'EOF'
[Server]
Address=192.168.1.10
Port=2193
UseSSL=yes
VerifySSL=no
[Agent]
Secret=YourSecretKeyFromESS
ComputerName=$(hostname)
Group=LinuxWorkstations
EOF
Замените:
192.168.1.10→ IP/DNS вашего сервера Dr.Web ESSYourSecretKeyFromESS→ секретный ключ из консоли ESS (Администрирование → Ключи безопасности)Group→ логическая группа в ESS (опционально)
Параметр
VerifySSL=noдопустим только в закрытых сетях. В production используйтеyesи разместите сертификат CA в/etc/drweb/ssl/ca.crt.
4. Удалённая установка через SSH
4.1. Установка на один хост
# Переменные
TARGET="192.168.1.100"
USER="admin"
RPM="drweb-ent-agent-12.1.0-261231.x86_64.rpm"
CONF="drweb-agent.conf"
# 1. Копируем конфиг и пакет
scp ~/drweb-deploy/config/$CONF $USER@$TARGET:/tmp/drweb-agent.conf
scp ~/drweb-deploy/$RPM $USER@$TARGET:/tmp/$RPM
# 2. Устанавливаем удалённо
ssh $USER@$TARGET << 'REMOTE_SCRIPT'
sudo cp /tmp/drweb-agent.conf /etc/drweb/drweb-agent.conf
sudo chown root:root /etc/drweb/drweb-agent.conf
sudo chmod 600 /etc/drweb/drweb-agent.conf
sudo rpm -i --replacefiles /tmp/*.rpm
sudo systemctl enable --now drweb-agent
sudo rm -f /tmp/drweb-agent.conf /tmp/*.rpm
echo "Агент установлен и запущен."
REMOTE_SCRIPT
4.2. Проверка статуса
ssh $USER@$TARGET "sudo systemctl status drweb-agent --no-pager"
ssh $USER@$TARGET "sudo journalctl -u drweb-agent -n 20 --no-pager"
5. Массовое развёртывание
Для сети из нескольких десятков/сотен хостов используйте parallel-ssh или Ansible.
Пример с parallel-ssh (pssh):
sudo apt-get install pssh # или yum/pacman в зависимости от дистрибутива админ-машины
# Список хостов: hosts.txt (по одному IP/hostname на строку)
cat > hosts.txt << EOF
192.168.1.100
192.168.1.101
192.168.1.102
EOF
# Скрипт установки (deploy.sh)
#!/bin/bash
set -e
sudo cp /tmp/drweb-agent.conf /etc/drweb/drweb-agent.conf
sudo chown root:root /etc/drweb/drweb-agent.conf
sudo chmod 600 /etc/drweb/drweb-agent.conf
sudo rpm -i --replacefiles /tmp/*.rpm
sudo systemctl enable --now drweb-agent
sudo rm -f /tmp/drweb-agent.conf /tmp/*.rpm
# Запуск
pssh -h hosts.txt -l admin -i "sudo cp /tmp/drweb-agent.conf /etc/drweb/drweb-agent.conf"
pssh -h hosts.txt -l admin -i "sudo chmod 600 /etc/drweb/drweb-agent.conf"
pscp.pssh -h hosts.txt -l admin ~/drweb-deploy/config/drweb-agent.conf /tmp/
pscp.pssh -h hosts.txt -l admin ~/drweb-deploy/$RPM /tmp/
pssh -h hosts.txt -l admin -i "bash /tmp/deploy.sh"
Для Ansible используйте модуль
yum/rpm+templateдля конфига.
6. Проверка и регистрация
- В консоли Dr.Web ESS: Устройства → Все устройства. Новый хост должен появиться в статусе
Не проверено→Проверка→Защищён.
2. На хосте проверьте связь с сервером:
sudo drweb-agent --status
sudo cat /var/log/drweb/agent.log | grep -i "connected\|registered"
3. Принудительное обновление политик:
sudo drweb-agent --update-config
7. Журналы и диагностика
| Путь | Назначение |
|---|---|
/var/log/drweb/agent.log |
Основной лог агента |
journalctl -u drweb-agent -f |
Логи systemd в реальном времени |
/etc/drweb/drweb-agent.conf |
Активная конфигурация |
/var/lib/drweb/ |
БД состояний, кэш, сертификаты |
Полезные команды:
# Проверка версии агента
rpm -q drweb-ent-agent
# Перезапуск с отладочным логом
sudo systemctl stop drweb-agent
sudo sed -i 's/LogLevel=.*/LogLevel=debug/' /etc/drweb/drweb-agent.conf
sudo systemctl start drweb-agent
8. Сетевые требования и безопасность
| Направление | Порт | Протокол | Назначение |
|---|---|---|---|
| Клиент → Сервер ESS | 2193 | TCP | Управление, отправка событий |
| Клиент → Сервер ESS | 2194 | TCP | Загрузка обновлений/баз |
| Клиент → Интернет (опц.) | 80/443 | TCP | Загрузка внешних сигнатур (если разрешено политикой) |
Рекомендации:
- Ограничьте доступ к портам 2193/2194 только для подсетей с агентами.
- Используйте
UseSSL=yes+VerifySSL=yesв продакшене. - Регулярно ротируйте
Secretчерез консоль ESS. - Не храните конфиги с
Secretв открытых репозиториях.
9. Типовые ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
Failed to connect to server |
Закрыт порт, неверный IP/DNS, брандмауэр | Проверьте telnet <server> 2193, правила firewalld/iptables |
Invalid secret |
Неверный ключ или рассинхронизация времени | Проверьте ключ в ESS, синхронизируйте время (chronyc makestep) |
RPM dependency failed |
Отсутствует glibc, openssl, systemd |
Установите зависимости: sudo apt-get install glibc openssl systemd |
Агент появляется, но Не защищён |
Политика не применена, нет лицензии | В ESS: Политики → Применить к группе, проверьте лицензию |
Permission denied при чтении конфига |
Неверные права/владелец | sudo chown root:root /etc/drweb/drweb-agent.conf && sudo chmod 600 |
10. Дополнительные рекомендации
Автоматизация обновлений агента:
Добавьте в cron или systemd-timer проверку новых RPM в локальном репозитории и автоматическое обновление через rpm -Uvh.
Интеграция с ALT Linux:
- Если в сети используется
apt-rpm, можно создать локальный репозиторий:
sudo apt-repo add local /path/to/rpm/dir
sudo apt-get install drweb-ent-agent
- Для ALT Server Edition убедитесь, что службы
systemd-journaldиrsyslogне конфликтуют с ротацией логов Dr.Web.
Резервное копирование политик:
Экспортируйте конфигурацию ESS перед массовым развёртыванием:
Администрирование → Резервные копии → Создать.