diff options
| author | David M. Syzdek <syzdek@bindlebinaries.com> | 2018-08-14 14:53:38 -0800 |
|---|---|---|
| committer | David M. Syzdek <syzdek@bindlebinaries.com> | 2018-08-14 14:53:38 -0800 |
| commit | 0278c49a240312d5c65959cf32a1165f064fbd92 (patch) | |
| tree | beb0536f831912451eaad359d14dbca0fceaf9f8 | |
| parent | a3db4265d3e96c09e30df67133bcc635ebf63176 (diff) | |
| download | bbfw-0278c49a240312d5c65959cf32a1165f064fbd92.tar.gz bbfw-0278c49a240312d5c65959cf32a1165f064fbd92.tar.bz2 bbfw-0278c49a240312d5c65959cf32a1165f064fbd92.tar.xz bbfw-0278c49a240312d5c65959cf32a1165f064fbd92.zip | |
Abstracting global rules into /etc/firewall.d/global.d using the same names as local rules
| -rwxr-xr-x | src/slack/rc.firewall.in | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/src/slack/rc.firewall.in b/src/slack/rc.firewall.in index b47b975..c9df5ef 100755 --- a/src/slack/rc.firewall.in +++ b/src/slack/rc.firewall.in | |||
| @@ -39,36 +39,36 @@ | |||
| 39 | # | 39 | # |
| 40 | # Files are processed in the following order: | 40 | # Files are processed in the following order: |
| 41 | # | 41 | # |
| 42 | # /etc/firewall.d/global-pre - centrally maintained pre-hook script | 42 | # /etc/firewall.d/global.d/rules-pre - centrally maintained pre-hook script |
| 43 | # /etc/firewall.d/apps.d/*.pre - app pre-hook script | 43 | # /etc/firewall.d/apps.d/*.pre - app pre-hook script |
| 44 | # /etc/firewall.d/cluster/rules-pre - cluster specific pre-hook script | 44 | # /etc/firewall.d/cluster/rules-pre - cluster specific pre-hook script |
| 45 | # /etc/firewall.d/rules-pre - host specific pre-hook script | 45 | # /etc/firewall.d/rules-pre - host specific pre-hook script |
| 46 | # | 46 | # |
| 47 | # /etc/firewall.d/globalsets - centrally maintained IP sets | 47 | # /etc/firewall.d/global.d/ipsets - centrally maintained IP sets |
| 48 | # /etc/firewall.d/apps.d/*.ipsets - app specific IP sets | 48 | # /etc/firewall.d/apps.d/*.ipsets - app specific IP sets |
| 49 | # /etc/firewall.d/cluster/ipsets - cluster specific IP sets | 49 | # /etc/firewall.d/cluster/ipsets - cluster specific IP sets |
| 50 | # /etc/firewall.d/ipsets - host specific IP sets | 50 | # /etc/firewall.d/ipsets - host specific IP sets |
| 51 | # | 51 | # |
| 52 | # /etc/firewall.d/apps.d/*.rules4 - app specific IPv4 firewall rules | 52 | # /etc/firewall.d/apps.d/*.rules4 - app specific IPv4 firewall rules |
| 53 | # /etc/firewall.d/apps.d/*.rules6 - app specific IPv6 firewall rules | 53 | # /etc/firewall.d/apps.d/*.rules6 - app specific IPv6 firewall rules |
| 54 | # /etc/firewall.d/apps.d/*.rules - app specific IPv4/IPv6 firewall rules | 54 | # /etc/firewall.d/apps.d/*.rules - app specific IPv4/IPv6 firewall rules |
| 55 | # | 55 | # |
| 56 | # /etc/firewall.d/rules4 - host specific IPv4 firewall rules | 56 | # /etc/firewall.d/rules4 - host specific IPv4 firewall rules |
| 57 | # /etc/firewall.d/rules6 - host specific IPv6 firewall rules | 57 | # /etc/firewall.d/rules6 - host specific IPv6 firewall rules |
| 58 | # /etc/firewall.d/rules - host specific IPv4/IPv6 firewall rules | 58 | # /etc/firewall.d/rules - host specific IPv4/IPv6 firewall rules |
| 59 | # | 59 | # |
| 60 | # /etc/firewall.d/cluster/rules4 - cluster specific IPv4 firewall rules | 60 | # /etc/firewall.d/cluster/rules4 - cluster specific IPv4 firewall rules |
| 61 | # /etc/firewall.d/cluster/rules6 - cluster specific IPv6 firewall rules | 61 | # /etc/firewall.d/cluster/rules6 - cluster specific IPv6 firewall rules |
| 62 | # /etc/firewall.d/cluster/rules - cluster specific IPv4/IPv6 firewall rules | 62 | # /etc/firewall.d/cluster/rules - cluster specific IPv4/IPv6 firewall rules |
| 63 | # | 63 | # |
| 64 | # /etc/firewall.d/global4 - centrally maintained IPv4 rules | 64 | # /etc/firewall.d/global.d/rules4 - centrally maintained IPv4 rules |
| 65 | # /etc/firewall.d/global6 - centrally maintained IPv6 rules | 65 | # /etc/firewall.d/global.d/rules6 - centrally maintained IPv6 rules |
| 66 | # /etc/firewall.d/global - centrally maintained IPv4/IPv6 rules | 66 | # /etc/firewall.d/global.d/rules - centrally maintained IPv4/IPv6 rules |
| 67 | # | 67 | # |
| 68 | # /etc/firewall.d/global-post - centrally maintained post-hook script | 68 | # /etc/firewall.d/global.d/rules-post - centrally maintained post-hook script |
| 69 | # /etc/firewall.d/apps.d/*.post - app post-hook script | 69 | # /etc/firewall.d/apps.d/*.post - app post-hook script |
| 70 | # /etc/firewall.d/cluster/rules-post - host specific post-hook script | 70 | # /etc/firewall.d/cluster/rules-post - host specific post-hook script |
| 71 | # /etc/firewall.d/rules-post - host specific post-hook script | 71 | # /etc/firewall.d/rules-post - host specific post-hook script |
| 72 | # | 72 | # |
| 73 | 73 | ||
| 74 | 74 | ||
| @@ -193,30 +193,30 @@ load() | |||
| 193 | # Function to start the network: | 193 | # Function to start the network: |
| 194 | start() { | 194 | start() { |
| 195 | # run pre-hooks | 195 | # run pre-hooks |
| 196 | run_hook start ${FW_PREFIX}global-pre "running global pre-hook start ..." | 196 | run_hook start ${FW_PREFIX}global.d/rules-pre "running global pre-hook start ..." |
| 197 | for FILE in $( find_appfile pre );do | 197 | for FILE in $( find_appfile pre );do |
| 198 | run_hook start ${FILE} "running app pre-hook start (App: $(basename ${FILE})) ..." | 198 | run_hook start ${FILE} "running app pre-hook start (App: $(basename ${FILE})) ..." |
| 199 | done | 199 | done |
| 200 | run_hook start ${FW_PREFIX}cluster/rules-pre "running cluster pre-hook start ..." | 200 | run_hook start ${FW_PREFIX}cluster/rules-pre "running cluster pre-hook start ..." |
| 201 | run_hook start ${FW_PREFIX}rules-pre "running local pre-hook start ..." | 201 | run_hook start ${FW_PREFIX}rules-pre "running local pre-hook start ..." |
| 202 | 202 | ||
| 203 | # create IP sets | 203 | # create IP sets |
| 204 | load ipset ${FW_PREFIX}globalsets "adding global IP sets" | 204 | load ipset ${FW_PREFIX}global.d/ipsets "adding global IP sets" |
| 205 | for FILE in $( find_appfile ipsets );do | 205 | for FILE in $( find_appfile ipsets );do |
| 206 | load ipset ${FILE} "adding IP sets (App: $(basename ${FILE})) ..." | 206 | load ipset ${FILE} "adding IP sets (App: $(basename ${FILE})) ..." |
| 207 | done | 207 | done |
| 208 | load ipset ${FW_PREFIX}cluster/ipsets "adding cluster IP sets" | 208 | load ipset ${FW_PREFIX}cluster/ipsets "adding cluster IP sets" |
| 209 | load ipset ${FW_PREFIX}ipsets "adding local IP sets" | 209 | load ipset ${FW_PREFIX}ipsets "adding local IP sets" |
| 210 | 210 | ||
| 211 | # Application rules | 211 | # Application rules |
| 212 | for FILE in $( find_appfile rules4 );do | 212 | for FILE in $( find_appfile rules4 );do |
| 213 | load iptables ${FILE} "adding IPv4 rules (App: $(basename ${FILE})) ..." | 213 | load iptables ${FILE} "adding IPv4 rules (App: $(basename ${FILE})) ..." |
| 214 | done | 214 | done |
| 215 | for FILE in $( find_appfile rules6 );do | 215 | for FILE in $( find_appfile rules6 );do |
| 216 | load ip6tables ${FILE} "adding IPv6 rules (App: $(basename ${FILE})) ..." | 216 | load ip6tables ${FILE} "adding IPv6 rules (App: $(basename ${FILE})) ..." |
| 217 | done | 217 | done |
| 218 | for FILE in $( find_appfile rules );do | 218 | for FILE in $( find_appfile rules );do |
| 219 | load iptables ${FILE} "adding IPv4/IPv6 rules (App: $(basename ${FILE})) ..." | 219 | load iptables ${FILE} "adding IPv4/IPv6 rules (App: $(basename ${FILE})) ..." |
| 220 | load ip6tables ${FILE} | 220 | load ip6tables ${FILE} |
| 221 | done | 221 | done |
| 222 | 222 | ||
| @@ -232,42 +232,42 @@ start() { | |||
| 232 | fi | 232 | fi |
| 233 | 233 | ||
| 234 | # apply host specific firewall rules | 234 | # apply host specific firewall rules |
| 235 | load iptables ${FW_PREFIX}rules4 "adding IPv4 local rules" | 235 | load iptables ${FW_PREFIX}rules4 "adding IPv4 local rules" |
| 236 | load ip6tables ${FW_PREFIX}rules6 "adding IPv6 local rules" | 236 | load ip6tables ${FW_PREFIX}rules6 "adding IPv6 local rules" |
| 237 | load iptables ${FW_PREFIX}rules "adding IPv4/IPv6 local rules" | 237 | load iptables ${FW_PREFIX}rules "adding IPv4/IPv6 local rules" |
| 238 | load ip6tables ${FW_PREFIX}rules | 238 | load ip6tables ${FW_PREFIX}rules |
| 239 | 239 | ||
| 240 | # apply cluster specific firewall rules | 240 | # apply cluster specific firewall rules |
| 241 | load iptables ${FW_PREFIX}cluster/rules4 "adding IPv4 cluster rules" | 241 | load iptables ${FW_PREFIX}cluster/rules4 "adding IPv4 cluster rules" |
| 242 | load ip6tables ${FW_PREFIX}cluster/rules6 "adding IPv6 cluster rules" | 242 | load ip6tables ${FW_PREFIX}cluster/rules6 "adding IPv6 cluster rules" |
| 243 | load iptables ${FW_PREFIX}cluster/rules "adding IPv4/IPv6 cluster rules" | 243 | load iptables ${FW_PREFIX}cluster/rules "adding IPv4/IPv6 cluster rules" |
| 244 | load ip6tables ${FW_PREFIX}cluster/rules | 244 | load ip6tables ${FW_PREFIX}cluster/rules |
| 245 | 245 | ||
| 246 | # apply company policy for firewall rules | 246 | # apply company policy for firewall rules |
| 247 | load iptables ${FW_PREFIX}global4 "adding IPv4 global rules" | 247 | load iptables ${FW_PREFIX}global.d/rules4 "adding IPv4 global rules" |
| 248 | load ip6tables ${FW_PREFIX}global6 "adding IPv6 global rules" | 248 | load ip6tables ${FW_PREFIX}global.d/rules6 "adding IPv6 global rules" |
| 249 | load iptables ${FW_PREFIX}global "adding IPv4/IPv6 global rules" | 249 | load iptables ${FW_PREFIX}global.d/rules "adding IPv4/IPv6 global rules" |
| 250 | load ip6tables ${FW_PREFIX}global | 250 | load ip6tables ${FW_PREFIX}global.d/rules |
| 251 | 251 | ||
| 252 | # run post-hooks | 252 | # run post-hooks |
| 253 | run_hook start ${FW_PREFIX}global-post "running global post-hook start ..." | 253 | run_hook start ${FW_PREFIX}global.d/rules-post "running global post-hook start ..." |
| 254 | for FILE in $( find_appfile post );do | 254 | for FILE in $( find_appfile post );do |
| 255 | run_hook start ${FILE} "running app post-hook start (App: $(basename ${FILE})) ..." | 255 | run_hook start ${FILE} "running app post-hook start (App: $(basename ${FILE})) ..." |
| 256 | done | 256 | done |
| 257 | run_hook start ${FW_PREFIX}cluster/rules-post "running cluster post-hook start ..." | 257 | run_hook start ${FW_PREFIX}cluster/rules-post "running cluster post-hook start ..." |
| 258 | run_hook start ${FW_PREFIX}rules-post "running local post-hook start ..." | 258 | run_hook start ${FW_PREFIX}rules-post "running local post-hook start ..." |
| 259 | } | 259 | } |
| 260 | 260 | ||
| 261 | 261 | ||
| 262 | # Function to stop the network: | 262 | # Function to stop the network: |
| 263 | stop() { | 263 | stop() { |
| 264 | # run pre-hooks | 264 | # run pre-hooks |
| 265 | run_hook stop ${FW_PREFIX}global-pre "running global pre-hook stop ..." | 265 | run_hook stop ${FW_PREFIX}global.d/rules-pre "running global pre-hook stop ..." |
| 266 | for FILE in $( find_appfile pre );do | 266 | for FILE in $( find_appfile pre );do |
| 267 | run_hook stop ${FILE} "running app pre-hook stop (App: $(basename ${FILE})) ..." | 267 | run_hook stop ${FILE} "running app pre-hook stop (App: $(basename ${FILE})) ..." |
| 268 | done | 268 | done |
| 269 | run_hook stop ${FW_PREFIX}cluster/rules-pre "running cluster pre-hook stop ..." | 269 | run_hook stop ${FW_PREFIX}cluster/rules-pre "running cluster pre-hook stop ..." |
| 270 | run_hook stop ${FW_PREFIX}rules-pre "running local pre-hook stop ..." | 270 | run_hook stop ${FW_PREFIX}rules-pre "running local pre-hook stop ..." |
| 271 | 271 | ||
| 272 | for TABLE in $(iptables-save |grep '^*' |sed -e 's/^*//g' |sort);do | 272 | for TABLE in $(iptables-save |grep '^*' |sed -e 's/^*//g' |sort);do |
| 273 | echo "Flushing rules from ${TABLE} table (IPv4)" | 273 | echo "Flushing rules from ${TABLE} table (IPv4)" |
| @@ -300,7 +300,7 @@ stop() { | |||
| 300 | done | 300 | done |
| 301 | 301 | ||
| 302 | # run post-hooks | 302 | # run post-hooks |
| 303 | run_hook stop ${FW_PREFIX}global-post "running global post-hook stop ..." | 303 | run_hook stop ${FW_PREFIX}global.d/rules-post "running global post-hook stop ..." |
| 304 | for FILE in $( find_appfile post );do | 304 | for FILE in $( find_appfile post );do |
| 305 | run_hook stop ${FILE} "running app post-hook stop (App: $(basename ${FILE})) ..." | 305 | run_hook stop ${FILE} "running app post-hook stop (App: $(basename ${FILE})) ..." |
| 306 | done | 306 | done |
