120 lines
2.6 KiB
Puppet
120 lines
2.6 KiB
Puppet
# Install abusehelper.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# $datadir:
|
|
# Abusehelper home directory. Defaults to /var/lib/ah2.
|
|
#
|
|
# $botnets:
|
|
# Array of botnet paths to start at boot.
|
|
#
|
|
# $botuser:
|
|
# User to run bots as. Defaults to abusehel.
|
|
#
|
|
class abusehelper(
|
|
$datadir='/var/lib/ah2',
|
|
$botnets=undef,
|
|
$botuser='abusehel'
|
|
) {
|
|
|
|
if ! $abusehelper_package {
|
|
if $::abusehelper_package_latest {
|
|
$abusehelper_package = $::abusehelper_package_latest
|
|
} else {
|
|
fail('Must define $abusehelper_package or $abusehelper_package_latest')
|
|
}
|
|
}
|
|
|
|
if ! $idiokit_package {
|
|
if $::idiokit_package_latest {
|
|
$idiokit_package = $::idiokit_package_latest
|
|
} else {
|
|
fail('Must define $idiokit_package or $idiokit_package_latest')
|
|
}
|
|
}
|
|
|
|
python::pip::install { 'idiokit.tar.gz':
|
|
source => "puppet:///files/packages/${idiokit_package}",
|
|
} ->
|
|
python::pip::install { 'abusehelper.tar.gz':
|
|
source => "puppet:///files/packages/${abusehelper_package}",
|
|
}
|
|
|
|
include user::system
|
|
realize(User['abusehel'], Group['abusehel'])
|
|
|
|
if $datadir != '/var/lib/ah2' {
|
|
file { '/var/lib/ah2':
|
|
ensure => link,
|
|
target => $datadir,
|
|
}
|
|
}
|
|
|
|
file { $datadir:
|
|
ensure => directory,
|
|
mode => '2770',
|
|
owner => 'abusehel',
|
|
group => 'abusehel',
|
|
}
|
|
|
|
file { '/var/lib/ah2/.profile':
|
|
ensure => present,
|
|
replace => false,
|
|
mode => '0600',
|
|
owner => 'abusehel',
|
|
group => 'abusehel',
|
|
content => "umask 007\n",
|
|
}
|
|
|
|
if $botnets {
|
|
class { 'abusehelper::init':
|
|
botnets => $botnets,
|
|
botuser => $botuser,
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install abusehelper init script.
|
|
#
|
|
class abusehelper::init($botnets, $botuser) {
|
|
|
|
file { '/etc/sysconfig/botnet':
|
|
ensure => present,
|
|
name => $::operatingsystem ? {
|
|
'debian' => '/etc/default/botnet',
|
|
'ubuntu' => '/etc/default/botnet',
|
|
default => '/etc/sysconfig/botnet',
|
|
},
|
|
mode => '0644',
|
|
owner => 'root',
|
|
group => 'root',
|
|
content => template('abusehelper/botnet.sysconfig.erb'),
|
|
before => Service['botnet'],
|
|
}
|
|
|
|
file { '/etc/init.d/botnet':
|
|
ensure => present,
|
|
mode => '0755',
|
|
owner => 'root',
|
|
group => 'root',
|
|
source => 'puppet:///modules/abusehelper/botnet.init',
|
|
notify => Exec['add-service-botnet'],
|
|
}
|
|
exec { 'add-service-botnet':
|
|
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
|
command => $::operatingsystem ? {
|
|
'debian' => 'update-rc.d botnet defaults',
|
|
'ubuntu' => 'update-rc.d botnet defaults',
|
|
default => 'chkconfig --add botnet',
|
|
},
|
|
refreshonly => true,
|
|
before => Service['botnet'],
|
|
}
|
|
|
|
service { 'botnet':
|
|
enable => true,
|
|
}
|
|
|
|
}
|