X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/32f927961e3de0f3719c4481a12ae213471efa96..991ae6ada47ad4cf8c8a8104c400ef1e83c5a9fc:/cookbooks/apache/recipes/default.rb diff --git a/cookbooks/apache/recipes/default.rb b/cookbooks/apache/recipes/default.rb index f3a62fe43..cade29d31 100644 --- a/cookbooks/apache/recipes/default.rb +++ b/cookbooks/apache/recipes/default.rb @@ -18,13 +18,13 @@ # include_recipe "fail2ban" -include_recipe "munin" include_recipe "prometheus" include_recipe "ssl" package %w[ apache2 libwww-perl + logrotate ] %w[event itk prefork worker].each do |mpm| @@ -62,13 +62,6 @@ systemd_service "apache2" do notifies :restart, "service[apache2]" end -service "apache2" do - action [:enable, :start] - retries 2 - retry_delay 10 - supports :status => true, :restart => true, :reload => true -end - apache_module "info" do conf "info.conf.erb" variables :hosts => admins["hosts"] @@ -79,7 +72,7 @@ apache_module "status" do variables :hosts => admins["hosts"] end -if node[:apache][:evasive] +if node[:apache][:evasive][:enable] apache_module "evasive" do conf "evasive.conf.erb" end @@ -104,21 +97,34 @@ apache_conf "ssl" do template "ssl.erb" end +# Apache should only be started after modules enabled +service "apache2" do + action [:enable, :start] + retries 2 + retry_delay 10 + supports :status => true, :restart => true, :reload => true +end + fail2ban_filter "apache-forbidden" do - failregex '^ .* "[^"]*" 403 .*$' + action :delete end fail2ban_jail "apache-forbidden" do - filter "apache-forbidden" - logpath "/var/log/apache2/access.log" - ports [80, 443] - findtime "1m" - maxretry 50 + action :delete end -munin_plugin "apache_accesses" -munin_plugin "apache_processes" -munin_plugin "apache_volume" +fail2ban_filter "apache-evasive" do + failregex ": Blacklisting address : possible DoS attack\.$" +end + +fail2ban_jail "apache-evasive" do + filter "apache-evasive" + backend "systemd" + journalmatch "_SYSTEMD_UNIT=apache2.service SYSLOG_IDENTIFIER=mod_evasive" + ports [80, 443] + findtime "10m" + maxretry 3 +end template "/var/lib/prometheus/node-exporter/apache.prom" do source "apache.prom.erb"