Перейти к содержимому


Фото
- - - - -

Engine not available

UNIX fileservers docker redos

  • Please log in to reply
6 ответов в этой теме

#1 lapshin

lapshin

    Newbie

  • Posters
  • 17 Сообщений:

Отправлено 06 Май 2022 - 17:30

Добрый день, уважаемые форумчане!

 

Прошу помочь разобраться, почему Engine не работает в контейнере docker, собранном на основе РЕД ОС 7.3.

 

Что делал.

 

1. Собрал chroot-окружение на РЕД ОС 7.3 и из него сделал docker-образ:

[root@... ~]# DIR=/docker-chroot
[root@... ~]# mkdir -p $DIR
[root@... ~]# rpm --rebuilddb --root=$DIR/var/lib/rpm

[root@... ~]# dnf -y reinstall --downloadonly --downloaddir . redos-release
[root@... ~]# rpm -ivh --root=$DIR --nodeps redos-release*.rpm
[root@... ~]# rpm --root=$DIR --import $DIR/etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT

[root@... ~]# dnf install -y --installroot=$DIR --setopt=tsflags='nodocs' --setopt=install_weak_deps=False dnf

[root@... ~]# cp /etc/resolv.conf $DIR/etc/resolv.conf
[root@... ~]# chroot $DIR /bin/bash << EOF
dnf clean all
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export LC_ALL="en_US.UTF-8"
ln -s /usr/share/zoneinfo/Asia/Yekaterinburg /etc/localtime
EOF

[root@... ~]# tar -C $DIR -c . | docker import - redos:7.3

2. Создал каталог в хостовой ОС, в который поместил файл agent.key и файл сертификата сервера управления Dr.Web drwcsd-certificate.pem.

 

3. Написал Dockerfile:

FROM redos:7.3
EXPOSE 2193/tcp 2193/udp
RUN echo -e "[drweb]\nname=DrWeb - 11.1\nbaseurl=https://repo.drweb.com/drweb/linux/11.1/\$basearch/\ngpgcheck=1\nenabled=1\ngpgkey=https://repo.drweb.com/drweb/drweb.key" > /etc/yum.repos.d/drweb.repo
RUN dnf -y install diffutils findutils rsyslog procps-ng
RUN dnf -y install drweb-esagent drweb-meshd drweb-se drweb-filecheck
RUN dnf clean all && rm -rf /tmp/* /var/tmp/*
COPY agent.key /etc/opt/drweb.com/drweb32.key
COPY drwcsd-certificate.pem .
COPY entrypoint.sh .
RUN sed -i -e 's/\r$//' entrypoint.sh && chmod +x entrypoint.sh
CMD ["/bin/bash”, “-c”, “entrypoint.sh"]

4. В файле entrypoint.sh написал:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/drweb/com/bin
/etc/init.d/drweb-configd start > /dev/null 2>&1
drweb-ctl reload
drweb-ctl esconnect 192.168.0.104 --Certificate drwcsd-certificate.pem > /dev/null 2>&1 &

Примечание: во время установки компонентов антивируса сообщений об ошибках и предупреждения не появляются;

также после установки антивируса почему-то drweb-configd автоматически не стартует, причину этого не понял, поэтому запускаю его "руками".

 

5. В "ньюбисах" центра управления появляется id контейнера. Назначаю ему папку, в настройках которой назначена работа в виде виртуального агента.

 

6. Из центра управления запускаю "лупу" проверки. Жду некоторое время. Записей о запущенном/завершенном сканировании не появляется.

 

7. Иду в командную строку контейнера, запускаю команду

drweb-ctl rawscan /etc/opt/drweb.com/ 

Результат

drweb-ctl_rawscan.jpg

 

8. Запускаю теперь

drweb-ctl scan /etc/opt/drweb.com/

Результат

drweb-ctl_scan.jpg

Прикрепленные файлы:



#2 amorozov

amorozov

    Member

  • Members
  • 163 Сообщений:

Отправлено 06 Май 2022 - 20:00

drweb-ctl reload
В этом нет необходимости
также после установки антивируса почему-то drweb-configd автоматически не стартует
При создании контейнера? Зачем бы это было нужно? Не знаю, как в РЕД ОС, в Debian-like, например, спец. механизм может ограничивать это: https://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/

Engine not available
Надо в логи смотреть. rawscan без параметров свой отдельный ScanEngine запускает

#3 amorozov

amorozov

    Member

  • Members
  • 163 Сообщений:

Отправлено 06 Май 2022 - 20:09

Какие настройки виртуального агента заданы? Если там udp://, то контейнер должен быть в одной сети с сервером

#4 lapshin

lapshin

    Newbie

  • Posters
  • 17 Сообщений:

Отправлено 11 Май 2022 - 08:44

Какие настройки виртуального агента заданы? Если там udp://, то контейнер должен быть в одной сети с сервером

добрый день!

спасибо за наводку)

поменял настройку на 

tcp://192.168.0.105:7090

сканирование заработало)

 

теперь надо как-то "балансировать" ip-адресами скан-серверов, потому как контейнеры в кубе по нодам разбегаются, а ноды работают на разных физ. серверах

можете ли дать наводку, какие lua-скрипты помогут решить задачу?)



#5 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 5 825 Сообщений:

Отправлено 11 Май 2022 - 10:51

Тут либо таки делать, чтобы броадкастом эти сервера находились, либо найти признак, по которому можно отличить контейнеры на разных нодах. IP-адрес, например. Тогда можно правилами членства раскидывать эти контейнеры по разным группам с разными настройками.


Семь раз отрежь – один раз проверь

#6 lapshin

lapshin

    Newbie

  • Posters
  • 17 Сообщений:

Отправлено 11 Май 2022 - 13:13

Тут либо таки делать, чтобы броадкастом эти сервера находились, либо найти признак, по которому можно отличить контейнеры на разных нодах. IP-адрес, например. Тогда можно правилами членства раскидывать эти контейнеры по разным группам с разными настройками.

добрый день!

спасибо за подсказку)

пока что остановился на следующем "компенсирующем" варианте:

1. в среде виртуализации настроил, что виртуальные машины скан-серверов не могут быть перемещены на другие физ. машины

2. у скан-серверов - статические ip-адреса

3. так как агент в контейнере приносит с собой IP-адрес не контейнера, а ноды, на которой он развернут, то:

а) составил табличку вида "ip-адрес ноды куба | ip-адрес скан-сервера на той же физ. машине, что и нода"

б) создал группы в количестве worker-нод куба

в) в каждой группе в правилах членства создал правило типа "если ip-адрес такой-то, то добавить станцию в эту группу при подключении станции"

г) еще раз применил это же правило, но уже для подключенных станций

г) в каждой группе в настройках адреса скан-сервера прописал tcp://<ip-адрес_скан.сервера_из_таблички>:7090

получится, что в группу попадут и нода и все запущенные на ней контейнеры



#7 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 5 825 Сообщений:

Отправлено 12 Май 2022 - 11:50

Надо только не забыть назначить группу первичной по правилам членства, дабы настройки приехали именно от неё.


Семь раз отрежь – один раз проверь



Also tagged with one or more of these keywords: UNIX, fileservers, docker, redos

Читают тему: 1

0 пользователей, 1 гостей, 0 скрытых