Applicable to:
- Plesk for Linux
Symptoms
- Plesk Premium Antivirus (Dr.Web) stopped working after the server operating system was upgraded from Ubuntu 20.04 to Ubuntu 22.04. The
drwebdservice constantly restarts and exits with code 255. -
The following messages are logged in the system journal for the
drwebdservice:CONFIG_TEXT: Key file: /opt/drweb/drweb32.key - Key file was not found! (No such file or directory)
A path to a valid license key file was not specified.
Plesk authorization failed: HTTP request error [35]
Error: Plesk Software not running.
systemd[1]: drwebd.service: Main process exited, code=exited, status=255/EXCEPTION - Plesk Premium Antivirus does not listen on port
127.0.0.1:3000. -
The file
/etc/sw-cp-server/conf.d/plesk-drweb-local.confexists and itsssl_ciphersdirective ends with@SECLEVEL=1:# grep -o '@SECLEVEL=[0-9]' /etc/sw-cp-server/conf.d/plesk-drweb-local.conf
@SECLEVEL=1 -
A TLS 1.0 connection to the local Plesk port is rejected, while TLS 1.2 works:
# openssl s_client -connect 127.0.0.1:8443 -tls1 -cipher 'DEFAULT:@SECLEVEL=0' </dev/null
CONFIG_TEXT: error:0A000438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error:../ssl/record/rec_layer_s3.c:1593:SSL alert number 80
Cause
Plesk Premium Antivirus authorizes in Plesk over TLS 1.0 through a local listener defined in /etc/sw-cp-server/conf.d/plesk-drweb-local.conf. After the upgrade to Ubuntu 22.04, the Plesk web server uses OpenSSL 3, in which the @SECLEVEL=1 value left in this file from the previous operating system disables TLS 1.0, so the connection is rejected.
Resolution
- Connect to the server via SSH.
-
Compare the configuration file with its current template:
# diff /etc/drweb/swcpserver.plesk-drweb-local.conf.tpl /etc/sw-cp-server/conf.d/plesk-drweb-local.conf
The only expected difference is
@SECLEVEL=0in the template and@SECLEVEL=1in the configuration file. -
Create a backup copy of the file:
# cp -a /etc/sw-cp-server/conf.d/plesk-drweb-local.conf /etc/sw-cp-server/conf.d/plesk-drweb-local.conf.bak
-
Replace the file with the current template:
# cp /etc/drweb/swcpserver.plesk-drweb-local.conf.tpl /etc/sw-cp-server/conf.d/plesk-drweb-local.conf
Note: If the output of step 2 shows other differences, do not replace the file. Instead, edit the file
/etc/sw-cp-server/conf.d/plesk-drweb-local.confand change only@SECLEVEL=1to@SECLEVEL=0 -
Warning: The following steps will cause a brief service interruption. The Plesk interface is unavailable for a few seconds. Mail services and websites are not restarted.
Check the configuration syntax and restart the Plesk web server:
# /usr/sbin/sw-cp-serverd -t && systemctl restart sw-cp-server
-
Make sure that the local port now accepts TLS 1.0:
# openssl s_client -connect 127.0.0.1:8443 -tls1 -cipher 'AES128-SHA:@SECLEVEL=0' </dev/null 2>&1 | grep -E 'Protocol|Cipher'
-
Start Plesk Premium Antivirus and verify that it is running and listening on port 3000:
# systemctl restart drwebd
# systemctl status drwebd
# ss -tlnp | grep 3000 -
If the Plesk web server fails to start after the change, restore the backup copy and restart the service:
# mv /etc/sw-cp-server/conf.d/plesk-drweb-local.conf.bak /etc/sw-cp-server/conf.d/plesk-drweb-local.conf
# systemctl restart sw-cp-server
Diagnostics confirmed in the source ticket:
-
ldd /usr/sbin/sw-cp-serverdshowslibssl.so.3after the OS upgrade (before the upgrade the server used OpenSSL 1.1.1). - A packet capture on the loopback interface (
tcpdump -i lo -nn 'tcp port 8443') showsdrwebdconnecting to[::1]:8443. Its ClientHello is in SSLv2-compatible format (80 64 01 03 01) with version TLS 1.0, offering only legacy ciphers (AES128-SHA, AES256-SHA, DHE-RSA-AES*-SHA, DES-CBC3-SHA, RC4). The server answers with a 7-byte alert (internal_error, 80) and closes the connection. -
plesk-drweb-local.ipv6.incwas identical to its template, so only the SECLEVEL value inplesk-drweb-local.confdiffered.
The existing plesk-drweb-local.conf is not regenerated when psa-drweb-configurator is updated or when the OS is upgraded, so servers upgraded from Ubuntu 20.04 keep the outdated value. Consider checking whether a product issue exists for this.
Related article: https://support.plesk.com/hc/en-us/articles/12387399099031 (same error on Ubuntu 22, but the file is missing there).
The "Key file was not found" message is expected in this mode and is not related to the issue. Do not confuse with https://support.plesk.com/hc/en-us/articles/29102882627863 (no license purchased).
Comments
Please sign in to leave a comment.