Created
July 24, 2020 19:48
-
-
Save lukewhrit/d5d9a1bec12c0ce7d00863c3ec527c19 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"name": "roboagent limit", | |
"filters": [ | |
"Header:User-Agent=(curl|cURL|Wget|python-requests|Scrapy|FeedFetcher|Go-http-client|Ruby|UniversalFeedParser)" | |
], | |
"limit": 0, | |
"stop": true, | |
"actions": [ | |
{ "name": "log"}, | |
{ "name": "block", | |
"params": { | |
"message": "Rate limit exceeded" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "botlimit", | |
"filters": [ | |
"Header:User-Agent=(Googlebot|bingbot|Baiduspider|yacybot|YandexMobileBot|YandexBot|Yahoo! Slurp|MJ12bot|AhrefsBot|archive.org_bot|msnbot|MJ12bot|SeznamBot|linkdexbot|Netvibes|SMTBot|zgrab|James BOT)" | |
], | |
"limit": 0, | |
"stop": true, | |
"actions": [ | |
{ "name": "log"}, | |
{ "name": "block", | |
"params": { | |
"message": "Rate limit exceeded" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "suspiciously frequent IP", | |
"filters": [], | |
"interval": 600, | |
"limit": 30, | |
"aggregations": [ | |
"Header:X-Forwarded-For" | |
], | |
"actions":[ | |
{"name":"log"} | |
] | |
}, | |
{ | |
"name": "search request", | |
"filters": [ | |
"Param:q", | |
"Path=^(/|/search)$" | |
], | |
"interval": 61, | |
"limit": 999, | |
"subrules": [ | |
{ | |
"name": "missing Accept-Language", | |
"filters": ["!Header:Accept-Language"], | |
"limit": 0, | |
"stop": true, | |
"actions": [ | |
{"name":"log"}, | |
{"name": "block", | |
"params": {"message": "Rate limit exceeded"}} | |
] | |
}, | |
{ | |
"name": "suspiciously Connection=close header", | |
"filters": ["Header:Connection=close"], | |
"limit": 0, | |
"stop": true, | |
"actions": [ | |
{"name":"log"}, | |
{"name": "block", | |
"params": {"message": "Rate limit exceeded"}} | |
] | |
}, | |
{ | |
"name": "IP limit", | |
"interval": 61, | |
"limit": 9, | |
"stop": true, | |
"aggregations": [ | |
"Header:X-Forwarded-For" | |
], | |
"actions": [ | |
{ "name": "log"}, | |
{ "name": "block", | |
"params": { | |
"message": "Rate limit exceeded" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "rss/json limit", | |
"filters": [ | |
"Param:format=(csv|json|rss)" | |
], | |
"interval": 121, | |
"limit": 2, | |
"stop": true, | |
"actions": [ | |
{ "name": "log"}, | |
{ "name": "block", | |
"params": { | |
"message": "Rate limit exceeded" | |
} | |
} | |
] | |
}, | |
{ | |
"name": "useragent limit", | |
"interval": 61, | |
"limit": 199, | |
"aggregations": [ | |
"Header:User-Agent" | |
], | |
"actions": [ | |
{ "name": "log"}, | |
{ "name": "block", | |
"params": { | |
"message": "Rate limit exceeded" | |
} | |
} | |
] | |
} | |
] | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment