CentOS7の環境でのことではありますが、(WAF)modsecurityを導入した際に、正常な通信でもブロックしてしまうので、ブロックされたIDをルールに登録して解除するのが一般的です。
SecRuleRemoveById 981317 950001 959073 981255 981245 SecRuleRemoveById 950901 960024 981173 973300
その際、同一サーバ内に複数のサイトがある場合、mod_security.confにID解除のルールを記述するのではなく
/etc/httpd/conf.d/
example1_com.conf
example2_com.conf
mod_security.conf
・
・
という感じでサイト別にVirtual Hostで区切ったconfファイルを作成してそこに記述したい場合もあるかと思います。
その場合、上記の並びだと、example1_com.confに”SecRuleRemoveById 981317” と記述してもうまく効かないのです。
ファイル名の順に読み込んでいくので、mod_security.confより先にexample1_com.confを読み込むことになるのですが、どうやらmod_security.confを先に読み込まないと、以降の設定が効かないことがあるようです。というか効かなかった。※CentOS6のときはまた違う挙動だったとようです。
対策としては、
a_mod_security.conf というようにリネームして先に読み込む
または、z_mod_ruleremove.conf など最後に読み込むように命名してまとめて記述する
または、サイト別のconfを
z_example1_com.conf のようにリネームする。
いろいろ方法はありますが、この場所にはSSL用の設定ファイルも別で用意してある場合なども読み込む順番によって挙動が変わるので要注意です。