Merge pull request #47 from apatard/master

feat(zone.xml): Allow to rate limit 'accept' in rich rules
This commit is contained in:
Imran Iqbal 2021-02-05 18:14:50 +00:00 committed by GitHub
commit 44d039e7c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 103 additions and 4 deletions

View File

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

View File

@ -126,6 +126,14 @@ firewalld:
name: fail2ban-ssh name: fail2ban-ssh
reject: reject:
type: icmp-port-unreachable type: icmp-port-unreachable
- accept:
limit: "3/m"
log:
level: warning
limit: "3/m"
prefix: "http fw limit 3/m"
service: http
ports: ports:
# {%- if grains['id'] == 'salt.example.com' %} # {%- if grains['id'] == 'salt.example.com' %}
- comment: salt-master - comment: salt-master

View File

@ -31,12 +31,19 @@ control 'zones/public.xml configuration' do
<source-port port="4444" protocol="tcp" /> <source-port port="4444" protocol="tcp" />
<rule family="ipv4"> <rule family="ipv4">
<source address="8.8.8.8/24" /> <source address="8.8.8.8/24" />
<accept/> <accept></accept>
</rule> </rule>
<rule family="ipv4"> <rule family="ipv4">
<source ipset="fail2ban-ssh" /> <source ipset="fail2ban-ssh" />
<reject type="icmp-port-unreachable" /> <reject type="icmp-port-unreachable" />
</rule> </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>
ZONE_XML ZONE_XML
end end
@ -59,12 +66,12 @@ control 'zones/rich_public.xml configuration' do
<rule> <rule>
<source ipset="fail2ban-ssh" /> <source ipset="fail2ban-ssh" />
<service name="ssh" /> <service name="ssh" />
<accept/> <accept></accept>
</rule> </rule>
<rule> <rule>
<source ipset="other-ipset" /> <source ipset="other-ipset" />
<service name="ssh" /> <service name="ssh" />
<accept/> <accept></accept>
</rule> </rule>
</zone> </zone>
ZONE_XML ZONE_XML

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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