SPv3アップデートに関する情報

SPv3アップデートに関する情報

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

SP 2.5.xおよびそれ以前からアップデートする場合はこちらの情報もご覧ください。⇒SPバージョン2アップデートに関する情報

以前の本手順でSPv2からSPv3にアップデートして以降、/var/log/messages にmod_shibのログが出力されなくなっている場合は、/etc/shibboleth/native.logger を同ディレクトリの native.logger.dist と比較し、必要な修正を適用してください。
出力されるべきmod_shibのログは以下のようなフォーマットです:

Nov 10 22:37:54 localhost shobboleth: ...



バージョン共通

CentOS等、yum/dnfコマンドによりインストールした環境では以下のコマンドで簡単に最新版にアップデートできます。

$ sudo yum update

もしくは、Shibboleth SP関連のパッケージのみをアップデートする場合は、代わりに以下のコマンドを実行してください。

$ sudo yum update shibboleth libsaml13 libxmltooling11 libxml-security-c30 libxerces-c-3_3 liblog4shib2 opensaml-schemas xmltooling-schemas libcurl-openssl (OSによっては libcurl-openssl パッケージが存在しない場合がありますが、無視されますので問題ありません)

アップデート後、httpdおよびshibdが再起動されていることを確認し、再起動されていなければ手動で再起動してください。

$ sudo systemctl restart shibd $ sudo systemctl restart httpd

※ 例えば、2.6.1から3.0.1へのアップデートは自動的に再起動する模様。3.0.1にアップデート後、libxmltooling8のみをアップデートした場合は自動再起動されない模様。

注意点

すでにNIIオープンフォーラム等でアナウンスしておりますが、Shibboleth開発元におけるメンテナンス持続性のため、Shibboleth SP次期バージョンはJavaで再実装する方向でリデザインが進行しており、リリース目処は2025以降となっております。次期バージョンリリースまでは現行バージョンがメンテナンスされますが、それ以降も運用を続けるには大きな改修が必要になる可能性があります(利用している機能によっては提供されなくなる可能性もあります)ので予めご了承ください。

RPMパッケージ情報が取得できない場合は、本ページ末尾の説明を参照して新しいリポジトリを利用するよう設定ファイルを更新してください。

デフォルトでは有効になっていない、オープンリダイレクタとならないための設定があります。特に事情がなければ以下の指示に従って設定を有効にしてください。
オープンリダイレクタとなりうる問題の対処

Shibbolethプロダクトに関する次節以降記載以外のセキュリティフィックスおよび脆弱性情報は以下のページにてご覧いただけます。
⇒ Shibboleth Wiki: SecurityAdvisories

Apache httpd 2.4へ移行する場合の注意点

OSのバージョンアップ等でApache httpd 2.2およびそれ以前の環境からApache httpd 2.4の環境へ移行する場合の、Shibboleth SP周りの設定ファイルに関する注意事項です。

Apache httpd 2.2およびそれ以前からApache httpd 2.4へ移行する場合、設定ファイルの ShibCompatWith24 の行はコメントアウトもしくは削除してください。
2016-12-08 [upki-fed:01115] Re: Proxy配下でのSP構築に関して

require valid-user など、許容される構文もしくはその意味が変わっておりますので、昔の設定を引き継いで使っている方はご注意ください。
⇒ Shibboleth Wiki: Apache Compatibility Changes, Apache, htaccess
特に、以前の意味での"require valid-user"の使用は避け、"require shib-session"もしくは"require shib-user ..."で置き換えてください。BASIC認証等との組み合わせで問題が発生する場合は"ShibCompatValidUser On"を指定してください。
詳細: Shibboleth Wiki: Recommended Practices for Compatibility

2.4に移行するとrequireの条件を満たさない場合に表示されるエラーページが"403 Forbidden"から"401 Unauthorized"に変更されます。これに伴いshibboleth2.xmlの<Errors>要素に記述されたaccess属性(エラーページのカスタマイズ)が有効になりません。ApacheのErrorDocumentで代替してください。

なお、Apache httpd 2.4上でSPを構築した場合、なんらかの条件のもとで、シボレス認証が必要な場面で"401 Unauthorized"というエラーが発生するという情報があります。この場合は以下の方法を試してみてください(CentOS 7での手順です)。
/etc/httpd/conf.modules.d/00-shib.conf のようなファイル名で以下の内容で新規ファイルを作成し、/etc/httpd/conf.d/shib.conf の該当行を削除してください。終わりましたらhttpdを再起動してください。

# # Load the Shibboleth module. # LoadModule mod_shib /usr/lib64/shibboleth/mod_shib_24.so

2016-12-09 [upki-fed:01121] Re: Proxy配下でのSP構築に関して
関連: https://issues.shibboleth.net/jira/browse/SSPCPP-628
関連: (Shibboleth Users ML) Configuration of SP with apache and mod_shib - HTTP 401 error

SP 3.3.x/3.4.x から SP 3.5.x へアップデートする場合の注意点

libsaml, libxmltooling, libxml-security-c, libxerces-cが合わせてバージョンアップしパッケージ名が変更になっています。古いバージョンは削除されないので、他で使っていなければ削除してしまいましょう。

$ sudo dnf erase libsaml12 libxmltooling10 libxml-security-c20 libxerces-c-3_2

Shibboleth SP 3.5.0がリリースされた10月16日から10月23日までの間、依存関係の問題でエラーになりアップデートできない状態でしたが、現在は解消されています。もし現在も継続してエラーが発生しており、それが解消しない場合は、以下を実行の後アップデートを実行してください。

$ sudo dnf clean all



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

本リリースよりRPMパッケージの署名に使われるGPG鍵が変更されているために、以前のバージョンからそのままではyumコマンドによるアップデートに失敗します。CentOS等、yumコマンドによりインストールした環境では以下の手順でアップデートしてください。

  1. Shibboleth用のrepositoryファイルの更新
    Shibboleth用のrepositoryファイルを下記URL先より取得できる最新のものに更新してください。
    https://shibboleth.net/downloads/service-provider/latest/RPMS/
    (CentOS 7の場合のコマンド例)

  2. GPG鍵のインポートとアップデートの完了
    repositoryファイルの更新後、yumコマンドによりアップデートを実施すると、新しいGPG鍵のインポートを促されますので、表示されるフィンガープリントが以下と一致することを確認してインポートしてください。

    その後アップデート処理が進みますので、そのまま完了してください。

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

libsaml, libxmltoolingが合わせてバージョンアップしパッケージ名が変更になっています。古いバージョンは削除されないようなので、他で使っていなければ削除してしまいましょう。

$ sudo yum erase libsaml11 libxmltooling9

https://www.gakunin.jp/ml-archives/upki-fed/msg01430.html
にて説明していますが、Form SessionInitiatorでdiscoveryTemplate.htmlを使っている場合、3.2.1以降では
forceAuthn, isPassive, acsIndex, authnContextClassRef, authnContextDeclRef, authnContextComparison
の各パラメーターをURLのquery stringで受け渡しHTMLに反映することができなくなっておりますので、そのような機能に依存している箇所がございましたら、代替としてJavaScriptでquery stringを確認するなど別の手段を 使うようにしてください。

また、3.2.1以降<Errors>関連のテンプレートについて、query stringパラメーターによる置換のデフォルトがオフになったことにより、この機能に依存している箇所に影響が出る可能性があります。JavaScriptなど別の手段でカバーすることが推奨されますが、externalParameters="true"により以前のバージョンの挙動を再現することも可能です。