Приложения

Содержание раздела

Приложение A. Описание настроек, необходимых для использования внешней СУБД

Приложение B. Описание параметров системы оповещения

Приложение C. Параметры шаблонов системы оповещения

Приложение D. Спецификация сетевого адреса

Приложение Е. Управление репозиторием

Приложение F. Конфигурационный файл сервера

Приложение G. Параметры командной строки программ, входящих в состав ES

Приложение H. Переменные окружения, экспортируемые сервером

Приложение I. Использование скрипта начальной установки агента

Приложение A. Описание настроек, необходимых для использования внешней СУБД

При настройке обращения к СУБД для хранения и обработки централизованного журнала используются параметры, описываемые ниже для различных типов используемых СУБД.

Встроенная СУБД (IntDB) — см. табл. 4.

Таблица 4.

Имя Значение по умолчанию Описание
DBFILE dbinternal.dbs Путь к файлу базы данных
CACHESIZE 2048 Размер кэша базы данных в килобайтах
SYNCHRONOUS FULL Режим синхронной записи изменений в базе данных на диск: FULL - полностью синхронная запись на диск, NORMAL - синхронная запись критичных данных, OFF - асинхронная запись.

 

ODBC (только в версии для Windows) — см. табл. 5.

Таблица 5.

Имя Значение по умолчанию Описание
DSN drwcs Имя набора данных
USER drwcs Имя пользователя
PASS drwcs Пароль
TRANSACTION DEFAULT См. ниже

 

Возможные значения параметра TRANSACTION:
SERIALIZABLE
READ_UNCOMMITTED
READ_COMMITTED
REPEATABLE_READ
DEFAULT

Значение по умолчанию DEFAULT означает "использовать умолчание SQL-сервера". Подробнее см. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbctransaction_isolation_levels.asp

PostgreSQL (только Unix) — см. табл6.

Таблица 6.

Имя Значение по умолчанию Описание
host Unix-domain socket Хост сервера PostgeSQL
port   Порт сервера PostgeSQL или расширение имени файла сокета
dbname drwcs Имя базы данных
user drwcs Имя пользователя
password drwcs Пароль
options   Опции отладки/трассировки для отправки серверу
tty   Файл или tty для вывода при отладке
requiressl 0 1 для запроса установки SSL соединения или 0 для отсутствия запроса

 

Приложение B. Описание параметров системы оповещения

При настройке системы оповещения о событиях, связанных с работой программного комплекса, используются параметры, описываемые ниже для различных типов драйверов оповещателя.

Оповещения по электронной почте (драйвер drwemail) — см. табл. 7.

Таблица 7.

Параметр Значение по умолчанию Описание
HOST 127.0.0.1 Хост сервера SMTP
PORT 25 Порт сервера SMTP
USER   Пользователь SMTP
PASS   Пароль smtp
DEBUG NO Режим отладки
FROM drwcsd@localhost Адрес отправителя
TO   Адрес получателя

 

Оповещения с использованием Windows Messenger (драйвер drwwnetm), только в версии для Windows — см. табл. 8.

Таблица 8.

Параметр Значение по умолчанию Описание
TO admin Сетевое имя машины

Приложение C. Параметры шаблонов системы оповещения

Тексты сообщений (по электронной почте или с использованием Windows Messenger) генерируются компонентом сервера, именуемым процессором шаблонов, на основе файлов шаблонов.

Файл шаблона состоит из текста и переменных, заключенных в фигурные скобки. При редактировании файлов шаблонов можно использовать перечисленные ниже переменные.

        Процессор шаблонов не выполняет рекурсивных подстановок.

Переменные записываются в одной из следующих форм:

Например, пусть SYS.TIME равно "10:35:17.456". Тогда выражение {SYS.TIME:5} будет равно "10:35". Выражение {SYS.TIME:3:5} будет равно "35:17". Выражение {SYS.TIME:3:-12} будет равно "   35:17.456". Выражение {SYS.TIME:3:12} будет равно "35:17.456   ".

Возможно использование замены (подстановки) при обработке переменных, например выражение {SYS.TIME/10/99} (при вышеописанных условиях) будет равно "99:35:17.456", а выражение {SYS.TIME/10/99/35/77} будет равно "99:77:17.456".

Ограничений для числа пар подстановки не существует.

Системные переменные:

Переменные окружения имеют те же имена, что и переменные, заданные в окружении с добавлением префикса ENV. (префикс заканчивается на точку).

Общие переменные сообщений, агент:

Общие переменные сообщений, подсистема обновлений сервера:

Переменные сообщений, по сообщениям (для агента)

Installation_OK: переменные отсутствуют

Installation_Bad:

Awaiting_Approval: переменные отсутствуют

Newbie_Not_Allowed: переменные отсутствуют

Statistics:

Connection_Terminated_Abnormally:

Processing_Error:

Update_Failed:

Update_Wants_Reboot:

Not_Seen_For_A_Long_Time:

Rejected_Newbie:

Approved_Newbie:

AutoApproved_Newbie: переменные отсутствуют.

Administartor_Authorization_Failed:

Unknown_Administartor:

Переменные сообщений, по сообщениям (для подсистемы обновлений сервера)

Srv_Repository_UpToDate: переменные отсутствуют.

Srv_Repository_UpdateFailed:

Srv_Repository_Cannot_flush: переменные отсутствуют.

Srv_Repository_Frozen: переменные отсутствуют.

Srv_Repository_Load_failure:

Srv_Repository_Update:

        Переменные последнего шаблона не включают файлы, помеченные "игнорируемые при оповещениях" в конфигурационном файле продукта, см. Приложение E3.

Переменные сообщения сервера о близком окончании срока действия лицензии

Key_Expiration:

Приложение D. Спецификация сетевого адреса

D1. Введение

В данной спецификации приняты следующие обозначения:

D2. Общий формат адреса

Сетевой адрес имеет следующий вид:

[<protocol>/][<protocol-specific-part>]

По умолчанию <protocol> имеет значение tcp, значения по умолчанию <protocol-specific-part> определяются приложением.

Адреса семейства IP:

<interface>::= <ip-address>
<ip-address>
может быть именем DNS или IP-адресом, разделенным точками (напр. 127.0.0.1).

