This commit is contained in:
Arne Teuke
2025-03-02 23:30:48 +01:00
parent 297a698fc8
commit e8ba6e64bc
30 changed files with 310 additions and 4637 deletions

View File

@@ -1,30 +1,10 @@
## cd_fail2ban::main::config.pp
# Module name: cd_fail2ban
## fail2ban_cd::main::config.pp
# Module name: fail2ban_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# License:
# This file is part of cd_fail2ban.
#
# cd_fail2ban is used for providing automatic configuration of Fail2Ban
# Copyright (C) 2017 confdroid (copyright@confdroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class manages all aspects of configuring the module logic for
# cd_fail2ban.
# @summary Class manages the module logic for fail2ban_cd.
##############################################################################
class cd_fail2ban::main::config (
) inherits cd_fail2ban::params {
include cd_fail2ban::main::service
class fail2ban_cd::main::config (
) inherits fail2ban_cd::params {
include fail2ban_cd::main::service
}

View File

@@ -1,128 +1,108 @@
## cd_fail2ban::main::dirs.pp
# Module name: cd_fail2ban
## fail2ban_cd::main::dirs.pp
# Module name: fail2ban_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# License:
# This file is part of cd_fail2ban.
#
# cd_fail2ban is used for providing automatic configuration of Fail2Ban
# Copyright (C) 2017 confdroid (copyright@confdroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class manages all directories required for cd_fail2ban.
# @summary Class manages all directories required for fail2ban_cd.
###############################################################################
class cd_fail2ban::main::dirs (
class fail2ban_cd::main::dirs (
) inherits cd_fail2ban::params {
require cd_fail2ban::main::install
) inherits fail2ban_cd::params {
require fail2ban_cd::main::install
# manage main dir
file { $fn_main_dir:
ensure => directory,
path => $fn_main_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
ensure => directory,
path => $fn_main_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
}
# manage action.d dir
file { $fn_action_d_dir:
ensure => directory,
path => $fn_action_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
ensure => directory,
path => $fn_action_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
}
# manage fail2ban.d dir
file { $fn_fail2ban_d_dir:
ensure => directory,
path => $fn_fail2ban_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
ensure => directory,
path => $fn_fail2ban_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
}
# manage filter.d dir
file { $fn_filter_d_dir:
ensure => directory,
path => $fn_filter_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
ensure => directory,
path => $fn_filter_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
}
# manage jail.d dir
file { $fn_jail_d_dir:
ensure => directory,
path => $fn_jail_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
ensure => directory,
path => $fn_jail_d_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
}
# manage /var/lib/fail2ban
file { $fn_var_lib_dir:
ensure => directory,
path => $fn_var_lib_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => fail2ban_var_lib_t,
seluser => system_u,
ensure => directory,
path => $fn_var_lib_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => fail2ban_var_lib_t,
seluser => system_u,
}
# manage /var/run/fail2bam
file { $fn_var_run_dir:
ensure => directory,
path => $fn_var_run_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => fail2ban_var_run_t,
seluser => system_u,
ensure => directory,
path => $fn_var_run_dir,
owner => 'root',
group => 'root',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => fail2ban_var_run_t,
seluser => system_u,
}
}

View File

@@ -1,111 +1,92 @@
## cd_fail2ban::main::files.pp
# Module name: cd_fail2ban
## fail2ban_cd::main::files.pp
# Module name: fail2ban_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# License:
# This file is part of cd_fail2ban.
#
# cd_fail2ban is used for providing automatic configuration of Fail2Ban
# Copyright (C) 2017 confdroid (copyright@confdroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class manages all configuration files required for cd_fail2ban.
# @summary Class manages all configuration files required for fail2ban_cd.
##############################################################################
class cd_fail2ban::main::files (
class fail2ban_cd::main::files (
) inherits cd_fail2ban::params {
require cd_fail2ban::main::dirs
) inherits fail2ban_cd::params {
require fail2ban_cd::main::dirs
if $fn_manage_config == true {
# manage fail2ban.conf
file { $fn_fail2ban_conf_file:
ensure => file,
path => $fn_fail2ban_conf_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_fail2ban_conf_erb),
notify => Service[$fn_service],
ensure => file,
path => $fn_fail2ban_conf_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_fail2ban_conf_erb),
notify => Service[$fn_service],
}
# manage fail2ban.local
file { $fn_fail2ban_local_file:
ensure => file,
path => $fn_fail2ban_local_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_fail2ban_local_erb),
notify => Service[$fn_service],
ensure => file,
path => $fn_fail2ban_local_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_fail2ban_local_erb),
notify => Service[$fn_service],
}
# manage jail.conf
file { $fn_jail_conf_file:
ensure => file,
path => $fn_jail_conf_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_jail_conf_erb),
notify => Service[$fn_service],
ensure => file,
path => $fn_jail_conf_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_jail_conf_erb),
notify => Service[$fn_service],
}
# manage jail.local
file { $fn_jail_local_file:
ensure => file,
path => $fn_jail_local_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_jail_local_erb),
notify => Service[$fn_service],
ensure => file,
path => $fn_jail_local_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_jail_local_erb),
notify => Service[$fn_service],
}
# manage paths-common.conf
file { $fn_paths_common_file:
ensure => file,
path => $fn_paths_common_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_paths_common_erb),
notify => Service[$fn_service],
ensure => file,
path => $fn_paths_common_file,
owner => 'root',
group => 'root',
mode => '0640',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($fn_paths_common_erb),
notify => Service[$fn_service],
}
}
}

View File

@@ -1,34 +1,14 @@
## cd_fail2ban::main::install.pp
# Module name: cd_fail2ban
## fail2ban_cd::main::install.pp
# Module name: fail2ban_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# License:
# This file is part of cd_fail2ban.
#
# cd_fail2ban is used for providing automatic configuration of Fail2Ban
# Copyright (C) 2017 confdroid (copyright@confdroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class manage all aspects of installing binaries required for
# cd_fail2ban
# @summary Class installs binaries required for fail2ban_cd
###############################################################################
class cd_fail2ban::main::install (
) inherits cd_fail2ban::params {
class fail2ban_cd::main::install (
) inherits fail2ban_cd::params {
require cd_resources
package {$reqpackages:
package { $reqpackages:
ensure => $pkg_ensure,
}
}

View File

@@ -1,36 +1,17 @@
## cd_fail2ban::main::service.pp
# Module name: cd_fail2ban
## fail2ban_cd::main::service.pp
# Module name: fail2ban_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# License:
# This file is part of cd_fail2ban.
#
# cd_fail2ban is used for providing automatic configuration of Fail2Ban
# Copyright (C) 2017 confdroid (copyright@confdroid.com)
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# @summary Class manages the service(s) for cd_fail2ban.
# @summary Class manages the service(s) for fail2ban_cd.
#############################################################################
class cd_fail2ban::main::service (
class fail2ban_cd::main::service (
) inherits cd_fail2ban::params {
require cd_fail2ban::main::files
) inherits fail2ban_cd::params {
require fail2ban_cd::main::files
service { $fn_service:
ensure => $fn_enable_service,
hasstatus => true,
hasrestart => true,
enable => true,
ensure => $fn_enable_service,
hasstatus => true,
hasrestart => true,
enable => true,
}
}