Windows

Overview

This section describes how to install and configure MetaDefender (MD) Cluster Identity Service on Windows system. After installation, MD Cluster Control Center can connect to MD Cluster Identity and monitor its system health.

Prerequisites

Before installing the MD Cluster Identity Service, ensure the following requirements are met.

RequirementDescription
Operating SystemWindows 11 23H2+, or Windows Server 2019+.
PrivilegesAdministrator privileges
Installation packagemd-cluster-identity-service-<version>-1-x64.msi
Network access

Required port is open (default port: 8891).

A minimum network bandwidth of 1 Gbps is required.

Disk spaceA minimum of 50 GB of available disk space is required.

Create the ignition file

Create an ignition file in YAML format. This file contains the credentials required for the service to connect to the system.

The file must include the following keys:

KeyDescription
database.hostIP address or domain name of the server hosting PostgreSQL.
database.portIP address or domain name of the server hosting PostgreSQL.
database.userPostgreSQL server user. SUPERUSER privileges are required to set up the database and extensions during the initial configuration.
database.passwordPostgreSQL user password.
secure.connection_keyA 4–64 character alphanumeric string (a–z, A–Z, 0–9) used by MD Cluster Control Center to connect to the server.
secure.private_keyThe content of private key in X509 format.
secure.certificateThe content of certificate in X509 format.

Example ignition file:

YAML
Copy

Save the ignition file to the following path on the target machine:

Bash
Copy

The ignition file contains sensitive credentials. This file can be safely deleted any time after the installation is complete.

Install the service

  1. Copy the installer file (.msi ) to the target machine.
  2. Open PowerShell with Administrator privileges.
  3. Run the following command to start the installation in silent mode:
Powershell
Copy

Verify the service status

  1. Open PowerShell and run the following command:
Powershell
Copy
  1. Check the Running Status in the output.
  2. If the service is not running, start it manually:
Powershell
Copy

Service management

ActionCommand (PowerShell)
Check service statusGet-Service -Name md-cluster-identity-service
Start serviceStart-Service -Name md-cluster-identity-service
Stop serviceStop-Service -Name md-cluster-identity-service
Restart serviceRestart-Service -Name md-cluster-identity-service

Customize the service configuration

During installation, MD Cluster Identity Service generates a configuration file at:

Copy

To customize the service behavior:

  1. Open the configuration file in a text editor.
  2. Modify the required settings according to your environment.
  3. Save the changes.
  4. Restart the service to apply the new settings.
Powershell
Copy

Directory structure

  • C:\opswat\md_cluster_file_storage.yml: Service Ignition file.
  • C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\md_cluster_file_storage.yml: Service configuration file.
  • C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\log\identity-service.log : Service log file.
  • C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\storage: Default storage directory.
  • C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\log Default log directory.

Log files

To check the service log, open the file C:\Program Files\OPSWAT\MetaDefender Cluster Identity Service\data\log\identity-service.log.

To check logs using Event Viewer:

  1. Open Event Viewer.
  2. Navigate to Windows Logs > Application.
  3. Look for events related to MD Cluster Identiy Service.

Uninstall the service

Open PowerShell and run the following command:

Powershell
Copy

Troubleshooting

A. Service is not running

  1. Check the service status
Powershell
Copy
  1. Start the service if it is not running:
Powershell
Copy

B. Installation fails

Possible causes

  • Insufficient privileges.
  • Missing dependencies.

Solution

  • Ensure the installation command is executed with Administrator privileges.
  • Ensure dependencies are installed.

C. MD Cluster Control Center cannot connect to MD Cluster Identity Service.

Possible causes

  • Network connectivity issues.
  • Firewall restrictions.

Solution

  • Ensure MD Cluster Control Center has network connectivity to MD Cluster Identity Service.
  • Verify that firewall rules allow inbound and outbound connections.

Ignition file key reference

  • secure.connection_key (Required)

    • Value type: string.
    • Description: Use a 4–64 character string that contains only numbers (0–9) and letters (a–z, A–Z). This string is used by clients to connect to the server. Set this value as the identity.connection_key in the MD Cluster Control Center configuration file.
  • secure.private_key (Required)

    • Value type: string.
    • Description: The content of private key in X509 format.
  • secure.certificate (Required)

    • Value type: string.
    • Description: The content of certificate in X509 format.
  • database.host (Required)

    • Value type: string.
    • Description: IP address or domain name of the server hosting PostgreSQL.
  • database.port (Required)

    • Value type: string.
    • Description: Port where the PostgreSQL server listens for client connections.
  • database.user (Required)

    • Value type: string.
    • Description: PostgreSQL server user. SUPERUSER privileges are required to set up the database and extensions during the initial configuration.
  • database.password (Required)

    • Value type: string.
    • Description: PostgreSQL user password.
  • rest.host [optional)

    • Value type: string.
    • Description: IP address (V4/V6) or host where the server resides on. Default value is '*'. Notes: '*' allows the service to accept connections from all network interfaces. To bind the service to a specific interface, specify its IP address or domain name. For example, to listen on all IPv4 interfaces, set the host to 0.0.0.0.
  • rest.port [optional)

    • Value type: number.
    • Description: The port where the server resides on. Default value is 8891.
  • log.streams[@].log_type [optional)

    • Value type: string.
    • Description: Type of log device (file, or syslog)
  • log.streams[@].log_level [optional)

    • Value type: string.
    • Description: Level of log message (dump, debug, info, warning, or error).
  • log.streams[@].log_path [optional)

    • Value type: string.
    • Description: Location where logs are written. If log.streams[@].log_type is "file" then log.streams[@].log_path is the path to a file on file system where logs are written. If log.streams[@].log_type is "syslog" then
      • log.streams[@].log_path can be [tcp/udp]://host:port where host:port is the host and port to a remote syslog server that supports TCP or UDP protocol.
      • log.streams[@].log_path can be "local" to write log to local syslog server (Linux only).
  • user.name [optional)

    • Value type: string.
    • Description: Username for the initial administrator account.
  • user.password [optional)

    • Value type: string.
    • Description: Password for the initial administrator account.
  • user.email [optional)

    • Value type: string.
    • Description: Email address for the initial administrator account.
  • user.apikey [optional)

    • Value type: string.
    • Description: API key for the initial administrator account.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard