|
20 | 20 | # Step 2: Initialize TX variable |
21 | 21 | SecAction "id:2,phase:1,pass,nolog,setvar:tx.bucket_ops=0" |
22 | 22 |
|
23 | | - # Example rule: Block DELETE on /minio/admin |
24 | | - SecRule REQUEST_URI "@beginsWith /minio/admin" "id:1001,phase:1,deny,status:403,msg:'MinIO Admin API Access Blocked'" |
| 23 | + # Allow WebSocket connections for MinIO console |
| 24 | + #SecRule REQUEST_URI "@beginsWith /ws/" "id:1000,phase:1,pass,msg:'Allow WebSocket connections'" |
| 25 | + SecRule REQUEST_HEADERS:Upgrade "@streq websocket" "id:1001,phase:1,pass,msg:'Allow WebSocket upgrade requests'" |
| 26 | +
|
| 27 | + # Example rule: Block DELETE on /minio/admin (except WebSocket connections) |
| 28 | + SecRule REQUEST_URI "@beginsWith /minio/admin" "id:1002,phase:1,deny,status:403,msg:'MinIO Admin API Access Blocked',chain" |
| 29 | + SecRule REQUEST_HEADERS:Upgrade "!@streq websocket" |
25 | 30 |
|
26 | 31 | # Rate limiting example |
27 | | - SecRule REQUEST_METHOD "@rx ^(PUT|POST|DELETE)$" "id:1002,phase:1,pass,msg:'Bucket operation',setvar:tx.bucket_ops=+1,expirevar:tx.bucket_ops=60" |
28 | | - SecRule TX:bucket_ops "@gt 50" "id:1003,phase:1,deny,status:429,msg:'Bucket operation rate limit exceeded'" |
| 32 | + SecRule REQUEST_METHOD "@rx ^(PUT|POST|DELETE)$" "id:1003,phase:1,pass,msg:'Bucket operation',setvar:tx.bucket_ops=+1,expirevar:tx.bucket_ops=60" |
| 33 | + SecRule TX:bucket_ops "@gt 50" "id:1004,phase:1,deny,status:429,msg:'Bucket operation rate limit exceeded'dd" |
29 | 34 | ` |
30 | 35 | } |
31 | 36 |
|
|
0 commit comments