Server Side Includesはセキュリティ上のリスクがあるので、極力使用しないようにします。使用する場合は、”IncludesNoExec”オプションの設定を行うようにします
下記資料を参考にしました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
Server Side Includes
・サーバーサイドインクルードは、Webページ中に、<!–#exec cmd=”・・” –>のようなコメントを挿入することにより、Webサーバーが動的に。このコメントの場所に実行コマンドの結果などを置き換えてくれたりする機能です。
しかしこの技術は大きなセキュリティ上の問題があり、使用を控えるように推奨されています。
・極力使用は控え、下記のようにモジュールのロードを無効にします。
#LoadModule include_module modules/mod_include.so
・どうしても使用する必要がある場合は、任意のコードの実行を防ぐため、”IncludesNoExec”オプションを有効にします。
そしてユーザーが入力したデータは、クロスサイトスクリプティングの脆弱性を防ぐためにサニタイズするようにします。
“IncludesNoExec”オプション
“IncludesNoExec”オプションは下記のように設定します。
Options IncludesNoExec
この設定によって、SSI は有効になりますが、#exec コマンド と #exec CGI は無効になります。 ただし、#include virtual により、ScriptAlias されたディレクトリで CGI を実行することは可能です。 関連記事の目次