<socket-address>::=<interface>:<port-number>
<port-number>
должен быть задан десятичным числом.

Адреса семейства IPX:

<interface>::=<ipx-network>.<mac-address>
<ipx-network>
должен содержать 8 шестнадцатеричных чисел, <mac-address> должен содержать 12 шестнадцатеричных чисел.

<socket-address>::=<interface>:<socket-number>
<socket-number>
должен содержать 4 шестнадцатеричных числа.

Ориентированный на соединение протокол:

<protocol>/<socket-address>
где <socket-address>
задает локальный адрес сокета для сервера или удаленный сервер для клиента.

Примеры:

tcp/127.0.0.1:2371
означает протокол tcp, порт 2371 на интерфейсе 127.0.0.1.

localhost:2371
то же.

tcp/:9999
значение для сервера: интерфейс по умолчанию, зависящий от приложения (обычно все доступные интерфейсы), порт 9999; значение для клиента: связь с хостом по умолчанию, зависящим от приложения (обычно localhost), порт 9999.

tcp/
протокол tcp, порт по умолчанию.

spx/00000000.000000000001:2371

означает сокет spx loopback 0x2371.

Ориентированный на дейтаграмму протокол:

<protocol>/<endpoint-socket-address>[-<interface>]

Примеры:

udp/231.0.0.1:2371
означает использование малтикастной группы 231.0.0.1:2371 на зависящем от приложения интерфейсе по умолчанию.

udp/
  зависящий от приложения интерфейс и конечная точка

udp/255.255.255.255:9999-myhost1
использование широковещательных сообщений на порт 9999 на интерфейсе myhost1.

D3. Адреса Dr.Web ® Enterprise Server

1) прием соединений:

<connection-protocol>/[<socket-address>]

По умолчанию, в зависимости от <connection-protocol>:

2) служба обнаружения сервера:

<datagram-protocol>/[<endpoint-socket-address>[-<interface>]]

По умолчанию, в зависимости от <datagram-protocol>:

D4. Адреса Dr.Web ® Enterprise Agent/Installer

1) прямое соединение с сервером:

[<connection-protocol>/][<remote-socket-address>]

По умолчанию, в зависимости от <connection-protocol>:

2) поиск сервера <drwcs-name>, использующий указанное семейство протоколов и конечную точку.

[<drwcs-name>]@<datagram-protocol>/[<endpoint-socket-address>[-<interface>]]

По умолчанию, в зависимости от <datagram-protocol>:

Приложение Е. Управление репозиторием

E1. Введение

Репозиторий антивирусного сервера предназначен для получения и распространения обновлений компонентов ES.

Для этой цели репозиторий оперирует наборами файлов (продуктами). Каждый продукт размещается в отдельном подкаталоге каталога repository, расположенного в каталоге var, который, при установке по умолчанию, является подкаталогом корневого каталога сервера (подробнее см. Приложение G). Функции репозитория и управление ими осуществляются для каждого продукта независимо.

Для управления обновлением репозиторий использует понятие ревизии продукта. Ревизия представляет собой корректное на определенный момент времени состояние файлов продукта (включает имена файлов и контрольные суммы) и характеризуется уникальным номером. Репозиторий производит синхронизацию ревизий продукта в следующих направлениях:

(1) на антивирусный сервер с серверов ВСО Dr.Web по протоколу HTTP или протоколу межсерверной синхронизации

(2) между различными антивирусными серверами в многосерверной конфигурации по протоколу межсерверной синхронизации

(3) антивирусного сервера на рабочие станции

Репозиторий предоставляет пользователю возможность настраивать следующие параметры:

В настоящее время в поставку входят следующие продукты:

Управление функциями репозитория для продуктов осуществляется при помощи следующих расположенных в корне каталога продукта файлов:

       При настройке межсерверных связей (см. п. 6.6) для зеркалирования продуктов следует иметь в виду, что конфигурационные файлы не являются частью продукта и не обрабатываются корректно системой зеркалирования. Во избежание сбоя в работе системы обновления:

        После редактирования файлов конфигурации и состояния требуется перезапуск сервера.

E2. Синтаксис файла конфигурации .config

Файл конфигурации представляет собой последовательность слов, которые отделяются друг от друга разделителями. Разделителем является любая последовательность следующих символов: пробел, табуляция, возврат каретки, перевод строки.

Слово, начинающееся с символа ; обозначает начало комментария, который продолжается до конца строки.

Примеры:

ghgh 123 ;это комментарий

123;это;не;комментарий - необходим разделитель в начале.

Слово, начинающееся с символа # обозначает начало потокового комментария; остаток слова задает маркер конца комментария.

Пример.

123 456 #COMM С этого места комментарийCOMM он уже закончился

Для включения в слово любых символов используется префикс ' - специальный символ-разделитель для данного слова (иными словами, именно этот символ будет считаться разделителем, завершающим данное слово).

Пример:

xy123 '*Такое вот слово*УжеДругое

        Если слово начинается с одного из символов ';#, оно обязательно должно ограничиваться специальными символами-разделителями, как указано выше.

Файл .config состоит из комментариев и инструкций. Порядок следования инструкций несущественен.

        Формат инструкций конфигурационных файлов предполагает различение верхнего и нижнего регистра букв.

        Репозиторий различает регистр букв, независимо от файловой системы и ОС, под управлением которых работает сервер.

Смысл инструкций пояснен в п. E3.

При описании формата инструкций используются следующие обозначения:

[description  ]1-

[sync-with{
         [http{       [ ]1= [auth ]1- }]0+
         [http-proxy{ []1= [auth ]1- [http{...}]0+ }]0+
       }]1-

[sync-delay{    []0+ }]1-
       [sync-only{     []0+ }]1-
       [sync-ignore{   []0+ }]1-

[state-only{    []0+ }]1-
       [state-ignore{  []0+ }]1-

[notify-ignore{ []0+ }]1-
       [notify-only{   []0+ }]1-
       [notify-off{    [update]1- [delay]1- [flushfail]1- [loadfail]1- }]1-

E3. Значение инструкций файла .config

