Some of my clients are victim of an attack from multiple IPs all over the world - Never exceeds 1-4 request per second. Same IP usually visits again after few hours.
Below is a snippet of accesslog, now these request are changing dynamically with another lenght or some few other parameters, but i would be able to create a pattern-list and block them boringly that way. I tried actually using fail2ban by creating a filter and jail.conf, but i am not sure this is the correct approach or other better alternate solution exist (CF is not an option here)
How can one fight against these type of attacks? Is fail2ban the right way? If so, is it as simple as creating the jail and filter.conf with correct regex and place them in jail.d/ and filter.d/ folders?
"GET /4-gift?order=product.name.asc&pris=20-500%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.name.asc?order=product.name.asc&pris=20-500%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.name.asc HTTP/1.1" 200 43255 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.2151.63 Safari/537.36"
"HEAD /10-presentgifts?order=product.random.desc&page=9&pris=150-300%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.random.desc?order=product.random.desc&page=9&pris=150-300%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.random.desc HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.2598.44 Safari/537.36"
"GET /10-presentgifts?order=product.price.asc&page=2&pris=150-300%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc?order=product.price.asc&page=2&pris=150-300%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc HTTP/1.1" 200 42608 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.2916.43 Safari/537.36"
"GET /4-gift?order=product.name.asc&page=60&pris=20-500%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3583.125 Safari/537.36"
"GET /4-gift?order=product.quantity.desc&pris=20-300%3Fpage%3D32%3Fpage%3D32%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.quantity.desc HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.2597.181 Safari/537.36"
"GET /4-gift?order=product.price.desc&pris=20-300%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.2915.44 Safari/537.36"
"GET /4-gift?order=product.price.desc&pris=20-300%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc?order=product.price.desc&pris=20-300%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.random.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.position.asc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.desc%3Forder%3Dproduct.date_add.desc%3Forder%3Dproduct.quantity.desc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.price.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.price.desc%3Forder%3Dproduct.name.asc%3Forder%3Dproduct.name.asc HTTP/1.1" 200 43334 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.2915.44 Safari/537.36"