2017-04-25 50 views
0

特定のURLのみを許可できるルールを作成したいと思います。 2 abc.com/configuration/:700003、相:1、ログ、拒否URLホワイトリストのModSecurity

SecRule REQUEST_URI "!@beginsWith /設定" \ 「ID abc.com/update/私は2つだけのURL 1を持っています、MSG:「

SecRule REQUEST_URI "@beginsWith /更新 'アクセスされた異なるURL'" \ "ID:700004、相:1、パス、ログ、メッセージ: 'アップデートURIへのアクセス'"

どのようにすることができます私はこの2つのルールをマージして、他のルールを無効にすることができますか?

ありがとうございました

+0

私はあなたの質問を理解していません。 –

+0

私は上記のURLの唯一の残りを許可したいと思います。modsecurityがブロックしたいと思っています。 – user2670674

答えて

1

ここではさまざまなことがあります。

By default a regex is used to match in ModSecurityので、あなたが一致しない場合URIとブロックの両方をカバーするために一つのルールを記述することができます。

SecRule REQUEST_URI "!\/(configuration|update)\/" "phase:1,id:700003,block 

あなたは@pmを使用して同じことを行うことができます:

SecRule REQUEST_URI "[email protected] \/configuration\/ \/update\/" "phase:1,id:700003,block 

また、あなたがskipAfterを使用することができ、その違うルールのURLを一覧表示し、1つのブロックルールを持つことができます。上記のルールのいずれかが一致すると、スキップされます:

SecMarker BEGIN_VALID_URL_CHECK 
SecRule REQUEST_URI "[email protected] /configuration" \ "id:700003, phase:1,log,skipAfter:END_VALID_URL_CHECK,msg:'Different URL Accessed'" 
SecRule REQUEST_URI "@beginsWith /update" \ "id:700004, phase:1,log,skipAfter:END_VALID_URL_CHECK,msg:'Update URI accessed'" 
SecRule REQUEST_URI "." \ "id:700005, phase:1,log,block,msg:'Another URI accessed - blocking'" 
SecMarker END_VALID_URL_CHECK 

また、allowでは、ModSecurityでこのリクエストの処理を停止するパターンに一致するルールを適用できます(これは後で設定で定義された他のModSecurityルールをスキップするため、おそらく悪いオプションですが、清酒):

SecRule REQUEST_URI "[email protected] /configuration" \ "id:700003, phase:1,log,allow,msg:'Different URL Accessed'" 
SecRule REQUEST_URI "@beginsWith /update" \ "id:700004, phase:1,log,allow, msg:'Update URI accessed'" 
SecRule REQUEST_URI "." \ "id:700005, phase:1,log,block, msg:'Another URI accessed - blocking'" 
関連する問題