G4. Proxy Server Configuration File

Top  Previous  Next

The drwcsd-proxy.xml configuration file of the Proxy server is presented in the XML format and located in the following folder:

Windows OS: C:\ProgramData\Doctor Web\drwcsd-proxy\

Linux OS and Solaris OS: /var/opt/drwcs/etc

FreeBSD OS: /var/drwcs/etc

The <listen /> element

The <drwcsd-proxy /> root element contains one or several obligatory <listen /> elements which define basic settings of the Proxy Server for receiving connections. The <listen /> element contains one obligatory attribute spec, attributes of which define an interface to "listen" incoming client connections and whether the discovery mode is enabled on this interface. The spec attribute contains following properties:

protocol—type of the protocol for receiving incoming connections. Address which the Proxy server listens is set as an attribute.

port—port which the Proxy server listens.

imitation mode—the mode of Server imitation. Allows detection of the Proxy server as Dr.Web Server by the Network scanner.

multicast mode—network "listening" mode for receiving multicast requests by the Proxy server.

multicast group—multicast group where the Proxy server is located.

Properties values of the spec attribute and their parameters are specified in the table below.

Properties of the spec element

Property

Obligatory

Allowed values

Parameters of possible values

Allowed

Default

protocol

yes

ip

unix

 

0.0.0.0

-

port

no

port

 

2193

imitation mode

no

discovery

yes, no

no

multicast mode

no

multicast

yes, no

no

multicast group

no

multicast-group

 

231.0.0.1

[ff18::231.0.0.1]

The spec attribute contains one obligatory protocol property and three non-obligatory properties, which are: port, imitation mode and multicast. Depending on value of the protocol property, the list of non-obligatory properties in the spec attribute may vary.

The table below contains the list of non-obligatory properties, which can be set (+) or cannot be set (-) in the spec attribute, depending on value of the protocol parameter.

Presence of non-obligatory properties in dependence of the value of protocol parameter

Protocol

Attribute presence

port

discovery

multicast

multicast-group

ip

+

+

+

+

unix

+

-

-

-

The discovery mode must be enabled directly in any case even if the multicast mode is already enabled.

The <compression /> element defines traffic compression parameters:

If the <compression /> element is a child of the <forward /> element, it defines compression parameters for the Server—Proxy server channel.

If the <compression /> element is a child of the <listen /> element, it defines compression parameters for the client—Proxy server channel.

Attributes of the <compression  /> element

Attribute

Allowed values

Description

Default

mode

yes

compression enabled

possible

no

compression disabled

possible

compression possible

level

integer from 1 to 9

compression level. Only for the client—Proxy server channel

8

The <forward /> element

Redirection of incoming connections is adjusted via the <forward /> element which is a child element of <listen />. The <forward /> element contains one or more obligatory to attributes those values define addresses of Dr.Web Servers where the connection should be redirected. An address of Dr.Web Server is specified according to the The Specification of Network Addresses, in particular, in the following format: tcp/<DNS_name>:<port>.

The <forward /> element is obligatory. Each <listen /> element can contain several <forward /> elements.

The forwarding algorithm for the list of  Dr.Web Servers

1.Proxy server loads to RAM the list of Dr.Web Servers from the drwcsd-proxy.xml configuration file.

2.Dr.Web Agent connects to the Proxy server.

3.Proxy server forwards Dr.Web Agent to the first Server from Dr.Web Servers list loaded in the RAM.

4.Proxy server rotate the list in the RAM and moves Dr.Web Server from the first position to the end of list.

Proxy Server does not save changed order of Servers to its configuration file. After restart of Proxy server, the list of Dr.Web Servers is loaded to the RAM in original version, which is stored in the configuration file.

5.When the next Agent connects to the Proxy server, procedure is repeated from the step 2.

6.If Dr.Web Server disconnects from the anti-virus network (e.g., gets offline or denies of service), the Agent connects to the Proxy server repeatedly and procedure is repeated from the step 2.

The <cache /> element

The <drwcsd-proxy /> root element may contain non-obligatory <cache /> element which defines settings of Proxy server repository cache.

Attributes of the <cache /> element

Attribute

Allowed values

Description

Default

enabled

yes

caching enabled

yes

no

caching disabled

Elements <cache />

Element

Attribute

Allowed values

Default

Description

<repo-root />

-

-

temporary folder of OS user

path to the Proxy server cache folder

<maximum-revision-queue />

size

positive integer

3

number of stored revisions

<clean-interval />

value

positive integer

60

time slot between purging of old revisions in minutes

<unload-interval />

value

positive integer

10

time slot between unloads of unused files from the memory in minutes

<repo-check />

mode

idle/sync

idle

check of cache integrity either at start (may take time) or in background

The <core-dump /> element

The <drwcsd-proxy /> root element may contain the <core-dump /> element in which you can specify collecting mode and number of memory dumps in case of SEH exception occurs.

Memory dumps setup is available for Windows OS only.

 

To collect memory dump, OS must contain the dbghelp.dll library.

Dump is written to the following folder: %All Users\Application Data%\Doctor Web\drwcsd-proxy-dump\

Attributes of the <core-dump /> element

Attribute

Allowed values

Description

Default

enabled

yes

dumps collecting enabled

yes

no

dumps collecting disabled

maximum

positive integer

maximal dumps number. The oldest are deleted

10

Example of drwcsd-proxy.xml configuration file

<?xml version="1.0"?>

<drwcsd-proxy>

 

<!-- property: ip, unix: protocol family and adapter address -->
<!-- property: port: port to listen. Default is 2193 -->
<!-- property: name: Proxy name in discovery mode. Default is 'drwcs' -->
<!-- property: discovery: enable discovery mode (yes/no). Allows detection of the Proxy as Dr.Web Server. Default is 'no' -->
<!-- property: multicast: enable multicast mode (yes/no). Allows network listening to receive multicast requests. Default is 'no' -->
<!-- property: multicast-group: address of a multicast group to be included. Default is 231.0.0.1 for IPv4 or ff18::231.0.0.1 for IPv6 -->

 

<!-- For example -->
<!-- Listen on IPv4: IN_ADDR_ANY, port 2193; run discovery on 231.0.0.1 -->

 

<listen spec="ip(), discovery(yes), multicast(yes)">

  <forward to="tcp/server1.isp.net:2193">

    <compression mode="no" /> <!-- Compression between proxy and Server -->

  </forward>

  <compression mode="possible" level="4" /> <!-- Compression between proxy and client -->

</listen>

 

<!-- Listen on IPv6: IN6_ADDR_ANY, port 2194; run discovery on ff18::231.0.0.1 -->

<listen spec="ip([fc01::1]), port(2194), discovery(yes), multicast(yes), multicast-group([ff18::231.0.0.2])">

  <forward to="tcp/server1.isp.net:2193"/>

  <forward to="tcp/server2.isp.net:2193"/>

</listen>

 

<!-- Listen on unix -->

<listen spec="unix(/tmp/drwcsd-proxy.sock)">

  <forward to="tcp/server1.isp.net:2193"/>

  <forward to="tcp/server2.isp.net:2193"/>

</listen>

 

<cache enabled="yes">

  <repo-root>C:\var</repo-root>

  <maximum-revision-queue size="3" />

  <clean-interval value="60" />

  <unload-interval value="10" />

  <repo-check mode="idle" />

</cache>

 

<core-dump enabled="yes" maximum="7" />

</drwcsd-proxy>