Structure of Dr.Web for UNIX Mail Servers

Dr.Web for UNIX Mail Servers is a product consisting of a set of components, where each component has its own set of functions. The components are separated into the following categories according to their objectives:

basic anti-virus components which form Dr.Web for UNIX Mail Servers core. In the absence of the components under this category, the product cannot scan files (and other data) for viruses and other threats;

threat search components. These components are used to solve Dr.Web for UNIX Mail Servers basic tasks—detecting threats and potentially dangerous objects. In their operation the components falling under this category use basic anti-virus components;

service components, which solve the auxiliary anti-virus protection issues (anti-virus databases updates, centralized protection servers connection, common Dr.Web for UNIX Mail Servers operation managing, and so on);

interface components, which provide (the user or third party applications) with the interface for Dr.Web for UNIX Mail Servers.

Below is the list of Dr.Web for UNIX Mail Servers components.

1. Basic Anti-virus Components

Component

Description

Dr.Web Virus-Finding Engine

An anti-virus engine. Implements algorithms to detect viruses and malicious programs (by using a signature and heuristic analysis).

Managed by Dr.Web Scanning Engine


Library file: drweb32.dll.

Internal name displayed in the log file: CoreEngine

A scan engine. This component loads Dr.Web Virus-Finding Engine and anti-virus databases.

Sends the contents of files and boot records to the anti-virus engine for scanning.

Manages a queue of the files to be scanned.

Cures threats to which this action is applicable.

Is operated by Dr.Web ConfigD or can operate autonomously.

Used by Dr.Web File Checker and Dr.Web Network Checker components. Also can be used by Dr.Web MeshD components (in some operation modes) and by external (in relation to Dr.Web for UNIX Mail Servers) applications specifically using Dr.Web Scanning Engine API


Executable file: drweb-se.

Internal name displayed in the log: ScanEngine

Virus databases

An automatically updated database of signatures of viruses and other threats, as well as of malicious software detection and neutralization algorithms.

Used by Dr.Web Virus-Finding Engine and bundled with it

Databases of web resource categories

An automatically updated database containing a list of categorized web resources and being used to identify unwanted websites.

Used by components that scan network activity of users and applications, such as SpIDer Gate and Dr.Web MailD

A component for scanning file system objects and a quarantine manager.

Receives tasks from the threat scanning component on scanning files in the local (in relation to Dr.Web Scanning Engine) file system.

Surfs the file system directories according to the task, sends files for scanning to Dr.Web Scanning Engine and notifies client components about the scanning progress.

Deletes infected files, moves them to and restores them from quarantine, manages quarantine directories.

Builds the cache and keeps it up-to-date. The cache contains information about previously scanned files to reduce the periodicity of rescanning files.

Used by components that scan file system objects


Executable file: drweb-filecheck.

Internal name displayed in the log: FileCheck

A network data scanning agent.

Used to send data to the scan engine. The data is sent by components of the product over the network (such as Dr.Web ClamD, SpIDer Gate and Dr.Web MailD).

Allows Dr.Web for UNIX Mail Servers to manage distributed file scanning: to receive/transmit files for scanning from/to remote hosts. For that purpose, the remote hosts must feature an installed and running Dr.Web for UNIX operating systems. In the distributed scanning mode, it allows automatic distribution of scanning load among remote hosts by reducing load on hosts with a large number of scanning tasks (for example, on mail servers, file servers, internet gateways).

If partner hosts that can receive data for scanning are present on the network, the components that use Dr.Web Network Checker for scanning may not use local Dr.Web Scanning Engine. Thus, Dr.Web Scanning Engine, Dr.Web Virus-Finding Engine and anti-virus databases may be absent.

For security reasons, files are transmitted over the network using SSL


Executable file: drweb-netcheck.

Internal name displayed in the log: NetCheck

A component for analyzing if a URL falls under potentially dangerous/unwanted categories.


Executable file: drweb-urlcheck.

Internal name displayed in the log: UrlCheck

A component that connects Dr.Web for UNIX Mail Servers to the local cloud, which allows Dr.Web for UNIX products to exchange updates, results of file scanning, transmit files to each other for scanning, as well as provide scan engine services directly.

If the product includes this component, a local cloud to which this component is connected, as well as hosts providing scan engine services, Dr.Web Scanning Engine, Dr.Web Virus-Finding Engine and anti-virus databases may be absent


Executable file: drweb-meshd.

Internal name displayed in the log: MeshD

2. Threat Search Components

Component

Description

A component for monitoring network traffic and URLs.

It is designed to scan data downloaded from the network to the local host and transmitted from it to the external network for threats. The component also prevents connections with the network hosts added to the unwanted categories of web resources or black lists created by the system administrator.

Used by Dr.Web MailD as a transparent proxy of email protocols (SMTP, POP3, IMAP).

Uses Dr.Web Network Checker to scan received data.

It is included only in the distributions designed for GNU/Linux OSes.


Executable file: drweb-gated.

Internal name displayed in the log: GateD

A network connections monitor.

It is used by SpIDer Gate and provides connection routing for applications that operate on the server for scanning the transmitted network traffic.

It is included only in the distributions designed for GNU/Linux OSes.


Executable file: drweb-firewall.

Internal name displayed in the log file: LinuxFirewall

A component for scanning email messages.

Analyzes email messages and prepares them for scanning for threats. It can operate in two modes.

1)A filter for mail servers (Sendmail, Postfix, and so on) connected via the Milter interface, Spamd or Rspamd interfaces.