Инструкция description задает имя продукта, отображаемое в консоли. Если эта инструкция отсутствует, в качестве имени продукта используется имя соответствующего каталога продукта.

Пример:

description '"Dr.Web (R) Enterprise Agent"

Инструкция sync-with задает перечень http-серверов и http-прокси серверов для обновления. Параметр name задает доменное имя или IP-адрес. Конструкция :port может отсутствовать, в этом случае по умолчанию номером порта считается 80 для http-сервера и 3128 для прокси-сервера.

Сервера в списке запрашиваются последовательно, при успехе обновления процедура опроса завершается.

        В текущей версии поддерживается только базовая HTTP-авторизация и Proxy-HTTP авторизация.

        Постоянные http-редиректы (301) кэшируются в памяти до перезагрузки сервера.

Пример:

 sync-with{
  http-proxy{ gateway:8080 auth scott:ivenhoe
     http{ esuite.drweb.com /update/a/drwagntd/ }
  }
 }

Инструкция sync-only явно задает множество имен файлов (заданных как регулярными выражениями в простой форме, как показано в данном разделе, так и в полной форме qr{}, как показано в 6.2.6), подлежащих синхронизации. Если инструкция отсутствует, по умолчанию синхронизации подлежит все содержимое каталога (за исключением файлов .id и .config).

Пример:

sync-only{^common/drw.*vdb$ }
предписывает обновлять только вирусные базы для продукта "антивирусный агент".

Инструкция sync-ignore, напротив, явно задает множество файлов, не подлежащих синхронизации.

       Если в продукт локально добавлены файлы (не содержащиеся в оригинале) и инструкция sync-only не используется, добавляемые файлы должны быть перечислены в sync-ignore, иначе они будут удалены при синхронизации.

Инструкция sync-delay задает список файлов, при изменении которых переключение продукта на новую ревизию запрещается. Репозиторий продолжает распространение старой ревизии, синхронизация более не осуществляется (состояние продукта "замораживается"). Если пользователь сочтет принятую ревизию пригодной для распространения, он должен отредактировать файл состояния .id и перезапустить сервер (см. п. E4).

Примеры.

Автоматическое распространение новых ревизий запрещается:

sync-delay{ .* } ; никакой автоматики, все буду тестировать лично

Запрещается автоматическое распространение ревизий, в которых обновлены исполняемые файлы:

sync-delay{ .*\.exe$ .*\.dll$ }

Инструкции state-only и state-ignore аналогичным образом задают (ограничивают) список файлов, подлежащих распространению.

Пример.

Для продукта "антивирусный агент":

state-ignore{
  ; заметим, что если перечисленные файлы уже были распространены на
  ; агенты, они будут ими автоматически удалены как только сменится
  ; номер ревизии (с точки зрения агента эти файлы больше в продукт не входят)
  ^common/drw.*\.txt$
}

sync-ignore{
 ; заметим, что если перечисленные файлы уже присутствуют в репозитории,
 ; они по-прежнему подлежат распространению.
 ; поэтому их надо удалить оттуда или перечислить в state-ignore{ } или
 ; произвести полную синхронизацию (см. E4) в данной конфигурации

;^common/ru-.*\.dwl$   это нам нужно
 ^common/de-.*\.dwl$
 ^common/pl-.*\.dwl$
 ^common/es-.*\.dwl$
 ^win/de-.*\.*
 ^win/pl-.*\.*
 ^win-9x\.*
}

Инструкции группы notify позволяют настроить систему оповещения для отдельных продуктов (настройка системы оповещения в целом описана в п. 6.5.4.2).

Репозиторий может генерировать следующие типы оповещений:

По умолчанию все типы оповещений разрешены.

Инструкция notify-off позволяет запретить конкретные типы оповещений для данного продукта.

Инструкции notify-ignore и notify-only позволяют ограничить или явно задать список файлов, при изменении которых посылается оповещение типа update.

        Если в файле одновременно встретятся хотя бы две из числа инструкций sync-only, sync-ignore или sync-delay, используется следующее правило:

Аналогично решается вопрос об очередности применения state-only и state-ignore.

E4. Файлы .id

Файл состояния продукта -- это текстовый файл, в котором сервер хранит номера ревизий продукта. В обычном состоянии файл содержит единственное число (текущий номер ревизии). Синхронизация продукта производится, только если номер ревизии больше текущего, и происходит в четыре фазы :

(1) в файл .id записываются 2 числа:
новая_ревизия старая_ревизия
Таким образом помечается, что продукт находится в незавершенной транзакции из старая_ревизия в новая_ревизия.

(2) Получаются по HTTP все изменившиеся файлы и помещаются в cоответствующие подкаталоги c именами вида оригинальное_имя_файла.новая_ревизия

(3) в файл .id записывается результат транзакции.

Это может быть обычное состояние, но уже с новым номером, или "заморожен"-состояние (frozen) в результате срабатывания правила sync-delay:
новая_ревизия старая_ревизия frozen

(4) Если состояние не "заморожен", новые файлы замещают оригинальные.

При перезапуске сервера после анализа файла .id незавершенная транзакция "откатывается", в противном случае выполняется (4).

E5. Примеры управления репозиторием с модификацией файла состояния

Полная синхронизация продукта:

        Ревизия 0 имеет специальное значение, поскольку при ней запрещается распространение, поэтому "пустое" состояние продукта не тиражируется на агенты.

Запрет распространения:

Переход из "заморожен"-состояния на новую версию:

Откатка из "заморожен"-состояния на старую версию:

        При дальнейших попытках синхронизации с прежней конфигурацией и на ту же самую "новую ревизию", репозиторий опять перейдет в "заморожен"-состояние. Откат имеет смысл при появлении подходящей ревизии (например, успешно прошедшей испытательный стенд), для ее получения или при изменении конфигурации.

Приложение F. Конфигурационный файл сервера

Конфигурационный файл сервера drwcsd.conf по умолчанию располагается в подкаталоге etc корневого каталога сервера. При запуске сервера при помощи параметра командной строки может задаваться нестандартное расположение и наименование конфигурационного файла (подробнее см. Приложение G).

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

