Explorar el Código

Merge pull request #47 from apatard/master

feat(zone.xml): Allow to rate limit 'accept' in rich rules
tags/v1.2.0
Imran Iqbal hace 3 años
padre
commit
44d039e7c4
Ninguna cuenta vinculada a la dirección de correo electrónico del committer
Se han modificado 15 ficheros con 103 adiciones y 4 borrados
  1. +1
    -1
      firewalld/files/zone.xml
  2. +8
    -0
      pillar.example
  3. +10
    -3
      test/integration/default/controls/zones_spec.rb
  4. +7
    -0
      test/integration/default/files/_mapdata/amazonlinux-2.yaml
  5. +7
    -0
      test/integration/default/files/_mapdata/arch-base-latest.yaml
  6. +7
    -0
      test/integration/default/files/_mapdata/centos-7.yaml
  7. +7
    -0
      test/integration/default/files/_mapdata/centos-8.yaml
  8. +7
    -0
      test/integration/default/files/_mapdata/debian-10.yaml
  9. +7
    -0
      test/integration/default/files/_mapdata/debian-9.yaml
  10. +7
    -0
      test/integration/default/files/_mapdata/fedora-31.yaml
  11. +7
    -0
      test/integration/default/files/_mapdata/fedora-32.yaml
  12. +7
    -0
      test/integration/default/files/_mapdata/opensuse-15.yaml
  13. +7
    -0
      test/integration/default/files/_mapdata/ubuntu-16.yaml
  14. +7
    -0
      test/integration/default/files/_mapdata/ubuntu-18.yaml
  15. +7
    -0
      test/integration/default/files/_mapdata/ubuntu-20.yaml

+ 1
- 1
firewalld/files/zone.xml Ver fichero

@@ -60,7 +60,7 @@
<audit>{%- if 'limit' in rule.audit %} <limit value="{{ rule.audit.limit }}"/>{%- endif %}</audit>
{%- endif %}
{%- if 'accept' in rule %}
<accept/>
<accept>{%- if rule.accept is mapping and 'limit' in rule.accept %} <limit value="{{ rule.accept.limit }}"/>{%- endif %}</accept>
{%- endif %}
{%- if 'reject' in rule %}
<reject{%- if 'type' in rule.reject %} type="{{ rule.reject.type }}"{%- endif %} />

+ 8
- 0
pillar.example Ver fichero

@@ -126,6 +126,14 @@ firewalld:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http

ports:
# {%- if grains['id'] == 'salt.example.com' %}
- comment: salt-master

+ 10
- 3
test/integration/default/controls/zones_spec.rb Ver fichero

@@ -31,12 +31,19 @@ control 'zones/public.xml configuration' do
<source-port port="4444" protocol="tcp" />
<rule family="ipv4">
<source address="8.8.8.8/24" />
<accept/>
<accept></accept>
</rule>
<rule family="ipv4">
<source ipset="fail2ban-ssh" />
<reject type="icmp-port-unreachable" />
</rule>
<rule>
<service name="http" />
<log prefix="http fw limit 3/m" level="warning">
<limit value="3/m"/>
</log>
<accept> <limit value="3/m"/></accept>
</rule>
</zone>
ZONE_XML
end
@@ -59,12 +66,12 @@ control 'zones/rich_public.xml configuration' do
<rule>
<source ipset="fail2ban-ssh" />
<service name="ssh" />
<accept/>
<accept></accept>
</rule>
<rule>
<source ipset="other-ipset" />
<service name="ssh" />
<accept/>
<accept></accept>
</rule>
</zone>
ZONE_XML

+ 7
- 0
test/integration/default/files/_mapdata/amazonlinux-2.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/arch-base-latest.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/centos-7.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/centos-8.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/debian-10.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/debian-9.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/fedora-31.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/fedora-32.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/opensuse-15.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/ubuntu-16.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/ubuntu-18.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

+ 7
- 0
test/integration/default/files/_mapdata/ubuntu-20.yaml Ver fichero

@@ -134,6 +134,13 @@ values:
name: fail2ban-ssh
reject:
type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
services:
- http
- https

Cargando…
Cancelar
Guardar