ASF Apache 2.4でのSiteMinderデフォルトのヘッダ表示について

Document created by Koichi_Ikarashi Employee on Feb 5, 2016Last modified by Koichi_Ikarashi Employee on Feb 17, 2016
Version 1Show Document
  • View in full screen mode

文書番号: JTEC001884

製品名: CA Single Sign-On

バージョン: r12.5x

OS: All

 

◆ 問題の概要

ASF Apache 2.4/Red Hat Apache 2.4で、HTTP_SM_USERなどの標準HTTPヘッダがCGIスクリプトprintenvで表示されません。

 

Apache2.2系では表示されます。また、JSPなどでも表示されます。

 

◆原因と対策

 

原因:

このCGIスクリプトでの動作については、Apache 2.4CGIモジュールの制限によるものです。以下のASFドキュメントで” invalid characters (including underscores)”とあり、デフォルトの”HTTP_SM_”で始まるヘッダーはアンダースコア(‘_’)を含むためドロップされることとなります。

 

抜粋:

https://httpd.apache.org/docs/trunk/new_features_2_4.html#module

mod_cgi, mod_include, mod_isapi, ...

Translation of headers to environment variables is more strict than before to mitigate some possible cross-site-scripting attacks via header injection. Headers containing invalid characters (including underscores) are now silently dropped. Environment Variables in Apache has some pointers on how to work around broken legacy clients which require such headers. (This affects all modules which use these environment variables.)

 

この制限についてはWeb Agent Configuration Guide 12.52 SP1では既知の制限事項として記載されています。

 

Web エージェント設定ガイド 12.52 SP1

Page 179, HTTP ヘッダのレガシー変数の有効化

注: Apache 2.4.x Web サーバの場合、LegacyVariables パラメータを No に設定して、SMUSER SMUSERDN などの SiteMinder のデフォルトのヘッダを表示します。

 

対策:

ACOパラメータLegacyVariables="NO"を設定してください。

ヘッダ名からアンダースコア(‘_’)は含まれないようになり、Apache 2.4の制限には抵触せず、CGIスクリプトでもデフォルトのヘッダが表示されます。

 

◆補足:レスポンス設定によるカスタムHTTPヘッダについて

ACOパラメータLegacyVariables="NO"の設定をすると、デフォルトのヘッダ名にアンダースコア(‘_’)が含まれなくなりますが、レスポンス設定によるカスタムHTTPヘッダは対象外となります。レスポンス設定によるカスタムHTTPヘッダにアンダースコア(‘_’)を含めた場合はApache 2.4の制限に抵触します。従って、カスタムHTTPヘッダにアンダースコア(‘_’)を含めることは推奨いたしません。

Attachments

    Outcomes