このページの古いバージョンを表示しています。現在のバージョンを表示します。

現在のバージョンとの相違点 ページ履歴を表示

« 前のバージョン バージョン 41 次のバージョン »

Shibboleth SPのアップデートに関してはこちらをご覧ください。⇒SPアップデートに関する情報

バージョン共通

1. アップデート前注意点

  1. 2016年11月21日以前の技術ガイドに沿って構築した場合、設定ファイルのパーミッションに問題がありアップデート後に正常に起動しない可能性があります。以下にならってパーミッションを修正した上でアップデートを適用してください。

    # find /opt/shibboleth-idp/conf -type d -exec chmod g+s {} \;
    # chown tomcat:root /opt/shibboleth-idp/credentials/server.key
    # chmod 400 /opt/shibboleth-idp/credentials/server.key

    1行目の修正点は、アップデート時に新規ファイル/ディレクトリが作成される場合も適切なowner/groupを維持するためのものです。
    2,3行目は、server.key(に限らずcredentials/以下の.keyで終わるファイル)はアップデートプロセスによりrw-------に強制されるので、ownerがrootでかつTomcatをtomcatユーザで起動していると動作しなくなることに対する対処です。

2. アップデート手順

shibboleth-identity-provider-3.x.x.tar.gzパッケージを展開したディレクトリで、以下のコマンドで設定ファイルの変更点を確認し、適宜反映した上で、アップデートを実行します。

/opt/shibboleth-idp/以下に存在しないファイル/ディレクトリはアップデート時に自動的に作成されますが、インストール後修正したファイルのほか、修正していないファイルも一切上書きはされませんので、新バージョンの内容を適宜反映してください。各自で修正していないファイルはdist/以下のファイルをファイル名末尾の.distを省いたもので上書きする、各自で修正したファイルは新バージョンでの変更点をマージする形になります。

反映しない場合、旧来の機能は変わらず動作することが保証されますが、新バージョン以降の新機能が(デフォルトで有効な場合と有効化した場合いずれも)正しく動作することが保証されません。このため、将来的な新機能利用も見据えて、アップデート後でもかまいませんのでなるべく早く反映するようにしてください。

uApproveJPをインストールしている場合はsystem/以下の修正が元に戻ってしまうので、アップデート前に展開したディレクトリの当該ファイルを修正した上でアップデートを行うのがお勧めです。system/以下の修正箇所をパッチ形式にしたものを置いておきますので、展開したディレクトリにて適用してください。
uapprovejp3-system.patch

$ patch -p0 < .../uapprovejp3-system.patch

# diff -rb /opt/shibboleth-idp/dist/ dist/
(変更点の確認)
# bin/install.sh -Didp.conf.filemode=640