В состав слова могут входить, не разрывая его, специальные последовательности из двух символов, начинающиеся с &. Они интерпретируются следующим образом:

Символ &, стоящий последним в строке - то же, что и &n.

        Таким образом, обычный символ & (не используемый для целей задания специальной последовательности) должен удваиваться.

Комментарии начинаются со знака ; и продолжаются до конца строки.

Настройки сервера задаются в конфигурационном файле в виде инструкций, каждая из которых представляет собой одно слово. За инструкцией могут следовать параметры инструкции (одно или несколько слов).

Ниже описываются возможные инструкции и их параметры. Порядок следования инструкций в файле несущественен. В угловых скобках -- параметры (фрагменты параметров), задаваемые пользователем.

Name <имя>

Определяет название (имя) сервера (кластера) на которое он будет откликаться при поиске сервера агентом или консолью. Значение по умолчанию -- пустая строка ("") означает использование названия компьютера.

Threads <число>

Число нитей сервера, обслуживающих клиентов. Должно быть не меньше 10. По умолчанию - 10. Рекомендуется удвоить или утроить этот параметр при числе станций больше 100.

DBPool <число>

Число соединений с сервером базы данных, минимум 5. По умолчанию 5. Рекомендуется удвоить или утроить этот параметр при числе станций больше 100.

Newbie <режим>

Режим доступа новых станций, может принимать значения Open, Close или Approval (по умолчанию Approval). Подробнее см.п.6.5.2.1. UnAuthorizedToNewbie <режим>

Режим может принимать значения либо Yes - это означает, что станции, не прошедшие авторизацию (например, в случае разрушения базы данных), будут автоматически переводиться в состояние новичков, либо No (по умолчанию) что означает нормальный режим работы.


WEBStatistics "Interval=число
               Server=адрес_сервера
               URL=каталог
               ID=идент_клиента
               User=пользователь
               Password=пароль
               Proxy=прокси-сервер
               ProxyUser=польз_прокси
               ProxyPassword=пароль_прокси"
Описывается веб-сервер, на котором ES будет публиковать свою статистику по найденым вирусам.

Интервал публикации задается в минутах, по умолчанию 30.

Адрес сервера по умолчанию stat.drweb.com:80.

URL по умолчанию /update.

ID -- идентификатор клиента (по умолчанию вычисляется из пользовательского серверного ключа enterprise.key).

Поля User и Password описывают авторизацию на веб-сервере. остальные - прокси-сервер и авторизация на нем. По умолчанию поля пусты (авторизация не требуется).

Для настройки доступа к информации, собранной на сервере статистики, обращайтесь в службу поддержки.

Encryption <режим>

Режим шифрования трафика. Разрешенные значения Yes, No, Possible (по умолчанию Yes). Подробнее см.п.6.5.2.2.

Compression <режим>

Режим компрессии трафика. Разрешенные значения Yes, No, Possible (по умолчанию Possible). Подробнее см.п.6.5.2.2.

Database <DRIVER> from <PATH> using <PARAMETERS>

Определение базы данных. DRIVER -- наименование драйвера базы, PATH -- путь, откуда грузить драйвер, PARAMETERS -- параметры установления связи с сервером БД. Подробнее см.п.6.5.2.3.

        Данная инструкция может использоваться в конфигурационном файле только однократно.

Alert <DRIVER> from <PATH> using <PARAMETERS>

Определение "оповещателя". DRIVER -- наименование драйвера оповещателя, PATH -- путь, откуда грузить драйвер, PARAMETERS -- параметры оповещателя. Подробнее см.п.6.5.2.4.

        Данная инструкция может использоваться в конфигурационном файле только однократно.

        В данной и следующей инструкции параметры в поле using разделяются пробелами. Название параметра отделяется от значения символом = (который не должен быть окружен пробелами). Если параметр может иметь более одного значения, они отделяются друг от друга символами |. Если в значении параметра встречаются символы =, | или пробел, они заменяются на последовательности &&e, &&l, &&s соответственно.

transport <NAME> <STREAM> <DATAGRAM>

Определение транспортных протоколов и привязка их к сетевым интерфейсам. NAME -- имя сервера (кластера), заданное как в инструкции name (см. выше), если задана пустая строка, берется из name. STREAM (например, tcp/), DATAGRAM (например, udp/) имеют формат, описанный в Приложении D.

Disable Message <сообщение>

Запретить отправлять сообщения определенного типа, допустимые значения параметра - тип сообщения, полный перечень всех типов сообщений можно найти в каталоге var/templates.

Disable Protocol <протокол>

Запретить использование одного из серверных протоколов, допустимые значения AGENT, SERVER, INSTALL, CONSOLE. В конфигурационном файле по умолчанию имеется инструкция, запрещающая протокол SERVER. Подробнее см.п.6.5.2.

Приложение G. Параметры командной строки программ, входящих в состав ES

G1. Введение

Параметры командной строки имеют более высокий приоритет, чем настойки по умолчанию или иные постоянные настройки (заданные в конфигурационном файле сервера, реестре Windows и т.п.). В ряде случаев заданные при запуске параметры также переопределяют постоянные настройки. Такие случаи описаны ниже.

Часть параметров командной строки имеют ключевую форму -- начинаются с дефиса. Такие параметры также называются ключами.

Многие ключи могут быть представлены в различных, эквивалентных формах. Так, ключи, которые подразумевают логическое значение (да/нет, запретить/разрешить), имеют отрицательный вариант, например ключ -admin-rights имеет парный -no-admin-rights с противоположным значением. Они же могут даваться с явным указанием значения, например, -admin-rights=yes и -admin-rights=no

        Синонимами значения yes являются значения on, true, OK. Синонимами no являются off, false.

Если значение ключа содержит пробелы или табуляцию, весь параметр нужно заключить кавычки, например: "-home=c:\Program File\DrWeb Enterprise Agent"

При описании синтаксиса параметров отдельных программ необязательная часть заключается в квадратные скобки [...].

        Названия ключей могут быть сокращены (отбрасыванием последних букв), если при этом сокращенное название не совпадает с начальной частью какого-либо другого ключа.

G2. Интерфейсный модуль агента

