Newer
Older
# Similar to base::ssh::global but with protection against a brute force attack by
# blocking too-frequent connections from one source. Also ignore failed login
# attempts.
# FIXME: Change parameters to something more meaningful and make variables
# used by the template match the parameter names.
class base::ssh::defense(
$secs = 300,
$limit = 5
) inherits base::ssh::ignore_fail {
$ssh_lock_secs = $secs
$ssh_lock_count = $limit
base::iptables::fragment-template { 'ssh-defense':
ensure => present,
content => template('base/iptables/ssh-defense.erb'),
}
file { '/etc/filter-syslog/ssh-defense':
source => 'puppet:///modules/base/ssh/etc/filter-syslog/ssh-defense',
}
# Reduce the number of allowed auth failures to 2 to cut down on brute-force
# password guessing.
Base::Ssh::Config::Sshd['/etc/ssh/sshd_config'] {
max_tries => 2,
}
}