Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Napisałem rolę w ansible do konfiguracji zapory sieciowej w linuksie. Czy robić filtrowanie po OUTPUT czy sam INPUT styknie? Co mogę poprawić w mojej roli?
Definicje zmiennych:
--- # Default head (allow) rules iptables_default_head: | -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate INVALID -j DROP ip6tables_default_head: | -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate INVALID -j DROP -A INPUT -s fe80::/10 -p ipv6-icmp -j ACCEPT # Default tail (deny) rules iptables_default_tail: | -A INPUT -j LOG --log-prefix "INPUT DROP: " --log-level 6 -A INPUT -j DROP ip6tables_default_tail: | -A INPUT -j LOG --log-prefix "INPUT DROP: " --log-level 6 -A INPUT -j DROP allow_ping: yes allow_ssh: no allow_http: no allow_https: no allow_ftp: no allow_rsync: no allow_mysql: no allow_pgsql: no allow_smtp: no allow_imap: no allow_imaps: no allow_pop3: no allow_pop3s: no allow_ldap: no ipv4_only: no iptables_custom_rules: [] ip6tables_custom_rules: [] # Example: # iptables_custom_rules: # - name: open_port_12345 # 'iptables_custom_rules_' will be prepended to this # rules: '-A INPUT -p tcp --dport 12345 -j ACCEPT' # state: present # weight: 40 # ipversion: 4 # table: filter # # NOTE: 'name', 'rules' and 'state' are required, others are optional. # By default this role deletes all iptables rules which are not managed by Ansible. # Set this to 'yes', if you want the role to keep unmanaged rules. iptables_keep_unmanaged: no ip6tables_keep_unmanaged: no ...
Taski:
--- - name: Allow IPv4 ping iptables_raw: name: 'iptables_allow_ping' rules: '-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT' state: present ipversion: '4' when: allow_ping - name: Allow IPv6 ping iptables_raw: name: 'iptables_allow_ping' rules: '-A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack --ctstate NEW -j ACCEPT' state: present ipversion: '6' when: allow_ping and not ipv4_only - name: Allow incoming ssh connections iptables_raw: name: 'iptables_allow_ssh' rules: '-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_ssh - name: Allow incoming http connections iptables_raw: name: 'iptables_allow_http' rules: '-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_http - name: Allow incoming https connections iptables_raw: name: 'iptables_allow_https' rules: '-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_https - name: Allow incoming ftp connections iptables_raw: name: 'iptables_allow_ftp' rules: '-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_ftp - name: Allow incoming rsync connections iptables_raw: name: 'iptables_allow_rsync' rules: '-A INPUT -p tcp -m tcp --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_rsync - name: Allow incoming MySQL connections iptables_raw: name: 'iptables_allow_mysql' rules: '-A INPUT -p tcp -m tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_mysql - name: Allow incoming PostgreSQL connections iptables_raw: name: 'iptables_allow_postgresql' rules: '-A INPUT -p tcp -m tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_pgsql - name: Allow incoming SMTP connections (port 25) iptables_raw: name: 'iptables_allow_smtp' rules: '-A INPUT -p tcp -m tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_smtp - name: Allow incoming SMTP connections (port 587) iptables_raw: name: 'iptables_allow_smtp' rules: '-A INPUT -p tcp -m tcp --dport 587 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_smtp - name: Allow incoming SMTP connections (port 465) iptables_raw: name: 'iptables_allow_smtp' rules: '-A INPUT -p tcp -m tcp --dport 465 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_smtp - name: Allow incoming IMAP connections iptables_raw: name: 'iptables_allow_imap' rules: '-A INPUT -p tcp -m tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_imap - name: Allow incoming IMAPS connections iptables_raw: name: 'iptables_allow_imaps' rules: '-A INPUT -p tcp -m tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_imaps - name: Allow incoming POP3 connections iptables_raw: name: 'iptables_allow_pop3' rules: '-A INPUT -p tcp -m tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_pop3 - name: Allow incoming POP3S connections iptables_raw: name: 'iptables_allow_pop3s' rules: '-A INPUT -p tcp -m tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_pop3s - name: Allow incoming LDAP connections block: - iptables_raw: name: 'iptables_allow_ldap' rules: '-A INPUT -p tcp -m tcp --dport 389 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present - iptables_raw: name: 'iptables_allow_ldap' rules: '-A INPUT -p udp -m udp --dport 389 -m state --state NEW,ESTABLISHED -j ACCEPT' state: present when: allow_ldap - name: Set custom iptables rules iptables_raw: name: 'iptables_custom_rules_{{ item.name }}' rules: '{{ item.rules }}' state: '{{ item.state }}' weight: '{{ item.weight|default(omit) }}' table: '{{ item.table|default(omit) }}' ipversion: '4' with_items: '{{ iptables_custom_rules }}' tags: iptables - name: Set default iptables head rules iptables_raw: name: iptables_default_head weight: 10 keep_unmanaged: '{{ iptables_keep_unmanaged }}' state: present rules: '{{ iptables_default_head }}' ipversion: '4' tags: iptables - name: Set default iptables tail rules iptables_raw: name: iptables_default_tail weight: 99 keep_unmanaged: '{{ iptables_keep_unmanaged }}' state: '{{ (iptables_default_tail != "" ) | ternary("present", "absent") }}' rules: '{{ iptables_default_tail }}' ipversion: '4' tags: iptables - name: Set custom ip6tables rules iptables_raw: name: 'ip6tables_custom_rules_{{ item.name }}' rules: '{{ item.rules }}' state: '{{ item.state }}' weight: '{{ item.weight|default(omit) }}' table: '{{ item.table|default(omit) }}' ipversion: '6' with_items: '{{ ip6tables_custom_rules }}' when: not ipv4_only tags: ip6tables - name: Set default ip6tables head rules iptables_raw: name: ip6tables_default_head weight: 10 keep_unmanaged: '{{ ip6tables_keep_unmanaged }}' state: present rules: '{{ ip6tables_default_head }}' ipversion: '6' when: not ipv4_only tags: ip6tables - name: Set default ip6tables tail rules iptables_raw: name: iptables_default_tail weight: 99 keep_unmanaged: '{{ iptables_keep_unmanaged }}' state: '{{ (ip6tables_default_tail != "" ) | ternary("present", "absent") }}' rules: '{{ ip6tables_default_tail }}' ipversion: '6' when: not ipv4_only tags: ip6tables ...
Ostatnio edytowany przez White_Dream (2021-03-19 22:08:08)
Offline
Do czego taki firewall? Bo kompletnie w nim sensu nie widzę
Offline