Интерфейсный модуль агента запускается для каждого пользователя, интерактивно зарегистрированного на компьютере. На компьютерах под управлением Windows NT/2000/XP/2003 работает с правами данного пользователя. Для функционирования агента требуется, чтобы оболочкой пользователя был стандартный Обозреватель Windows или другая полностью с ним совместимая программа.

Синтаксис команды запуска интерфейсного модуля:

drwagnui [параметры_ключи]

Допускаются следующие ключи:

-admin-rights или -no-admin-rights -- разрешить или запретить административный режим работы на Windows 95/98/ME (то есть, считать ли пользователя, работающего на этих версиях, администратором). Администратор может, в частности, менять настройки агента. Для Windows NT/2000/XP/2003 это определяется системой прав ОС. По умолчанию подразумевается запрещение.

-delay=<число> -- через сколько минут показывать приветственное сообщение пользователю после загрузки. По умолчанию 2 минуты, значение -1 означает отключить приветствие.

-help -- показать справку по формату команды. При работе под управлением Windows 95/98/Me справка будет показана в окне, под Windows NT/2000/XP/2003 будет записана в Event Log (для просмотра используйте Event Viewer).

G3. Агент

Постоянные настройки агента (как параметры, так и список серверов, к которым может подключаться агент) хранятся в реестре Windows в ветви HKEY_LOCAL_MACHINE\SOFTWARE\IDAVLab\Enterprise Suite\Dr.Web (R) Enterprise Agent\Settings, причем для параметров, заданных ключами, наименование параметра совпадает с названием ключа.

При запуске агента с явным указанием каких-либо параметров заданные настройки не только используются в текущем сеансе, но также записываются в реестр и становятся постоянными настройками. Таким образом, если однократно запустить агент со всеми нужными и параметрами, при последующих запусках можно не указывать никакие параметры.

На компьютерах под управлением Windows NT/2000/XP/2003 агент запускается системой как служба и управляется через Панель управления. На компьютерах под Windows 95/98/Me агент запускается как служба Windows 95/98/Me и управление им невозможно.

Синтаксис команды запуска:

drwagntd [параметры-ключи] [серверы]

Допускаются следующие ключи:

-home=<каталог> -- каталог, в который установлен агент. Если ключ не задан, подразумевается каталог, в котором находится исполняемый файл агента.

-key=<открытый_ключ_сервера> -- файл открытого ключа сервера, по умолчанию drwcsd.pub в каталоге, заданном -home.

-drweb-key=<лицензионный_ключ> -- лицензионный пользовательский ключ. Данный ключ будет использоваться клиентским ПО при длительном отсутствии связи с сервером (больше суток). При наличии связи с сервером данный ключ не нужен. По умолчанию -- произвольный действительный ключ в каталоге, заданном параметром -home.

-crypt=<режим> -- режим шифрования трафика с сервером. Допустимые значения yes, no, possible, по умолчанию yes.

-compression=<режим> -- режим сжатия трафика с сервером. Допустимые значения yes, no, possible, по умолчанию possible.

-log=<файл_протокола> -- файл протокола работы агента, по умолчанию протокол не ведется.

        Допускается несколько ключей -log с различными именами файлов, см. ниже описание ключа -verbosity.

-rotate=<количество,размер> -- режим ротации протокола работы агента. По умолчанию 10,10m, что означает хранить 10 файлов по 10 мегабайт. Если вместо m указать после второго числа k, размер будет задан в килобайтах, если не задавать никакой буквы -- в мегабайтах. Можно также использовать специальный формат none (-rotate=none) -- это означает "не использовать ротацию, а писать всегда в один и тот же файл, который может достигать любого размера".

При использовании режима ротации имена файлов протокола порождаются следующим образом. Пусть имя файла протокола (см. выше ключ -log) задано file.log. Тогда

-verbosity=<уровень_подробности> -- уровень детализации протокола. По умолчанию INFO, допустимы также ALL, DEBUG3, DEBUG2, DEBUG1, DEBUG, TRACE3, TRACE2, TRACE1, TRACE, INFO, NOTICE, WARNING, ERROR, CRIT. Значения ALL и DEBUG3 -- синонимы.

        Данный ключ определяет степень подробности протоколирования в файл, заданный следующим после него ключом -log (см. выше). В одной команде может быть несколько ключей данного типа.

-retry=<количество> -- число попыток поиска сервера (если используется поиск) до сообщения о неуспехе. По умолчанию 3.

-timeout=<время> -- таймаут одной попытки поиска в секундах. По умолчанию 5.

-spiderstat=<интервал> -- интервал в минутах отсылки на сервер статистики SpIDer Guard ®, по умолчанию 30. Статистика будет отсылаться на сервер через такие интервалы при условии, что за это время она изменилась.

-help -- выдать справку по формату команды и ее параметрам. Аналогично -help интерфейсного модуля, см. G2.

-control=<действие> -- управление состоянием службы агента. Допустимые действия:

серверы -- список серверов. По умолчанию drwcs@udp/231.0.0.1:2371, что означает искать сервер drwcs, используя малтикастные запросы на группу 231.0.0.1 порт 2371.

G4. Сетевой инсталлятор

Формат команды запуска:

drwinst [ключи] [переменные] [серверы]

Допустимые ключи:

-key=drwcsd.pub -- имя и расположение файла открытого ключа сервера, по умолчанию drwcsd.pub в каталоге, заданнном ключом -home (см. ниже).

-uninstall -- деинсталляция пакета на станции с помощью выполнения скрипта деинсталляции. (По умолчанию имя скрипта uninstall.rexx, располагается в корневом каталоге станции, другие случаи см. ключ -script). При отсутствии данного ключа (эквивалентно заданию -no-uninstall) производится инсталляция.

-script=<имя_скрипта> -- задает файл с выполняемым скриптом. Значение по умолчанию зависит от наличия ключа -uninstall (при этом по умолчанию будет uninstall.rexx, при инсталляции значение по умолчанию preinstall.rexx).

        Отсутствие файла preinstall.rexx в процессе инсталляции не является ошибочной ситуацией.

