Documentation by YARD 0.9.26
-Alphabetic Index
- -Puppet Class Listing A-Z
- - -
-
-
-
|
-
File Listing
--
-
-
-
- README - - -
diff --git a/.mdl_style.rb b/.mdl_style.rb new file mode 100644 index 0000000..5d4d3b9 --- /dev/null +++ b/.mdl_style.rb @@ -0,0 +1,3 @@ +all +rule 'MD013', :line_length => 1000 +exclude_rule 'MD036' diff --git a/.mdlrc b/.mdlrc new file mode 100644 index 0000000..e5c563a --- /dev/null +++ b/.mdlrc @@ -0,0 +1,2 @@ +style '.mdl_style.rb' + diff --git a/.spelling b/.spelling new file mode 100644 index 0000000..3935583 --- /dev/null +++ b/.spelling @@ -0,0 +1,43 @@ +# markdown-spellcheck spelling configuration file +# Format - lines begining # are comments +# global dictionary is at the start, file overrides afterwards +# one word per line, to define a file override use ' - filename' +# where filename is relative to this configuration file +Readme.md +httpd +sudo +selinux +site.pp +nodes.pp +cd_apache +:: +params +Foreman +cd_resources +CentOS +Puppet +ConfDroid +nagios +vHosts +vHost +phpMyAdmin +phpPgAdmin +parameterized +erb +Confdroid.com +UTF_Files +Elasticsearch +cd_firewall +puppetlabs +cd_elasticsearch +fail2ban_cd +Fail2Ban +intrusion +fail2ban +firewalld +prevention +management +CentOS7 +auto-installed +ipv4 +ipv6 diff --git a/README.md b/README.md index cffdfca..8c90b9f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Fail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks. -`cd_fail2ban` is a Puppet module to automate installation, configuration and management of fail2ban settings and rules. +`fail2ban_cd` is a Puppet module to automate installation, configuration and management of fail2ban settings and rules. ## WARNING @@ -50,7 +50,7 @@ node 'example.example.net' { * through Foreman: -In order to apply parameters through Foreman, **__cd_fail2ban::params__** must be added to the host or host group in question. +In order to apply parameters through Foreman, **__fail2ban_cd::params__** must be added to the host or host group in question. See [more details about class deployment on Confdroid.com](https://confdroid.com/2017/05/deploying-our-puppet-modules/). diff --git a/doc/_index.html b/doc/_index.html deleted file mode 100644 index 2e5d231..0000000 --- a/doc/_index.html +++ /dev/null @@ -1,143 +0,0 @@ - - -
- - -
-
-
-
|
-
| 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)
-CRITICAL,ERROR,WARNING,NOTICE,INFO
-and DEBUG.
- - - -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -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- |
-
- # File 'manifests/params.pp', line 108
-
-class cd_fail2ban::params (
-
-# installation
-$pkg_ensure = 'latest',
-$reqpackages = ['fail2ban','fail2ban-firewalld',
- 'fail2ban-sendmail','fail2ban-server.noarch',
- 'whois'],
-
-$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 = '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
-
-}
- |
-