|
40 | 40 | directory cache_dir |
41 | 41 |
|
42 | 42 | # installs package name |
| 43 | +ohai 'reload' do |
| 44 | + action :nothing |
| 45 | +end |
| 46 | + |
43 | 47 | package 'openssh-server' do |
44 | 48 | package_name node['ssh-hardening']['sshserver']['package'] |
| 49 | + # we need to reload the package version, otherwise we get the version that was installed before cookbook execution |
| 50 | + notifies :reload, 'ohai[reload]', :immediate |
45 | 51 | end |
46 | 52 |
|
47 | 53 | # Handle addional SELinux policy on RHEL/Fedora for different UsePAM options |
|
168 | 174 | owner 'root' |
169 | 175 | group 'root' |
170 | 176 | variables( |
171 | | - mac: node['ssh-hardening']['ssh']['server']['mac'] || DevSec::Ssh.get_server_macs(node['ssh-hardening']['ssh']['server']['weak_hmac']), |
172 | | - kex: node['ssh-hardening']['ssh']['server']['kex'] || DevSec::Ssh.get_server_kexs(node['ssh-hardening']['ssh']['server']['weak_kex']), |
173 | | - cipher: node['ssh-hardening']['ssh']['server']['cipher'] || DevSec::Ssh.get_server_ciphers(node['ssh-hardening']['ssh']['server']['cbc_required']), |
174 | | - use_priv_sep: node['ssh-hardening']['ssh']['use_privilege_separation'] || DevSec::Ssh.get_server_privilege_separarion, |
175 | | - hostkeys: node['ssh-hardening']['ssh']['server']['host_key_files'] || DevSec::Ssh.get_server_algorithms.map { |alg| "/etc/ssh/ssh_host_#{alg}_key" } |
| 177 | + # we do lazy here to ensure we detect the version that comes with the packge update above |
| 178 | + lazy do |
| 179 | + { |
| 180 | + mac: node['ssh-hardening']['ssh']['server']['mac'] || DevSec::Ssh.get_server_macs(node['ssh-hardening']['ssh']['server']['weak_hmac']), |
| 181 | + kex: node['ssh-hardening']['ssh']['server']['kex'] || DevSec::Ssh.get_server_kexs(node['ssh-hardening']['ssh']['server']['weak_kex']), |
| 182 | + cipher: node['ssh-hardening']['ssh']['server']['cipher'] || DevSec::Ssh.get_server_ciphers(node['ssh-hardening']['ssh']['server']['cbc_required']), |
| 183 | + use_priv_sep: node['ssh-hardening']['ssh']['use_privilege_separation'] || DevSec::Ssh.get_server_privilege_separarion, |
| 184 | + hostkeys: node['ssh-hardening']['ssh']['server']['host_key_files'] || DevSec::Ssh.get_server_algorithms.map { |alg| "/etc/ssh/ssh_host_#{alg}_key" } |
| 185 | + } |
| 186 | + end |
176 | 187 | ) |
177 | 188 | notifies :restart, 'service[sshd]' |
178 | 189 | end |
|
0 commit comments