Disable unsupported firewall features on boitata
authorTom Hughes <tom@compton.nu>
Fri, 15 Mar 2019 16:45:22 +0000 (16:45 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 15 Mar 2019 16:50:54 +0000 (16:50 +0000)
cookbooks/networking/attributes/default.rb
cookbooks/networking/recipes/default.rb
cookbooks/networking/templates/default/shorewall.conf.erb
cookbooks/networking/templates/default/shorewall6.conf.erb
roles/boitata.rb

index e7dcf26..f7db877 100644 (file)
@@ -2,6 +2,10 @@ default[:networking][:firewall][:inet] = []
 default[:networking][:firewall][:inet6] = []
 default[:networking][:firewall][:http_rate_limit] = "-"
 default[:networking][:firewall][:http_connection_limit] = "-"
+default[:networking][:firewall][:log] = true
+default[:networking][:firewall][:mark] = true
+default[:networking][:firewall][:raw] = true
+default[:networking][:firewall][:mangle] = true
 default[:networking][:interfaces] = {}
 default[:networking][:nameservers] = []
 default[:networking][:search] = []
index 51f3f43..c45daae 100644 (file)
@@ -185,6 +185,7 @@ template "/etc/shorewall/conntrack" do
   group "root"
   mode 0o644
   notifies :restart, "service[shorewall]"
+  only_if { node[:networking][:firewall][:raw] }
 end
 
 template "/etc/shorewall/policy" do
@@ -305,6 +306,7 @@ unless node.interfaces(:family => :inet6).empty?
     group "root"
     mode 0o644
     notifies :restart, "service[shorewall6]"
+    only_if { node[:networking][:firewall][:raw] }
   end
 
   template "/etc/shorewall6/policy" do
index 8720866..290c73f 100644 (file)
@@ -28,7 +28,11 @@ FIREWALL=
 #                             L O G G I N G
 ###############################################################################
 
+<% if node[:networking][:firewall][:log] -%>
 LOG_LEVEL="info"
+<% else -%>
+LOG_LEVEL="none"
+<% end -%>
 
 BLACKLIST_LOG_LEVEL=
 
@@ -142,7 +146,11 @@ BALANCE_PROVIDERS=No
 
 BASIC_FILTERS=No
 
+<% if node[:networking][:firewall][:raw] -%>
 BLACKLIST="NEW,INVALID,UNTRACKED"
+<% else -%>
+BLACKLIST="NEW,INVALID"
+<% end -%>
 
 CLAMPMSS=No
 
@@ -230,7 +238,11 @@ SAVE_ARPTABLES=No
 
 SAVE_IPSETS=No
 
+<% if node[:networking][:firewall][:mangle] -%>
 TC_ENABLED=Internal
+<% else -%>
+TC_ENABLED=No
+<% end -%>
 
 TC_EXPERT=No
 
index c6c1104..a98408e 100644 (file)
@@ -28,7 +28,11 @@ FIREWALL=
 #                             L O G G I N G
 ###############################################################################
 
+<% if node[:networking][:firewall][:log] -%>
 LOG_LEVEL="info"
+<% else -%>
+LOG_LEVEL="none"
+<% end -%>
 
 BLACKLIST_LOG_LEVEL=
 
@@ -134,7 +138,11 @@ BALANCE_PROVIDERS=No
 
 BASIC_FILTERS=No
 
+<% if node[:networking][:firewall][:raw] -%>
 BLACKLIST="NEW,INVALID,UNTRACKED"
+<% else -%>
+BLACKLIST="NEW,INVALID"
+<% end -%>
 
 CLAMPMSS=No
 
@@ -156,7 +164,11 @@ EXPORTMODULES=Yes
 
 FASTACCEPT=No
 
+<% if node[:networking][:firewall][:mark] -%>
 FORWARD_CLEAR_MARK=Yes
+<% else -%>
+FORWARD_CLEAR_MARK=No
+<% end -%>
 
 HELPERS=
 
@@ -204,7 +216,11 @@ RESTORE_ROUTEMARKS=Yes
 
 SAVE_IPSETS=No
 
+<% if node[:networking][:firewall][:mangle] -%>
 TC_ENABLED=Shared
+<% else -%>
+TC_ENABLED=No
+<% end -%>
 
 TC_EXPERT=No
 
index d0fcef8..8bf964a 100644 (file)
@@ -3,6 +3,12 @@ description "Master role applied to boitata"
 
 default_attributes(
   :networking => {
+    :firewall => {
+      :log => false,
+      :mark => false,
+      :raw => false,
+      :mangle => false
+    },
     :interfaces => {
       :external_ipv4 => {
         :interface => "ens3",