2)A transparent proxy of email protocols (SMTP, POP3, IMAP). In this mode, it uses SpIDer Gate.

Uses Dr.Web Network Checker to scan data in email messages.


Executable component file: drweb-maild.

Internal name displayed in the log: MailD

A component which scans email messages for traits of spam.

It is used by Dr.Web MailD. It can be unavailable depending on a distribution package. If it is unavailable, Dr.Web MailD will not scan email messages for traits of spam.

The component is not supported for ARM64 and E2K architectures.


Executable file: drweb-ase.

Internal name displayed in the log: Antispam

3. Service Components

Component

Description

A component for interaction with Dr.Web Cloud.

Sends URLs visited by the user and information about the scanned files to the Dr.Web Cloud service to scan them for threats not yet covered by virus databases


Executable file: drweb-cloudd.

Internal name displayed in the log: CloudD

Dr.Web for UNIX Mail Servers configuration daemon.

Starts and stops other product components depending on the settings.

Restarts components if a failure in their operation occurs. Starts components at the request of other components. Informs active components when another component starts or shuts down.

Stores information about present license keys and settings and provides this information to all components. Receives adjusted settings and license keys from the components of Dr.Web for UNIX Mail Servers expected to provide such information. Notifies other components on changes in license keys and settings


Executable file: drweb-configd.

Internal name displayed in the log file: ConfigD

The centralized protection agent. Ensures product operation in the centralized protection and mobile modes.

Provides connection between the product and the centralized protection server, receives a license key file, updates of the virus databases and anti-virus engine.

Sends to the server information on the components included in Dr.Web for UNIX Mail Servers and their status as well as statistics of virus events


Executable file: drweb-esagent.

Internal name displayed in the log: ESAgent

A component for retrieving data from external data sources.

Retrieves data from external data sources (directory services, files, relative databases, and so on) to be used in rules of traffic monitoring


Executable file: drweb-lookupd.

Internal name displayed in the log: LookupD

An email messages scanning component which manages queues of messages to be scanned.

It is used by Dr.Web MailD. It can be unavailable depending on a distribution package. If it is unavailable, SMTP and BCC modes of Dr.Web MailD are not supported.


Executable file: drweb-mail-quarantine.

Internal name displayed in the log: MailQuarantine

A component for storing Dr.Web for UNIX Mail Servers component operation events.

Receives and stores events of the product components (such as abnormal termination, threat detection, and so on)


Executable file: drweb-statd.

Internal name displayed in the log file: StatD

An updating component.

Downloads from Doctor Web servers updates of the virus databases and databases of web resource categories, the anti-virus engine and the library for scanning email messages for traits of spam.

The updates can be downloaded automatically, according to the schedule, and on user demand (via Dr.Web Ctl or management web interface)


Executable file: drweb-update.

Internal name displayed in the log: Update

4. Interface Components

Component

Description

Dr.Web for UNIX Mail Servers management web server.

Provides a custom HTTP API for managing Dr.Web for UNIX Mail Servers components.

The specified API is used by the management web interface (must be installed separately).

For security reasons, the component uses HTTPS to connect to the web interface.

Uses Dr.Web Network Checker to transmit data for scanning to Dr.Web Scanning Engine


Executable file: drweb-httpd.

Internal name displayed in the log: HTTPD

Management Web Interface.

The interface can be accessed using any browser on a local or remote host. The web interface enables the product not to use third-party web servers (such as Apache HTTP Server) or remote administration tools, such as Webmin.

The component functionality is provided by Dr.Web HTTPD component

A tool for managing Dr.Web for UNIX Mail Servers from the command line.

Allows the user to start file scanning, view and manage quarantined objects, start a virus database update procedure, connect Dr.Web for UNIX Mail Servers to or disconnect it from the centralized protection server, view and configure product parameters


Executable file: drweb-ctl.

Internal name displayed in the log: Ctl

An SNMP agent.

Designed for integration of Dr.Web for UNIX Mail Servers with external monitoring systems over SNMP. Such integration allows you to monitor the state of the product components and to collect statistics on threat detection and neutralization.

Supports SNMP v2c and v3


Executable file: drweb-snmpd.

Internal name displayed in the log: SNMPD

A component emulating interface of the clamd, anti-virus daemon (the component of ClamAV® anti-virus).

Allows all applications supporting ClamAV® to use Dr.Web for UNIX Mail Servers transparently for anti-virus scanning.

Depending on the mode, uses Dr.Web File Checker or Dr.Web Network Checker to transmit data for scanning to Dr.Web Scanning Engine


Executable file: drweb-clamd.

Internal name displayed in the log: ClamD

The figure below shows the structure of Dr.Web for UNIX Mail Servers and its operation with external applications.

Figure 1. The structure of Dr.Web for UNIX Mail Servers

In this scheme, the following notations are used:

 

—Dr.Web for UNIX Mail Servers as a whole and external Dr.Web applications not included in the solution

 

—programs external to Dr.Web for UNIX Mail Servers and products that integrate with it

 

—the service components that perform particular anti-virus protection tasks (anti-virus databases updates, centralized protection servers connection, overall coordination of operations, and so on)

 

—components that provide (the user or third party applications) with the interface to manage Dr.Web for UNIX Mail Servers

 

—components used for anti-virus scanning

 

—basic anti-virus components that form the Dr.Web for UNIX Mail Servers core. Used by the components that perform data and files scans

Components marked with a dashed line can be missing depending on the Dr.Web for UNIX Mail Servers distribution and usage.

For details on Dr.Web for UNIX Mail Servers components, refer to Dr.Web for UNIX Mail Servers Components.