|
| ||||||||
|
巻き戻し中。
|
|
2010-01-24(日) 鯖で [長年日記]
_ 試しに
mod_securityでちょろっと拡散防止の保険と、一部対策。
「SecResponseBodyAccess On」にして、以下のルールを作成してinclude。*1
読み込む順番は、先の方が良いね。
後ろの方だとエラーになったり挙動が変わる。
POSTされてくる内容やファイル、Referrerも一応確認。
手口は内部からftpアカウント盗んでだから、まともに外から来る可能性は低いが念のため406。
RESPONSE_BODYも見ているので、万一変なファイル置かれても、他人様が読んじゃう前に415で止める。
まぁ、こんな感じ。。。(「/*C●DE1*/」を含むhtmlファイルを置いてみた)
でもなぁ、ftpアカウント取られた時点でこの程度のルールぐらい書き換えられちゃってもおかしくないよね。。。
「気は心」程度かな。
*1 例によって自爆しないよう、「*」を全角にしてるお(^ω^)
SecRule REQUEST_HEADERS|ARGS "/\*L●PL\*/"\ "status:406,phase:2,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2" SecRule RESPONSE_BODY "/\*L●PL\*/"\ "status:415,phase:4,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2" SecRule REQUEST_HEADERS|ARGS "/\*CO●E1\*/"\ "status:406,phase:2,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2" SecRule RESPONSE_BODY "/\*CO●E1\*/"\ "status:415,phase:4,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2" SecRule REQUEST_HEADERS|ARGS "/\*G●U GPL\*/"\ "status:406,phase:2,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2" SecRule RESPONSE_BODY "/\*G●U GPL\*/"\ "status:415,phase:4,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2" SecRule REQUEST_HEADERS|ARGS "/\*Ex●eption\*/"\ "status:406,phase:2,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2" SecRule RESPONSE_BODY "/\*Ex●eption\*/"\ "status:415,phase:4,t:none,log,deny,msg:'It includes suspicious keyword such as Gumblar',severity:2"
_ RESPONSE_BODY
そう言えば、この項目がなかなかフィルタされずに半日悩んだ。
RESPONSE_BODYの項目を読むと「SecResponseBodyAccess On」と「MIMEタイプ設定*1してね」ぐらいしかマニュアルに書いていないのだが、SecResponseBodyAccessには、
Dependencies/Notes:
This directive is required if you plan to inspect HTML responses.
This directive must be used along with the "phase:4"
processing phase action and RESPONSE_BODY variable/location.
If any of these 3 parts are not configured,
you will not be able to inspect the response bodies.
だと。
いや、ずっとphase:2でやっていて悩んでしまった。
ちなみにマニュアルの図を見ると、本来「REQUEST_HEADERS」はPhase1っぽいが他の例を見てもPhase2になってる。
結局Phase2とPhase4で分けてみた。*2
ふーん( ´_ゝ`)
Tweets by RC31E | |||||||||
| |||||||||
| |||||||||
|