[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:88] IdPとSPのログ対応



やまじです.

僕の提供しているサービスで,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

以上です。
----------------------------------------------------------------------

-- 
Kazu

Attachment: logging_091002.zip
Description: Zip archive