特定のURIに対して特定のARGを持たないGET/POSTリクエストを評価してブロックしようとしています。チェーンルールでARGを検証できません
次のルールはを検証しません、私は「両方を検証することができますライン
(期待通りに個別に試験した場合、REQUEST_URIとREQUEST_HEADERSが動作)
SecRule REQUEST_URI "(?i:(jwtpoc))" "phase:1,id:999955,block,log,deny,status:508,msg:'IP: %{REMOTE_ADDR} GET/POST test URI',chain"
SecRule &ARGS:cualquiera "[email protected] 1" "chain"
SecRule &REQUEST_HEADERS:Referer "@eq 0"
"!1を@eq" @ EQ1 @ EQ1"と""私は、次のいずれかのようSecRuleを書いた場合:!
SecRule &ARGS:cualquiera "@eq 1" "id:999957,phase:2,pass,log,capture,msg:'param cualquiera found: %{MATCHED_VAR}'"
ルールID 999955はどのようにしてこの目標を達成できますか?
例
SecRule REQUEST_URI "(?i:(jwtpoc))" "phase:2,id:999955,block,log,deny,status:508,msg:'IP: %{REMOTE_ADDR} GET/POST test URI',chain"
SecRule &ARGS:cualquiera "@eq 1" "chain"
SecRule &REQUEST_HEADERS:Referer "@eq 0"
カール--formのcualquiera = ANY http://foo.bar/jwtpoc.showcaller [OK]
[22/Mar/2017:17:23:50 --0400] [foo.bar/sid#1ab39b8][rid#7f518c014e60][/jwtpoc.showcaller][1] Access denied with code 508 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. [file "/moduleconf/myrules/test/cp_rules.conf"] [line "2"] [id "999955"] [msg "IP: 10.10.10.145 GET/POST test URI"]
しかし、このいずれかの
:myReferer http://beta.reservhotel.com/win/owa/jwtpoc.showcaller [--refererカールNOTOK]
をルールSecRule & ARGS:cualquiera "@eq 1" "チェーン"が考慮されておらず、このアクションが
おかげでブロックされていません!
フェーズ1からフェーズ2に変更しましたが、動作は同じです。 –
あなたの質問を編集して、ルールに捕らえられて捕まえられないリクエストの例を挙げられますか?また、デバッグロギングをオンにして、デバッグログに要求が示していることを確認できますか? –
同じルールで#2の例を追加しました.1つは期待通りに実行されていて、もう1つは実行されていません。 –