Enable the haveged Service
🗓️ 07 May 2025 00:00:00Reported by Copyright (C) 2025 Greenbone AGType
openvas🔗 plugins.openvas.org👁 6 Views
# SPDX-FileCopyrightText: 2025 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only
# ------------------------------------------------------------------
# METADATA
# ------------------------------------------------------------------
if(description)
{
script_oid("1.3.6.1.4.1.25623.1.0.130389");
script_version("2025-11-21T05:40:28+0000");
script_tag(name:"last_modification", value:"2025-11-21 05:40:28 +0000 (Fri, 21 Nov 2025)");
script_tag(name:"creation_date", value:"2025-05-07 11:45:55 +0000 (Wed, 07 May 2025)");
script_tag(name:"cvss_base", value:"0.0");
script_tag(name:"cvss_base_vector", value:"AV:L/AC:H/Au:S/C:N/I:N/A:N");
script_tag(name:"qod", value:"97");
script_name("Enable the haveged Service");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2025 Greenbone AG");
script_family("Policy");
script_dependencies("compliance_tests.nasl", "compliance_os_check.nasl");
script_mandatory_keys("Compliance/Launch", "policy/ssh/login/euleros_eulerosvirtual_openeuler_hce");
script_xref(name:"Policy", value:"EulerOS Baseline: openEuler Security Configuration Baseline (v1.0.0): 2. Secure Access: 2.6 Data Security: 2.6.1 Enable the haveged Service (Recommendation)");
script_xref(name:"Policy", value:"EulerOS Virtual: openEuler Security Configuration Baseline (v1.0.0): 2. Secure Access: 2.6 Data Security: 2.6.1 Enable the haveged Service (Recommendation)");
script_xref(name:"Policy", value:"HCE Linux (Huawei Cloud EulerOS): openEuler Security Configuration Baseline (v1.0.0): 2. Secure Access: 2.6 Data Security: 2.6.1 Enable the haveged Service (Recommendation)");
script_xref(name:"Policy", value:"openEuler Baseline: openEuler Security Configuration Baseline (v1.0.0): 2. Secure Access: 2.6 Data Security: 2.6.1 Enable the haveged Service (Recommendation)");
script_tag(name:"summary", value:"The haveged service can generate an unpredictable stream of
random numbers in a simple way. These random numbers can fill the system entropy pool, which can
solve the problem of low system entropy in some cases. You are advised to enable this service to
meet the needs of encryption, decryption, or key generation, for example, when OpenSSL and Gnutls
are used.
If the haveged service is not enabled, the process that needs to generate a strong pseudo random
number obtains a value from the /dev/random file. In this case, the process keeps waiting until it
fetches new random bytes and obtain enough values.");
exit(0);
}
include("ssh_func.inc");
include("host_details.inc");
include("policy_reporting_module.inc");
title = "Enable the haveged Service";
solution = "Enable the haveged service:
# systemctl start haveged
Configure the service to start with the system:
# systemctl enable haveged.service";
check_type = "SSH_Cmd";
action = '1. Run the command in the terminal:
# systemctl is-active haveged
2. Run the command in the terminal:
# systemctl is-enabled haveged';
expected_value = '1. The output should be equal to "active"
2. The output should be equal to "enabled"';
# ------------------------------------------------------------------
# CONNECTION CHECK
# ------------------------------------------------------------------
if(!get_kb_item("login/SSH/success") || !sock = ssh_login_or_reuse_connection()){
report_ssh_error(title: title,
solution: solution,
action: action,
expected_value: expected_value,
check_type: check_type);
exit(0);
}
overall_pass = FALSE;
actual_value = "";
# ------------------------------------------------------------------
# CHECK 1 : Verify that the haveged service is active
# ------------------------------------------------------------------
step_cmd_check_1 = 'systemctl is-active haveged';
step_res_check_1 = ssh_cmd(socket:sock, cmd:step_cmd_check_1, return_errors:TRUE, return_linux_errors_only:TRUE);
actual_value += '1. ' + step_res_check_1 + '\n';
check_result_1 = FALSE;
if(step_res_check_1 == 'active'){
check_result_1 = TRUE;
}
# ------------------------------------------------------------------
# CHECK 2 : Verify that the haveged service is enabled
# ------------------------------------------------------------------
step_cmd_check_2 = 'systemctl is-enabled haveged';
step_res_check_2 = ssh_cmd(socket:sock, cmd:step_cmd_check_2, return_errors:TRUE, return_linux_errors_only:TRUE);
actual_value += '2. ' + step_res_check_2 + '\n';
check_result_2 = FALSE;
if(step_res_check_2 == 'enabled'){
check_result_2 = TRUE;
}
# ------------------------------------------------------------------
# FINAL RESULT
# ------------------------------------------------------------------
if(eregmatch(string: actual_value, pattern:"(No such file or directory|Permission denied|Command not found|Segmentation fault|service not found|is not running|syntax error near unexpected token|syntax error: unexpected end of file)", icase: TRUE)){
compliant = "incomplete";
comment = "Something went wrong during the some audit check. Please try again.";
}
else if(check_result_1 && check_result_2){
compliant = "yes";
comment = "All checks passed";
}else{
compliant = "no";
comment = "One or more checks failed";
}
# ------------------------------------------------------------------
# REPORT
# ------------------------------------------------------------------
target = get_kb_item("policy/ssh/login/os-release");
comment = "Target: " + target + "\n" + comment;
report_audit(action: action,
actual_value: actual_value,
expected_value: expected_value,
is_compliant: compliant,
solution: solution,
check_type: check_type,
title: title,
comment: comment);
exit(0);
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
21 Nov 2025 00:00Current
6.8Medium risk
Vulners AI Score6.8