[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[upki-fed:00334] Re: SPのタイムアウトについての質問
- Subject: [upki-fed:00334] Re: SPのタイムアウトについての質問
- Date: Wed, 13 Apr 2011 12:17:16 +0900
- From: Takuya Matsuhira <xxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxx>
京都産業大学 秋山先生
お世話になっております。
金沢大学総合メディア基盤センター 松平です。
コメントありがとうございます。
ソースまで確認していただき、ありがとうございます。
なるほど、IdPとSPの両方のうち、短いほうを採用するのですね。
とすれば、SP側で2時間はセッションを保持したいと思っても、
ユーザが利用したIdPが15分でセッションを破棄する設定に
なっていたら、15分で切れてしまうということですね。
なんとなくですが、一般的に、セッションの維持を決めるのは
サービスを提供しているSPのような気もしますが、どうなんでしょう?
認証を任されたIdPが取り仕切るというのもなんとなくわかりますが。。
(2011/04/13 10:54), Toyokazu Akiyama wrote:
> 京産大の秋山です.
>
> 横やりですいません.
> svn の SP のコードで lifetime を grep 検索すると,
>
> cpp-sp/trunk/shibsp/handler/impl/SAML2Consumer.cpp
>
> // Session expiration for SAML 2.0 is jointly IdP- and SP-driven.
> time_t sessionExp = ssoStatement->getSessionNotOnOrAfter() ?
> ssoStatement->getSessionNotOnOrAfterEpoch() : 0;
> pair<bool,unsigned int> lifetime = sessionProps ?
> sessionProps->getUnsignedInt("lifetime") : pair<bool,unsigned
> int>(true,28800);
> if (!lifetime.first || lifetime.second == 0)
> lifetime.second = 28800;
> if (sessionExp == 0)
> sessionExp = now + lifetime.second; // IdP says nothing,
> calulate based on SP.
> else
> sessionExp = min(sessionExp, now + lifetime.second); // Use
> the lowest.
>
> という記述があり,IdP の発行した Assertion の session Expiration と SP のExpiration
> の短い方が採用されるように見えます.
>
> 2011年4月13日8:55 Takuya Matsuhira<xxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxx>:
>> 西村先生
>>
>> お世話になっております。
>> 金沢大学総合メディア基盤センター 松平です。
>>
>> ご多忙のところ、ご返答ありがとうございます。
>>
>> IPアドレスの変更に伴い、セッションが破棄され、
>> 再認証が要求されるということですね。
>> #Webプロキシを複数台かますとだめな感じですかね。
>>
>> ただ、我々の環境は固定IPでおこなっており、
>> 今回ご提示いただきましたケースとは異なるのかと
>> 考えております。
>>
>> SPのCookieが無効にならない限りは、IdPへの問い合わせは
>> 発生しないという前提で質問を投げさせていただいていますが、
>> SPから発行されるCookie情報にはIdPのタイムアウト時間を
>> 越えないなどといった情報は加味されていたりするのでしょうか?
>>
>>
>> (2011/04/11 14:56), Takeshi NISHIMURA wrote:
>>> 西村です。
>>>
>>> 実際にタイムアウトを計測したことはないのですが、明らかにタイムアウト前に
>>> 再認証を求められたことがあります。このケースにあてはまらないかもしれませ
>>> んが参考までに書きます。
>>>
>>> SPはデフォルトでは認証されたクライアントIPアドレスを保存していて、IPアド
>>> レスが変わると不正としてセッションを破棄してしまいます。DHCPでころころIP
>>> アドレスが変わる場合や、FWを経由していて割り当てられるIPアドレスがころころ
>>> 変わる場合には、正当なアクセスが不正なものとみなされる場合があります。
>>> # 先日のシンポジウムのデモでこの現象が頻発し、回避策を施すのに苦労しました。
>>>
>>> 上記のようにcookie盗用による不正利用を防ぐための機能なのですが、
>>> この機能を無効にするには、同じくSessionsに書く属性でconsistentAddress="false"
>>> のように書けばよいです。
>>> https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPSessions
>>>
>>> ちなみに、認証要求時と認証応答時のクライアントIPアドレスが変化していない
>>> ことをチェックするのはcheckAddress="true"です。
>>>
>>> なお、上記のセッション破棄が起きた際はtransaction.logに
>>> 2011-03-10 12:54:00 INFO Shibboleth-TRANSACTION [6]: Destroyed session (applicat
>>> ionId: default) (ID: _xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
>>> のように記録されるので確認できます。
>>>
>>> On 2011/04/11, at 13:42, Takuya Matsuhira wrote:
>>>
>>>> メーリングリスト参加者の皆様
>>>>
>>>> お世話になっております。
>>>> 金沢大学総合メディア基盤センター 松平です。
>>>>
>>>>
>>>> Shibboleth SPのタイムアウト設定について
>>>> 質問があります。
>>>>
>>>> 運用を行っていると、SPによっては、タイムアウトを
>>>> 15分にしたり、2時間にしたりなど、いろいろなケースが
>>>> あるかと思います。
>>>>
>>>> SPにおける、タイムアウト時間の調整は
>>>>
>>>> Shibboleth2.xml内
>>>> -------
>>>> <Sessions lifetime="7200" timeout="7200" checkAddress="false"
>>>> handlerURL="/Shibboleth.sso" handlerSSL="false"
>>>> relayState="ss:mem"
>>>>
>>>> exportLocation="http://localhost/Shibboleth.sso/GetAssertion"
>>>> exportACL="127.0.0.1"
>>>> idpHistory="false" idpHistoryDays="7">
>>>> -------
>>>>
>>>> のlifetime、timeoutの値を変えることで、
>>>> できると思っていたのですが、どうも指定した
>>>> 時間に達する前に再度認証に向かってしまいます。
>>>>
>>>>
>>>> また、一般的には、以下の動作になるかと思います。
>>>>
>>>> SPにアクセス
>>>> ↓
>>>> 当該SPの認証済みCookie(_shib_session)がない
>>>> ↓
>>>> IdPにリダイレクト
>>>> ↓
>>>> 認証
>>>> ↓
>>>> Cookieがセットされ、SPのコンテンツを表示
>>>> ↓
>>>> 当該SPの別コンテンツを選択
>>>> ↓
>>>> 当該SPのCookie(_shib_session)がある(lifetime、timeout時間内)
>>>> ↓
>>>> SPのコンテンツを表示
>>>> ↓
>>>> 当該SPのCookie(_shib_session)があるが、lifetime、timeout時間外
>>>> ↓
>>>> IdPへ問い合わせ
>>>> ↓
>>>> idp_sessionが有効かどうかをチェック
>>>>
>>>>
>>>> SPのlifetimeとtimeoutの時間がオーバーしない限り、_shib_session
>>>> は有効で、IdPに問い合わせなくても、SP内で解決できると考えて
>>>> いるのですが、どうでしょうか?
>>>>
>>>> ご多忙のところ、大変申し訳ございませんが、
>>>> SPに応じてタイムアウト時間を変更する方法をご存知の方、
>>>> ご教授いただけましたら幸いです。
>>>
>>
>>
>> --
>> +---------------------------------------+
>> 松平 拓也(Takuya MATSUHIRA)
>> 金沢大学 情報化推進室 教育研究システム係
>> (総合メディア基盤センター)
>> Tel:076-234-6932
>> Fax:076-234-6918
>> E-mail:xxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxx
>> +---------------------------------------+
>>
>>
>
>
>
--
+---------------------------------------+
松平 拓也(Takuya MATSUHIRA)
金沢大学 情報化推進室 教育研究システム係
(総合メディア基盤センター)
Tel:076-234-6932
Fax:076-234-6918
E-mail:xxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxx
+---------------------------------------+