From 7c12f7e0a3706f82d98cfe4a6685b72ba8afbb2a Mon Sep 17 00:00:00 2001 From: 12ww1160 <12ww1160@confdroid.com> Date: Sun, 15 Mar 2026 15:13:55 +0100 Subject: [PATCH] OP#501 adding variables and place holders for certs --- README.md | 10 ++++-- manifests/main/files.pp | 77 ++++++++++++++++++++--------------------- manifests/params.pp | 2 +- 3 files changed, 47 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index c6d990f..284dbf4 100644 --- a/README.md +++ b/README.md @@ -102,14 +102,20 @@ It is very recommendable to define such commands directly within Puppet modules ## managing TLS certificates +When `ne_enable_ssl` is enabled (default), the certificates for the ca (root if standalone or intermediate), the nagios server and the key for the nagios server have to be provided through the following values: + +- `ne_ssl_ca_cert_pem` +- `ne_ssl_cert_pem` +- `ne_ssl_privatekey_pem` + +via Hiera (if you use it) or ENC. + ## SELINUX All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored. ## Known Problems -- SSL/TLS support: Version 3 of NRPE supposedly has support for SSL/ TLs. However, at the time of writing this module, this seems to be buggy, as I was unable to start the NRPE service as soon as the `ssl_cert_file` line was uncommented in the configuration file, despite having valid certs in the right position on the node. This happened when installing manually, not through this Puppet module. For that reason I included the `$ne_enable_ssl` boolean parameter, which is set to `false` by default, hence disabling SSL/TLS options until this has been fixed upstream, or a valid workaround has been found. Setting this option to `true` will include all SSL / TLS settings. - ## Troubleshooting - `CHECK_NRPE: Unable to read output`: Nagios sudo access also needs Selinux to allow this. Default settings in this module take care for both through `$ne_allow_sudo` and `$ne_include_selinux`. diff --git a/manifests/main/files.pp b/manifests/main/files.pp index 31704e5..15cf492 100644 --- a/manifests/main/files.pp +++ b/manifests/main/files.pp @@ -41,7 +41,6 @@ class confdroid_nrpe::main::files ( } if $ne_allow_sudo == true { - file { $ne_sudo_file: ensure => file, path => $ne_sudo_file, @@ -69,45 +68,45 @@ class confdroid_nrpe::main::files ( content => template($ne_nrpe_te_erb), notify => Exec['create_nrpe_pp'], } + } - # file for ssl certificate - if $ne_enable_ssl == true { - file { $ne_ssl_cert_file: - ensure => file, - path => $ne_ssl_cert_file, - owner => 'root', - group => 'root', - mode => '0644', - selrange => s0, - selrole => object_r, - seltype => cert_t, - seluser => system_u, - content => template($ne_ssl_cert_erb), - } - file { $ne_ssl_privatekey_file: - ensure => file, - path => $ne_ssl_privatekey_file, - owner => 'root', - group => 'root', - mode => '0600', - selrange => s0, - selrole => object_r, - seltype => cert_t, - seluser => system_u, - content => template($ne_ssl_privatekey_erb), - } - file { $ne_ssl_ca_cert_file: - ensure => file, - path => $ne_ssl_ca_cert_file, - owner => 'root', - group => 'root', - mode => '0644', - selrange => s0, - selrole => object_r, - seltype => cert_t, - seluser => system_u, - content => template($ne_ssl_ca_cert_erb), - } + # file for ssl certificate + if $ne_enable_ssl == true { + file { $ne_ssl_cert_file: + ensure => file, + path => $ne_ssl_cert_file, + owner => 'root', + group => 'root', + mode => '0644', + selrange => s0, + selrole => object_r, + seltype => cert_t, + seluser => system_u, + content => template($ne_ssl_cert_erb), + } + file { $ne_ssl_privatekey_file: + ensure => file, + path => $ne_ssl_privatekey_file, + owner => 'root', + group => 'root', + mode => '0600', + selrange => s0, + selrole => object_r, + seltype => cert_t, + seluser => system_u, + content => template($ne_ssl_privatekey_erb), + } + file { $ne_ssl_ca_cert_file: + ensure => file, + path => $ne_ssl_ca_cert_file, + owner => 'root', + group => 'root', + mode => '0644', + selrange => s0, + selrole => object_r, + seltype => cert_t, + seluser => system_u, + content => template($ne_ssl_ca_cert_erb), } } } diff --git a/manifests/params.pp b/manifests/params.pp index 5bcf209..360095d 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -115,7 +115,7 @@ class confdroid_nrpe::params ( String $ne_command_timeout = '60', String $ne_connection_timeout = '300', String $ne_allow_weak_rnd_seed = '1', - Boolean $ne_enable_ssl = false, + Boolean $ne_enable_ssl = true, String $ne_ssl_version = 'TLSv2+', String $ne_ssl_use_adh = '1', String $ne_ssl_cipher_list = 'ALL:!aNULL:!eNULL:!SSLv2:!LOW:!EXP:!RC4:!MD5:@STRENGTH',