Hi
On the attack_id range you can create your own id in the range of ;
1000-9999
You don' t have to let the device automatically create one. You can do like suggest and let the system pick one random and then change it or craft one in the cli when you apply the rule.
F-SBID (--name " GET_per_second" ; --protocol tcp; --service HTTP; --track src_ip; --flow from_client; --pattern GET; --no_case; --rate 10,1; )
FWIW;
But that rule would be bad and probably trigger hundreds of alerts. For any of the following reasons;
if you page have a lot of objects or links in the GET
if any multiple clients are coming from a PAT address
at a rate of 10;1 count threshold that would be very harsh,
if your webserver support HTTPs and they do the " get" in HTTPs encryption
the IPS sensor is not a good or sensitive enough for a true layer7 GET flood detection or attack
you would probably see a spike and big increase in cpu/memory usage
a fortigate is NOT a HTTP get flood protector ...it' s the wrong tool
If you have a true DOS HTTP-GET flood, the fortigate is a probably a poor choice for protection imho and my experience working in the DDoS sector.
In truth you will fine the fortigate has some great IPS protection at layer3/4 but it makes a for a very sorry get flood protector. You need the right tool for the task at hand. To think you can write a rule like that and not wreak havoc or create additional problems, is being naive. You have to identify what' s being attacked and the SRCs and object.
Do like you suggested monitor 1st and adjust accordingly. Look for
positive signs of a get flood from your webserver access.log and then apply the rules to the specific src(s) that you see and the URLs that you find. Wireshark/tshark will help identify these objects and rates,etc....
(
e.g tshark -z http,stat, -R ' http.request.method==GET' -R ' ip.addr==x.x.x.x'
)
And they probably using z stats with iostats for get a measure over time like how many request per 60/secs get against a specific url.
But creating a rule like the sample you provided , would probably be like conducting a heart operation on a subject using a Spanish-American war Calvary sword. The outcome would be bloody and messy and not great for the patient ( webserver )