map services,pkg,config for firewall state

This commit is contained in:
m0duspwnens
2023-07-27 15:45:18 -04:00
parent 65b76d72ca
commit 3c16218c5a
2 changed files with 33 additions and 5 deletions

View File

@@ -1,15 +1,29 @@
{% from 'allowed_states.map.jinja' import allowed_states %} {% from 'allowed_states.map.jinja' import allowed_states %}
{% if sls in allowed_states %} {% if sls in allowed_states %}
{% from 'firewall/ipt.map.jinja' import iptmap %}
install_iptables:
pkg.installed:
- name: {{ iptmap.iptpkg }}
iptables_persist:
pkg.installed:
- name: {{ iptmap.persistpkg }}
iptables_service:
service.running:
- name: {{ iptmap.service }}
- enabled: True
create_sysconfig_iptables: create_sysconfig_iptables:
file.touch: file.touch:
- name: /etc/sysconfig/iptables - name: {{ iptmap.configfile }}
- makedirs: True - makedirs: True
- unless: 'ls /etc/sysconfig/iptables' - unless: 'ls {{ iptmap.configfile }}'
iptables_config: iptables_config:
file.managed: file.managed:
- name: /etc/sysconfig/iptables - name: {{ iptmap.configfile }}
- source: salt://firewall/iptables.jinja - source: salt://firewall/iptables.jinja
- template: jinja - template: jinja
@@ -24,11 +38,11 @@ disable_firewalld:
iptables_restore: iptables_restore:
cmd.run: cmd.run:
- name: iptables-restore < /etc/sysconfig/iptables - name: iptables-restore < {{ iptmap.configfile }}
- require: - require:
- file: iptables_config - file: iptables_config
- onlyif: - onlyif:
- iptables-restore --test /etc/sysconfig/iptables - iptables-restore --test {{ iptmap.configfile }}
{% if grains.os_family == 'RedHat' %} {% if grains.os_family == 'RedHat' %}
enable_firewalld: enable_firewalld:

View File

@@ -0,0 +1,14 @@
{% set iptmap = salt['grains.filter_by']({
'Debian': {
'service': 'netfilter-persistent',
'iptpkg': 'iptables',
'persistpkg': 'iptables-persistent',
'configfile': '/etc/iptables/rules.v4'
},
'RedHat': {
'service': 'iptables',
'iptpkg': 'iptables',
'persistpkg': 'iptables-services',
'configfile': '/etc/sysconfig/iptables'
},
}) %}