-override -- попытаться выполнить повторную установку ПО. Попытка будет неуспешной, если какие-либо компоненты запущены. Рекомендуется использовать последовательность "деинсталляция -- повторная нормальная инсталляция. Отсутствие данного ключа эквивалентно заданию -no-override.

        Если сетевой инсталятор запущен в режиме нормальной инсталляции (т.е. без ключей -uninstall и -override) на станции, на которой уже была проведена установка, это не приводит к выполнению каких либо действий. Инсталлятор завершается с признаком, свидетельствующим об успешном проведении инсталляции.

-interactive -- интерактивный режим. Отсутствие ключа эквивалентно заданию -no-interactive.

-quiet -- в интерактивном режиме не использовать диалоги (не предлагать перезагрузку и т.п.)

-retry=<количество> -- аналогично агенту.

-timeout=<время> -- аналогично агенту.

-compression=<режим> -- режим сжатия трафика с сервером. Допустимые значения yes, no, possible, по умолчанию no.

-home=<каталог> -- каталог установки. По умолчанию "Program Files\DrWeb Enterprise Suite" на системном диске.

-log=<каталог_протокола> -- каталог для протоколов установки и удаления. По умолчанию подкаталог logs каталога, задаваемого -home для установки, или пользовательский каталог для хранения временных файлов (определяется операционной системой).

        Благодаря использованию каталога протоколирования, администратор может создать каталог на общем ресурсе. При этом все протоколы станций окажутся в этом каталоге, что удобно для анализа. Имена файлов протокола формируются автоматически с использованием GUID и названия компьютера.

-verbosity=<уровень_подробности> -- уровень детализации протокола (аналогично агенту). По умолчанию WARNING.

-platforms=p1,p2,p3... - порядок загрузки платформ (по умолчанию стандартный, см. Приложение I).

-help -- выдать справку. Аналогично интерфейсному модулю агента.

Переменные задаются после ключей в виде списка, формат элементов следующий:

<переменная>=<значение>

Две наиболее важных переменных:

spider.install=no -- не устанавливать SpIDer Guard ®. При отсутствии переменной -- устанавливать.

spiderml.install=no -- аналогично, не устанавливать SpIDer Mail ®.

agent.id=<идентификатор>,
agent.password=<пароль>>/FONT> -- идентификатор и пароль рабочей станции; если эти параметры заданы, станция подключается не как "новичок", а с указанными параметрами.

Список серверов полностью аналогичен описанному для агента.

G5. Dr.Web ® Enterprise Server

Существует несколько вариантов команд запуска сервера, для удобства описываемые отдельно.

G5.1.

drwcsd [ключи] -- запустить сервер (ключи подробнее описываются ниже).

G5.2.

drwcsd [ключи] initdb agent.key [<скрипт_БД> [<ini_файл> [<пароль>]]] -- инициализация базы данных.

agent.key -- лицензионный ключ Dr.Web ® (указывать обязательно).

<скрипт_БД> -- скрипт инициализации БД. Специальное значение - ("минус") означает не использовать скрипт.

<ini_файл> -- предварительно сформированный файл в формате drweb32.ini, который будет определять конфигурацию компонентов ПО Dr.Web ® по умолчанию (то есть для группы Everyone). Специальное значение - ("минус") означает не использовать такой файл.

<пароль> -- начальный пароль администратора сервера (его имя admin). По умолчанию root.

        Знак "минус" может опускаться, если следующие за ним параметры отсутствуют.

G5.3.

drwcsd [ключи] updatedb <скрипт> -- произвести какую-либо манипуляцию с базой данных (например, апдейт при смене версии), выполнив SQL-операторы из файла <скрипт>.

G5.4.

drwcsd verifydb - запустить сервер для проверки базы данных (по окончании проверки сервер завершает работу).

G5.5.

drwcsd upgradedb каталог - запустить сервер для обновления структуры базы данных при переходе на новую версию (см. каталог var/update-db)

G5.6.

drwcsd exportdb файл - экспорт базы данных в указанный файл

G5.7.

drwcsd importdb файл - импорт базы данных из указанного файла (старое содержимое БД затирается)

G5.8.

drwcsd backup [каталог [количество]] - создать резервную копию критичных данных сервера (база данных, серверный лицензионный ключевой файл, закрытый ключ шифрования) в указанный каталог. Пользователи версии 4.32, переход ящие на версию 4.33 и сохранившие пару открытый и закрытый ключ шифрования, могут воспользоваться утилитой drwsign (см. G7) и создать закрытый ключ нового формата - комплекс закрытого и открытого ключа, из которого всегда можно извлечь открытый ключ. Можн о задать максимальное количество хранимых резервных копий данных.

G5.9.

drwcsd syncrepo - произвести синхронизацию репозитория с ВСО. Не рекомендуется использовать данную команду, если у сервера есть задания на автоматическое обновление. В этом случае сервер лучше остановить.

G5.10. Форматы команды, доступные только под Windows

drwcsd [ключи] install -- установить службу сервера в системе.

drwcsd uninstall -- удалить службу сервера из системы.

drwcsd start -- запустить службу сервера.

drwcsd stop -- нормально завершить службу сервера.

drwcsd kill -- аварийно завершить службу сервера (в случае, если нормально не удалось). Данную команду не рекомендуется использовать без крайней необходимости.

drwcsd restart -- сделать полный перезапуск службы сервера (выполняется как пара stop и затем start).

drwcsd reconfigure -- перечитать конфигурационный файл и перезапуститься (выполняется быстрее -- без старта нового процесса).

drwcsd rerepository - перечитать репозиторий с диска.

drwcsd retepmlates - перечитать шаблоны сообщений с диск

G5.11. Описание ключей