Source (Distribution) Directory (press <enter> to accept default: [/root/shibboleth-identity-provider-3.3.0]
[Enter] ←入力なし
Installation Directory: [/opt/shibboleth-idp]
[Enter] 
←入力なし
Rebuilding /opt/shibboleth-idp/war/idp.war ...

...done

BUILD SUCCESSFUL
Total time: 5 seconds

最後に、アップデートプロセスにより変更されたserver.keyのパーミッションを元に戻します。

# chmod 400 /opt/shibboleth-idp/credentials/server.key

本アップデート手順はTomcatを起動したまま行うことを前提としております。もしTomcatが起動していない状態の場合は、古いバージョンのキャッシュを削除するため以下のコマンドを実行してください。

# rm -f $CATALINA_BASE/webapps/idp $CATALINA_BASE/work/Catalina/localhost/idp

アップデート後、以下のコマンドでバージョンが更新されていることを確認してください。

$ /opt/shibboleth-idp/bin/status.sh | grep idp_version
idp_version: 3.3.1

3. アップデート後注意点

  1. /opt/shibboleth-idp/の下にold-2016MMDD-XXXX/というようなディレクトリが作成されるようですが、運用には不要です。

    # ls /opt/shibboleth-idp/old-20160509-0810/
    bin/    dist/   doc/    system/ webapp/
  2. $CATALINA_BASE/lib/等に/opt/shibboleth-idp/webapp/WEB-INF/lib/以下のJARファイルへのシンボリックリンクがある場合は、アップデート後にバージョンが変わっている可能性があるのでシンボリックリンクを変更し、Tomcatを再起動すること。
  3. 次節以降で挙げた以外のバージョン間の変更点はShibboleth WikiのReleaseNotesに網羅されていますのでご参照ください。
    https://wiki.shibboleth.net/confluence/display/IDP30/ReleaseNotes

IdP 3.3.x から IdP 3.3.x へのアップデートに関する情報

3.3.0にて(3.2.xでも同様かは不明)、かつTomcat 8もしくはそれ以降を使用している場合、IE / EdgeでSLOした後再度認証しようとするとエラーになるという問題があり、3.3.1で解決されています。同様の問題で困っているかたは3.3.1以降にアップデートするか、idp.xmlの記述を最新版にしてください。
詳細その1: https://issues.shibboleth.net/jira/browse/IDP-1141
詳細その2:  貴学にてIdPv3をインストールする場合の構築手順 の「5. idp.war の登録」の<CookieProcessor alwaysAddExpires="true" />の行

3.3.1にて、relying-party.xmlのp:defaultAuthenticationMethodsで従来使えていた記法が使えなくなったとの情報があります。SAML2SSOConfigurationの下方の例(Examples of defaultAuthenticationMethods property)等を参照して記述を修正してください。

3.3.1へのアップデートで system/messages/ に配置した日本語リソースが削除されるとの情報があります。お手数ですが messages/ に再度配置してください。
詳細: GakuNinShare:Shibboleth IdP 3 - メッセージの多言語化
詳細: Shibboleth Wiki:MessagesTranslation のコメント欄

3.3.2にてIDP-1207への対処のため views/login.vm に変更が入っております。dist/views/login.vm.dist と比較して必要な修正を取り込んでください。
配布物での差分は以下の通りで、「ログインを記憶しません。」チェックボックスが特定の条件下(forceAuthn時)に指定通りにならないため当該条件の下では表示しないようにするものです。コメントにある通り多要素認証等を使っている場合は適宜修正してください。

@@ -66,12 +66,16 @@
                 <input class="form-element form-field" id="password" name="j_password" type="password" value="">
               </div>
 
+              ## You may need to modify this to taste, such as changing the flow name its checking for to authn/MFA.
+              #if (!$authenticationContext.getActiveResults().containsKey('authn/Password'))
               <div class="form-element-wrapper">
                 <input type="checkbox" name="donotcache" value="1" id="donotcache">
                 <label for="donotcache">#springMessageText("idp.login.donotcache", "Don't Remember Login")</label>
                </div>
             #end
 
+            #end
+
               <div class="form-element-wrapper">
                 <input id="_shib_idp_revokeConsent" type="checkbox" name="_shib_idp_revokeConsent" value="true">
                 <label for="_shib_idp_revokeConsent">#springMessageText("idp.attribute-release.revoke", "Clear prior granting of permission for release of your information to this service.")</label> 

IdP 3.2.x から IdP 3.3.x へアップデートする場合の注意点

3.2.1およびそれ以前で発見されていた<ResultCache>要素の脆弱性が修正されましたので、LDAP result caching機能が必要な方は再度有効化してください。
2016-11-21 [upki-fed:01087] 【補足情報】【注意喚起】Shibboleth IdPの脆弱性について

また、上記メールに記載がありますが、3.2.1およびそれ以前で以下のログが記録されしばらくすると認証処理がストップする(通信環境が不安定な場合にロックする)という問題にも対処が入っておりますので、この問題に遭遇されていた方は今一度ご確認ください。

2016-09-13T08:37:30.402+01:00 - WARN [org.ldaptive.AbstractOperation$ReopenOperationExceptionHandler:277] - Operation exception encountered, reopening connection

以下で指摘されていたSLOのエラーについては、3.3.0で解消されています。詳細についてはFull SLO(Single Logout)の設定方法の末尾の注意事項をご覧ください。
2016-01-15 [upki-fed:01005] Re: Shibboleth 3.2 Logout時エラーについて

メッセージファイルのファイル構成が変更されています。旧構成でも新機能を使わない限り運用可能ですが、新構成に切り替えるにはservices.xmlshibboleth.MessageSourceResources/opt/shibboleth-idp/dist/conf/services.xml.distを参考に更新してください。その際、idp.logoなど従来の3ファイルに加えていた変更を/opt/shibboleth-idp/messages/messages.propertiesに追記して変更を維持してください。
3.3.0以降向けの日本語メッセージファイルも Shibboleth IdP 3 - メッセージの多言語化 のリンク先から提供されています。これまで通り/opt/shibboleth-idp/messages/以下に配置しても利用できますが、3.3.0以降での手順では/opt/shibboleth-idp/system/messages/以下に配置するようになっています。

3.2でのattribute-filter.xmlに続き、3.3ではattribute-resolver.xmlで名前空間のフラット化(resolver:dc:等の除去)が行われております。ただし従来の記法も使えますので、アップデートに際して書き換えなくても大丈夫です。
フラット化に関して言うと、以下の手順でお手持ちのattribute-resolver.xmlをフラット化することができます。

  1. xsi:type="ad:Script" および xsi:type="dc:Script" が同名になるのを避けるため、それぞれ xsi:type="ScriptedAttribute" および xsi:type="ScriptedDataConnector" に書き換えてください。
  2. 名前空間 resolver: ad: dc: enc: を削除してください。(sec: および pc: を機械的に削除してはいけません。以降の手順で結果的になくなるはずです。また、xsi: は残してください。)
  3. <PrincipalConnector>要素は、要素自体を削除してください。
    • xsi:type="Transient"のものは他にやるべきことはありませんが、他のタイプの<PrincipalConnector>要素については代替手段を検討してください。
  4. <StartTLSTrustCredential>要素は trustFile="..." で置き換えてください。
  5. まだ sec: もしくは pc: が残っている場合は代替手段を検討してください。
  6. ファイル先頭以外で xmlns="..." が現れる場合はそれも削除してください。また、全ての xmlns:resolver="...", xmlns:ad="...", xmlns:dc="...", xmlns:enc="...", xmlns:sec="...", xmlns:pc="..." を削除してください。

3.3.0にて認証処理時のリグレッションが発生しています。詳細はReleaseNotesに記載されていますので"IDP-1101"で検索してください。

以前のバージョンにて/idp/statusにアクセスすると以下のような不要なERRORログが記録される問題に対処が入っております。ただし以前のバージョンの conf/logback.xml を引き続き使っている場合は修正されませんので、dist/conf/logback.xml.dist を参考に修正してください。

2016-06-27 12:34:56,760 - ERROR [org.apache.velocity:96] - ResourceManager : unable to find resource 'status.vm' in any resource loader.

その他の情報

Tomcatの脆弱性およびそれに関連してyumパッケージのパーミッション修正が不完全な件が流れています。
2016-11-21 [upki-fed:01086] 【補足情報】【注意喚起】Tomcatの脆弱性修正版リリースについて(2016/11/1)

IdP 3.2.x から IdP 3.2.x へのアップデートに関する情報

JVMヒープサイズの推奨値が1.5GB(-Xmx1500m)に上方修正されておりますので、適宜自動起動スクリプトを更新してください。
2016-05-16 [upki-fed:01048] Re: Shibboleth IdP実行環境におけるJVMのヒープサイズについて

古いJavaを使っているとメタデータ取得に失敗するという情報がありました。
2015-08-21 [upki-fed:00954] 最新のJava(Oracle JDK/OpenJDK)を使った場合のメタデータ取得エラー

3.2.xで特定の条件で認証応答に署名がないという問題に遭遇した場合は3.3.0以降にアップデートしてください。詳細はReleaseNotesに記載されていますので"IDP-920"で検索してください。

その他の情報

四半期に一度のペースでJava(OpenJDKおよびOracle JDK)のセキュリティアップデートがリリースされています。
2016-05-16 [upki-fed:01049] Re: 【注意喚起】OpenJDKおよびOracle Javaの脆弱性について(2016/4/22)
今回の内容としては、JMXポートの脆弱性、毎回恒例の暗号系の改善(GCM, DSA)、MD5withRSAの拒否、(今回のものではありませんが)OpenJDK 7のECC対応、など。

IdP 3.1.x から IdP 3.2.x へアップデートする場合の注意点

以下のページを参照のこと。
https://www.switch.ch/aai/guides/idp/installation/#keepinguptodate

IdP 2.x.x から IdP 3.x.x へアップグレードする場合の手順および関連情報

  • ラベルがありません