やまじです.
僕の提供しているサービスで,IdPとSPでうまくログの対応をとる必要が出て
きて,やり方をNIIの技術に調べてもらいました.皆さまのところでも役に立
つ情報だと思いますので,MLに流したいと思います.
僕は,まずは,SP(shibd.logger)は,
log4j.category.Shibboleth.SSO=DEBUG ←SSO関連情報をダンプ
IdP(logging.xml)は,
<logger name="org.opensaml.saml2.binding"> ←cookieのID等のダンプ
<level value="DEBUG" />
</logger>
として出力するrequestIDでマッチング情報にしようかなと思っています.
----------------------------------------------------------------------
セッションの開始時にSPで設定される
NameIdentifier、Assertion ID、requestIdがIdPとSPの間で共有されます。
これと時刻情報、entityIdを元にログを検索することになると思います。
セッションの開始時にSPの/var/log/shibboleth/transaction.logに
「New session」というキーワードでログが出力され、
日時、スレッドID、SPのセッションID、接続先IdP、クライアントのIPアドレス、
NameIdentifier、Assertion IDなどが取れます。
#SP1.3ではAssertion IDの出力はありません。
IdPでは、セッション終了時に「Shibboleth-Audit」ログが出力されます。
通信相手がSPが1.3の場合、このShibboleth-Auditログに
「NameIdentifier」の値が出力されますので、ここから対応の確認が取れます。
通信相手がSP2.0以降の場合は出力されないようですので、
SPとIdPの通信データの内容をダンプして確認すると良いと思います。
「Request ID」もauditログに出力されます.3番目の出力です。
https://spaces.internet2.edu/display/SHIB2/IdPLogging
複数のSP/IdPと通信する場合は、
スレッドのIDを出力することでセッションを区別できます。
スレッドのIDは、SPではデフォルトで出力されます。
IdPではデフォルトでは出力されませんが、
コンフィグファイルでログフォーマットを変更すると出力できます。
IdPとSPの通信に関連のある情報、セッションの情報、
スレッドIDの出力を追加したログ出力のコンフィグファイルと
これを用いたログ出力を例として添付します。
コンフィグファイルの変更箇所には、本日の日付のコメントが入っています。
idpのログ出力定義ファイル(logging.xml):
<logger name="org.opensaml.saml2.binding"> ←cookieのID等のダンプ
<logger name="org.apache.xml.security.encryption"> ←SPに送信するデータ
をダンプ
<appender name="IDP_PROCESS" ~>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%date{HH:mm:ss.SSS} - %level [%logger:%line] [%t] -
%msg%n</Pattern>
←[%t](スレッドID)を追加
</layout>
</appender>
SPのログ出力定義ファイル(shibd.logger):
log4j.category.Shibboleth.SSO=DEBUG ←SSO関連情報をダンプ
log4j.category.OpenSAML.MessageDecoder=DEBUG ←SAMLデータダンプ
log4j.category.OpenSAML.MessageEncoder=DEBUG
log4j.category.OpenSAML.SecurityPolicyRule=DEBUG
参考:
https://spaces.internet2.edu/display/SHIB2/IdPLogging
https://bugs.internet2.edu/jira/browse/SIDP-203
http://www.nurs.or.jp/~sug/soft/log4j/log4jlb.htm
以上です。
----------------------------------------------------------------------
--
KazuAttachment:
logging_091002.zip
Description: Zip archive