-home=<корень> -- каталог установки сервера (корневой каталог. Структура данного каталога описана в п.2.1.1. По умолчанию текущий каталог при запуске.

-exe-root=<каталог_для_исполняемых> -- путь к исполняемым файлам. По умолчанию подкаталог bin корневого каталога.

-var-root=<каталог_для_изменяемых> -- путь к каталогу, в который сервер имеет право записи, и который предназначен для хранения изменяемых файлов (например, протоколов, а также файлов репозитория). По умолчанию подкаталог var корневого каталога.

-conf=<конф_файл> -- имя и расположение конфигурационного файла сервера. По умолчанию файл drwcsd.conf в подкаталоге etc корневого каталога.

-activation-key=<лиц_ключ> -- лицензионный ключ сервера. По умолчанию файл enterprise.key, расположенный в подкаталоге etc корневого каталога.

-id=<номер> -- если enterprise.key позволяет использование более чем одного сервера, задает позицию данного сервера в списке серверов. По умолчанию 1, то есть первый в списке.

-private-key=<закр_ключ> -- закрытый ключ сервера. По умолчанию drwcsd.pri в подкаталоге etc корневого каталога.

-log=<протокол> -- имя файла протокола сервера. Вместо имени файла может использоваться минус (только для сервера на UNIX-платформах), что означает выводить протокол на стандартный вывод. По умолчанию: для Windows платформ drwcsd.log в каталоге, указывемом ключом -var-root, для UNIX-платформ задается ключом -syslog=user (см. ниже).

-syslog=<режим> -- допустимо только для UNIX. Означает протоколирование в системный журнал. Возможные режимы: auth, cron, daemon, kern, lpr, mail, news, syslog, user, uucp, local0 - local7 и для некоторых платформ - ftp, authpriv и console.

-rotate=<количество,размер> -- режим ротации протокола, аналогичен описанному для агента.

-pid=<файл> -- только для UNIX, файл, в который сервер записывает идентификатор своего процесса.

-user=<пользователь>

-group=<группа> - доступны только для UNIX, при запуске от имени пользователя root; означают изменить пользователя или группу процесса и выполняться с правами указанного пользователя (группы).

-verbosity=<уровень_подробности> -- уровень детализации протокола (аналогично агенту). По умолчанию WARNING.

-db-verify=on - при запуске сервера выполнять проверку целостности БД. Значение по умолчанию. Настоятельно не рекомендуется запускать с явным указанием противоположного значения, за исключением запуска немедленно после проверки БД командой drwcsd verifydb, см. выше.

-help -- выдать справку. Аналогично описанным выше программам.

-daemon -- для Windows-платформ означает запуск как службы; для UNIX-платформ: "демонизация процесса" (перейти в корневой каталог, отсоединиться от терминала и перейти в фоновой режим).

-minimized -- (только для Windows, если запуск не как служба, а интерактивно) -- минимизировать окно.

-screen-size=<размер> -- (только для Windows, если запуск не как служба, а интерактивно) -- размер в строках видимого протокола в окне сервера, по умолчанию 1000.

G6. Утилита администрирования встроенной базы данных

Формат запуска:

drwidbsh

Программа работает в текстовом диалоговом режиме, ожидает ввода пользователем команд программы (команды начинаются с символа "точка"). Для справки по другим командам введите .help

Будет выдан текст справки, показанный ниже (вариант сервера для Unix-платформы).

./drwidbsh ../var1/dbinternal.dbs
DrwIntDB version 2.8.13
Enter ".help" for instructions
drwidbsh> .help
.databases List names and files of attached databases
.dump ?TABLE? ... Dump the database in a text format
.echo ON|OFF Turn command echo on or off
.exit Exit this program
.explain ON|OFF Turn output mode suitable for EXPLAIN on or off.
.header(s) ON|OFF Turn display of headers on or off
.help Show this message
.indices TABLE Show names of all indices on TABLE
.mode MODE Set mode to one of "line(s)", "column(s)",
"insert", "list", or "html"
.mode insert TABLE Generate SQL insert statements for TABLE
.nullvalue STRING Print STRING instead of nothing for NULL data
.output FILENAME Send output to FILENAME
.output stdout Send output to the screen
.prompt MAIN CONTINUE Replace the standard prompts
.quit Exit this program
.read FILENAME Execute SQL in FILENAME
.schema ?TABLE? Show the CREATE statements
.separator STRING Change separator string for "list" mode
.show Show the current values for various settings
.tables ?PATTERN? List names of tables matching a pattern
.timeout MS Try opening locked tables for MS milliseconds
.width NUM NUM ... Set column widths for "column" mode

Для дополнительной информации используйте справочные руководства по языку SQL.

G7. Утилита генерации пар ключей и электронной подписи

Варианты формата команды:

drwsign genkey [<закрытый> [открытый]] -- генерация пары открытый-закрытый ключ и запись их в соответствующие файлы.

        Версия утилиты для Windows-платформ (в отличие от UNIX-версии) никак не защищает закрытый ключ от копирования.

drwsign sign [-private-key=<закрытый>] <файл> -- подписать файл <файл>, используя указанный закрытый ключ.

drwsign check [-public-key=<открытый>] <файл> -- проверить подпись файла,используя <открытый> как открытый ключ персоны, подписавшей данный файл.

drwsign join432 [-public-key=открытый] [-private-key=закрытый] новый_закрытый - объединяет открытый и закрытый ключи формата версии 4.32 в новый комплексный формат закрытого ключа версии 4.33.

drwsign extract [-private-key=закрытый] открытый - извлекает открытый ключ из файла закрытого ключа комплексного формата (версия 4.33 и позднее).

drwsign help [команда] -- краткая справка по программе и формату командной строки.

G8. Управление UNIX-версией сервера при помощи команды kill

UNIX-версия сервера управляется сигналами, посылаемыми процессу сервера утилитой kill.

        Подробная справка об утилите kill может быть получена при помощи команды man kill.

Ниже приводится перечень сигналов утилиты и производимых ими действий:

Аналогичные действия для Windows-версии сервера реализуются при помощи ключей команды drwcsd, см. п. G5.4.

G9. Dr.Web(R) сканер для Windows

Данный компонент ПО рабочей станции имеет параметры командной строки, описанные в "Руководство пользователя Dr.Web для Windows"). Единственное отличие состоит в том, что при запуске сканера агентом параметры /go /st передаются сканеру автоматически и в обязательном порядке.

Приложение H. Переменные окружения, экспортируемые сервером

Для упрощения настройки процессов, запускаемых сервером ES по расписанию, требуется информация о размещении каталогов сервера. С этой целью сервер экспортирует в окружение запускаемых процессов следующие переменные:

DRWCSD_HOME - путь к корневому каталогу (каталогу установки). Значение ключа -home, если он был задан при запуске сервера, в противном случае текущий каталог при запуске.

DRWCSD_EXE - путь к каталогу для исполняемых файлов. Значение ключа -exe-root, если он был задан при запуске сервера, в противном случае подкаталог bin корневого каталога.

DRWCSD_VAR - путь к каталогу, в который сервер имеет право записи, и который предназначен для хранения изменяемых файлов (например, протоколов, а также файлов репозитория). Значение ключа -var-root, если он был задан при запуске сервера, в противном случае подкаталог var корневого каталога.

Приложение I. Использование скрипта начальной установки агента

Сценарий процесса начальной установки агентов на станции с использованием сетевого инсталлятора (drwinst.exe) задается файлом install.script. Данные файлы располагаются в корневом каталоге продуктов в репозитории. B стандартной поставке они имеются в каталогах 10-drwupgrade и 20-drwagntd и описывают инсталляцию по умолчанию.

При наличии в каталоге файла .custom.install.script, используется именно он вместо стандартного сценария.

        Файлы с любыми другими именами, начинающимися с точки, не обновляются при обновлениях продукта и не влияют на работу репозитория.

Последовательность действий при начальной установке:

1. Сетевой инсталлятор запрашивает с сервера установку платформ: win-setup, common, win, win-nt и win-9x ? это список стандартных платформ в порядке по умолчанию. Порядок использования платформ может быть изменен при помощи ключа -platforms=p1,p2,p3... при вызове drwinst. Платформа win-setup не входит в стандартную поставку и предназначена для создания, при необходимости, собственных сценариев установки.

2. Сервер формирует по списку платформ список файлов, последовательно просматривая все продукты в алфавитном порядке и списки файлов, заданные конструкциями files{ } для данной платформы в сценарии установки install.script (см. ниже). Параллельно строится суммарный скрипт на основе конструкций scripts{ }.

3. Сервер получает общий список файлов и суммарный скрипт.

4. Сервер отсылает файлы и скрипт, который будет выполнен сетевым инсталлятором.

Теперь рассмотрим сам install.script на примере каталога 20-drwagntd.

------------------------------------------------------------------
; master part of installation: agent & its stuff.
; drwscr.dll goes with upgrader, so unlisted here.

platform{              ; win - for all Windows OS
                       ; `name: XXX' MUST go first!

  name:   win           ; (mandatory stanza)
                        ; this platform name

              ; include, scripts{ }, files{ }
              ; can go in any order

  scripts{              ; (optional)
              ; script being merged with all others
win.inst.rexx ; and executed after transfer all 
              ; files for all platforms requested
              ; by installer
              ; Windows installer request order:
              ; - win-setup (optional! for 
              ;                      customization)
              ;   - common
              ;   - win
              ;   - win-nt OR win-9x
  }

  files{      ; (optional)
              ; this platform files being 
              ; transfered to installer 
    win/uninstall.rexx
    win/drwinst.exe
    win/drwagntd.exe
    win/drwagnui.exe
    win/drwhard.dll
  }
}

platform{      ; win-9x - for Windows 95-ME
  name:   win-9x
  scripts{ win-9x.inst.rexx }
}

platform{      ; win-nt - for Windows NT-2003
  name:   win-nt
  scripts{ win-nt.inst.rexx }
}

platform{      ; common - for any OS including UNICES
  name:   common
  scripts{ common.inst.rexx }
}

; include file.name ; (optional)
        ; this stanza tells to include other file.
        ; including file will be searched in the 
        ; same directory where current file are 
        ; located if `file.name' does not include
        ; directory specificator
--------------------------------------------

Скрипт представляет собой список конструкций platform{ } и позволяет с помощью конструкции include подключать определения из других файлов (include допустимо только на верхнем уровне и недопустимо внутри platform{ }). Если file.name в include не содержит пути, а только имя файла то он ищется в том же каталоге, что и текущий.

Наличие собственных конструкций include в подключаемых файлах допустимо.

Описание платьформы начинается с конструкции name: XXX. Далее следует пара списков files{ } и scripts{ }, порядок появления этих списков не важен, списки могут содержать любое число элементов. Порядок элементов в списке важен, поскольку определяет порядок передачи файлов на станцию и конструкцию формируемого скрипта.

Порядок появления конструкций platform{ } также не важен.

Ниже перечислены переменные скриптов инсталляции (значения этим переменным могут быть присвоены из командной строки сетевого инсталлятора) и их значения по умолчанию.

Компоненты, подлежащие установке:

spider.install   = 'yes'
spiderml.install = 'yes'
scanner.install  = 'yes'

install.home - каталог установки

agent.logfile = install.home'\logs\drwagntd.log'
agent.loglevel = 'trace'
agent.logrotate = '10,10m'
agent.servers = install.servers
agent.serverkey = install.home'\drwcsd.pub'
agent.compression = 'possible'
agent.encryption = 'yes'
agent.findretry = '3'
agent.findtimeout = '5'
agent.spiderstatistics = '30'
agent.importantmsg = '2' 

Параметр agent.importantmsg определяет форму, в которой пользователю за компьютером будет даваться сообщение об ошибке обновления, необходимости перезагрузки и т. д. 0 - вообще не выводить, 1 - показывать как окно, всплывающее поверх всех окон, 2 - показывать как информационное сообщение иконки в Проводнике Windows (если версия Проводника, установленна я на данном компьютере, не поддерживает такую возможность, то как при значении 1).

Создадим нестандартный сценарий установки, в котором не устанавливается SpIDer Guard и задается максимально подробное протоколирование:

1. Создайте в 20-drwagntd файл .win-setup.inst.rexx и запишите в него

---------------
spider.install = 'no'
agent.compression = 'no'
agent.loglevel = 'all'
---------------

2. Создайте в 20-drwagntd файл .custom.install.script и запишите в него в него

---------------------------------
include install.script

platform{
 name: win-setup
 scripts{ .win-setup.inst.rexx }
}
-------------------------------------

3. Перегрузите сервер или дайте сигнал перезагрузить репозиторий:

Предыдущий Оглавление Следующий