Documentation by YARD 0.9.16
+Alphabetic Index
+ +Puppet Class Listing A-Z
+ + +
+
+
+
|
+
File Listing
+-
+
+
+
- README + + +
diff --git a/.scannerwork/.sonar_lock b/.scannerwork/.sonar_lock new file mode 100644 index 0000000..e69de29 diff --git a/.scannerwork/class-mapping.csv b/.scannerwork/class-mapping.csv new file mode 100644 index 0000000..e69de29 diff --git a/.scannerwork/report-task.txt b/.scannerwork/report-task.txt new file mode 100644 index 0000000..97c36d8 --- /dev/null +++ b/.scannerwork/report-task.txt @@ -0,0 +1,6 @@ +projectKey=cd_fail2ban +serverUrl=http://sonarqube.confdroid.com +serverVersion=7.9.1.27448 +dashboardUrl=http://sonarqube.confdroid.com/dashboard?id=cd_fail2ban +ceTaskId=AXvFO0GOYo9HjDKVQ1hJ +ceTaskUrl=http://sonarqube.confdroid.com/api/ce/task?id=AXvFO0GOYo9HjDKVQ1hJ diff --git a/doc/_index.html b/doc/_index.html new file mode 100644 index 0000000..94b5f5f --- /dev/null +++ b/doc/_index.html @@ -0,0 +1,142 @@ + + +
+ + +
+
+
+
|
+
| t |
+ + + +23 +24 +25+ |
+
+ # File 'manifests/init.pp', line 23
+
+class cd_fail2ban {
+ include cd_fail2ban::params
+}
+ |
+
cd_fail2ban::main::config.pp Module name: cd_fail2ban 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 www.gnu.org/licenses/.
+ +
+ + + +24 +25 +26 +27 +28 +29 +30+ |
+
+ # File 'manifests/main/config.pp', line 24
+
+class cd_fail2ban::main::config (
+
+) inherits cd_fail2ban::params {
+
+ include cd_fail2ban::main::service
+
+}
+ |
+
cd_fail2ban::main::dirs.pp Module name: cd_fail2ban 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 www.gnu.org/licenses/.
+ +
+ + + +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128+ |
+
+ # File 'manifests/main/dirs.pp', line 23
+
+class cd_fail2ban::main::dirs (
+
+) inherits cd_fail2ban::params {
+
+ require cd_fail2ban::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,
+ }
+
+ # 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,
+ }
+
+ # 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,
+ }
+
+ # 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,
+ }
+
+ # 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,
+ }
+
+ # 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,
+ }
+
+ # 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,
+ }
+
+
+}
+ |
+
cd_fail2ban::main::files.pp Module name: cd_fail2ban 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 www.gnu.org/licenses/.
+ +
+ + + +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111+ |
+
+ # File 'manifests/main/files.pp', line 23
+
+class cd_fail2ban::main::files (
+
+) inherits cd_fail2ban::params {
+
+ require cd_fail2ban::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],
+ }
+
+ # 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],
+ }
+
+ # 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],
+ }
+
+ # 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],
+ }
+
+ # 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],
+ }
+ }
+}
+ |
+
cd_fail2ban::main::install.pp Module name: cd_fail2ban 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 www.gnu.org/licenses/.
+ +
+ + + +24 +25 +26 +27 +28 +29 +30 +31 +32 +33+ |
+
+ # File 'manifests/main/install.pp', line 24
+
+class cd_fail2ban::main::install (
+
+) inherits cd_fail2ban::params {
+
+ require cd_resources
+
+ package {$reqpackages:
+ ensure => $pkg_ensure,
+ }
+}
+ |
+
cd_fail2ban::main::service.pp Module name: cd_fail2ban 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 www.gnu.org/licenses/.
+ +
+ + + +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36+ |
+
+ # File 'manifests/main/service.pp', line 23
+
+class cd_fail2ban::main::service (
+
+) inherits cd_fail2ban::params {
+
+ require cd_fail2ban::main::files
+
+ service { $fn_service:
+ ensure => $fn_enable_service,
+ hasstatus => true,
+ hasrestart => true,
+ enable => true,
+ }
+
+}
+ |
+
cd_fail2ban::params.pp Module name: cd_fail2ban 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 www.gnu.org/licenses/.
+CRITICAL,ERROR,WARNING,NOTICE,INFO
+and DEBUG. @param [string] Report ban via badips.com, and use
+as blacklist
+ + + +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217+ |
+
+ # File 'manifests/params.pp', line 122
+
+class cd_fail2ban::params (
+
+# installation
+$pkg_ensure = 'latest',
+$reqpackages = ['fail2ban','fail2ban-firewalld',
+ 'fail2ban-sendmail','fail2ban-server.noarch',
+ 'whois'],
+# urls
+$fn_extra_repo_url = 'http://repo.okay.com.mx/centos/latest/x86_64/release/okay-release-1-3.el8.noarch.rpm',
+
+$fn_manage_config = true,
+$fn_enable_service = 'running',
+
+# fail2ban.conf/local
+
+$fn_loglevel = 'INFO',
+$fn_logtarget = 'SYSLOG',
+$fn_syslogsocket = 'auto',
+$fn_socket = '/var/run/fail2ban/fail2ban.sock',
+$fn_pidfile = '/var/run/fail2ban/fail2ban.pid',
+$fn_dbfile = '/var/lib/fail2ban/fail2ban.sqlite3',
+$fn_dbpurgeage = '86400',
+
+# jail.conf/local
+$fn_ignoreip = '127.0.0.1/8',
+$fn_ignorecommand = '',
+$fn_bantime = '600',
+$fn_findtime = '600',
+$fn_maxretry = '5',
+$fn_backend = 'auto',
+$fn_usedns = 'warn',
+$fn_logencoding = 'auto',
+$fn_enabled = false,
+$fn_filter = '%(__name__)s',
+$fn_destemail = 'root@localhost',
+$fn_sender = "fail2ban@${::fqdn}",
+$fn_mta = 'sendmail',
+$fn_protocol = 'tcp',
+$fn_chain = 'INPUT',
+$fn_port = '0:65535',
+$fn_fail2ban_agent = 'Fail2Ban/%(fail2ban_version)s',
+$fn_banaction = 'iptables-multiport',
+$fn_banaction_allports = 'iptables-allports',
+$fn_action_ = '%(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]',
+$fn_action_mw = '%(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
+ %(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]',
+$fn_action_mwl = '%(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
+ %(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]',
+$fn_action_xarf = '%(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
+ xarf-login-attack[service=%(__name__)s, sender="%(sender)s", logpath=%(logpath)s, port="%(port)s"]',
+$fn_action_cf_mwl = 'cloudflare[cfuser="%(cfemail)s", cftoken="%(cfapikey)s"]
+ %(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]',
+$fn_action_blocklist_de = 'blocklist_de[email="%(sender)s", service=%(filter)s, apikey="%(blocklist_de_apikey)s", agent="%(fail2ban_agent)s"]',
+$fn_action_badips = 'badips.py[category="%(__name__)s", banaction="%(banaction)s", agent="%(fail2ban_agent)s"]',
+$fn_action_badips_report = 'badips[category="%(__name__)s", agent="%(fail2ban_agent)s"]',
+$fn_default_action = 'action_',
+
+
+) {
+
+$fn_jail_paths = $::operatingsystem ? {
+ /(?i-mx:centos|fedora|redhat)/ => 'fedora',
+ }
+
+# shortcuts
+$fn_os = $::operatingsystem
+
+# service
+$fn_service = 'fail2ban'
+
+# directories
+$fn_main_dir = '/etc/fail2ban'
+$fn_action_d_dir = "${fn_main_dir}/action.d"
+$fn_fail2ban_d_dir = "${fn_main_dir}/fail2ban.d"
+$fn_filter_d_dir = "${fn_main_dir}/filter.d"
+$fn_jail_d_dir = "${fn_main_dir}/jail.d"
+$fn_var_lib_dir = '/var/lib/fail2ban'
+$fn_var_run_dir = '/var/run/fail2ban'
+
+# files
+$fn_fail2ban_conf_file = "${fn_main_dir}/fail2ban.conf"
+$fn_fail2ban_conf_erb = 'cd_fail2ban/fail2ban_conf.erb'
+$fn_fail2ban_local_file = "${fn_main_dir}/fail2ban.local"
+$fn_fail2ban_local_erb = 'cd_fail2ban/fail2ban_local.erb'
+$fn_jail_conf_file = "${fn_main_dir}/jail.conf"
+$fn_jail_conf_erb = 'cd_fail2ban/jail_conf.erb'
+$fn_jail_local_file = "${fn_main_dir}/jail.local"
+$fn_jail_local_erb = 'cd_fail2ban/jail_local.erb'
+$fn_paths_common_file = "${fn_main_dir}/paths-common.conf"
+$fn_paths_common_erb = 'cd_fail2ban/paths_common_conf.erb'
+
+# includes must be last
+
+ include cd_fail2ban::main::config
+
+}
+ |
+