ヒント |
---|
Shibboleth IdPのアップデートに関してはこちらをご覧ください。⇒IdPv3アップデートに関する情報IdPv4アップデートに関する情報 |
ヒント |
---|
SP 2.5.xおよびそれ以前からアップデートする場合はこちらの情報もご覧ください。⇒SPバージョン2アップデートに関する情報 |
注意 | ||
---|---|---|
以前の本手順でSPv2からSPv3にアップデートして以降、
|
目次 | ||
---|---|---|
|
バージョン共通
CentOS等、yumコマンドによりインストールした環境では以下のコマンドで簡単に最新版にアップデートできます。CentOS等、yum/dnfコマンドによりインストールした環境では以下のコマンドで簡単に最新版にアップデートできます。
コード ブロック |
---|
$ sudo yum update |
...
コード ブロック |
---|
$ sudo yum update shibboleth libsaml10libsaml12 libxmltooling8libxmltooling10 libxml-security-c20 liblog4shib2 opensaml-schemas xmltooling-schemas libxerces-c-3_2 libcurl-openssl (OSによっては libcurl-openssl パッケージが存在しない場合がありますが、無視されますので問題ありません) |
...
コード ブロック | |
---|---|
$ sudo systemctl restart shibd $ sudo systemctl restart httpd | |
情報 | |
CentOS 6の場合コマンドが異なります。自動再起動されていない場合は以下のコマンドを用いてください。 コード ブロック | restart
$ sudo /sbin/service httpd restart |
※ 例えば、2.6.1から3.0.1へのアップデートは自動的に再起動する模様。3.0.1にアップデート後、libxmltooling8のみをアップデートした場合は自動再起動されない模様。
注意点
すでにNIIオープンフォーラム等でアナウンスしておりますが、Shibboleth開発元におけるメンテナンス持続性のため、Shibboleth SP次期バージョンはJavaで再実装する方向でリデザインが進行しており、リリース目処は2024年もしくは2025年となっております。次期バージョンリリースまでは現行バージョンがメンテナンスされますが、それ以降も運用を続けるには大きな改修が必要になる可能性があります(利用している機能によっては提供されなくなる可能性もあります)ので予めご了承ください。
RPMパッケージ情報が取得できない場合は、本ページ末尾の説明を参照して新しいリポジトリを利用するよう設定ファイルを更新してください。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構築に関して
...
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.2.x から SP 3.3.x へアップデートする場合の注意点
本リリースよりRPMパッケージの署名に使われるGPG鍵が変更されているために、以前のバージョンからそのままではyumコマンドによるアップデートに失敗します。CentOS等、yumコマンドによりインストールした環境では以下の手順でアップデートしてください。
Shibboleth用のrepositoryファイルの更新
Shibboleth用のrepositoryファイルを下記URL先より取得できる最新のものに更新してください。
https://shibboleth.net/downloads/service-provider/latest/RPMS/
(CentOS 7の場合のコマンド例)パネル $ sudo curl 'https://shibboleth.net/cgi-bin/sp_repo.cgi?platform=CentOS_7' -o /etc/yum.repos.d/shibboleth.repo
GPG鍵のインポートとアップデートの完了
repositoryファイルの更新後、yumコマンドによりアップデートを実施すると、新しいGPG鍵のインポートを促されますので、表示されるフィンガープリントが以下と一致することを確認してインポートしてください。パネル Fingerprint: dcaa 1500 7bed 9de6 90cd 9523 378b 8454 0227 7962
その後アップデート処理が進みますので、そのまま完了してください。
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"により以前のバージョンの挙動を再現することも可能です。
SP 3.0.x から SP 3.1.x へアップデートする場合の注意点
libsaml, libxmltoolingが合わせてバージョンアップしパッケージ名が変更になっています。古いバージョンは削除されないようなので、他で使っていなければ削除してしまいましょう。
コード ブロック |
---|
$ sudo yum erase libsaml10 libxmltooling8 |
Shibboleth IdP v3における設定ファイルのフラット化と同じことがSPでも進行しており、大量のDEPRECATEDのwarningが出力されるようになっています。実際に支障をきたすのはv4以降ですが、attribute-policy.xml.distファイルおよびIdPフラット化の記述を参考に時間のあるときに対処しておくことを推奨します。
SP 3.0.x から SP 3.0.x へのアップデートに関する情報
3.0.4.0までの3系で、Windowsサーバ向けのIIS 7モジュールを使っていて、<Sessions>で handlerURL="/acs/Shibboleth.sso" のようにハンドラのパスを変更している場合うまく動かないという問題があります。3.0.4.1で修正されました。また、以下の記述を加えれば回避できます。
コード ブロック | ||
---|---|---|
| ||
<ISAPI handlerPrefix="/acs/Shibboleth.sso" > |
詳細: https://issues.shibboleth.net/jira/browse/SSPCPP-856
3.0.0には起動に失敗するものを含むバグが存在します。3.0.1以降にアップデートしてください。アップデート後、shibboleth2.xml
に veryifyBackup=
という文字列が含まれる場合は誤字ですので verifyBackup=
に修正してください。
...
2.6.xで動作している設定ファイルは全て3.0.xでも動作します。下記1.の手順で確認した上で、上記手順でアップデートを行ってください。ただし、旧設定ファイルでは新機能が使えないほかいくつか不要なものがございますので後日以下の2.の手順を実施することをお勧めします。
SP 3での変更点の詳細は開発元のReleaseNotesをご参照ください。
1. 事前準備
shibboleth2.xmlに accessError.html
および syslog.logger
への参照がないことを確認してください。参照している場合は、ファイルが編集されている(.distを付加したファイルと同一でない)ことを確認してください。
参照されておりかつ編集されていない場合、アップデートで当該ファイルが削除され問題が発生する可能性があります。編集された状態のものは削除されませんので、コメントを挿入しておくなどして対処してください。
同様に、attribute-map.xmlが編集されていない場合、かつ属性 unscoped-affiliation
(eduPersonAffiliation) を使っておりアップデート後のバージョンが3.0.2になる場合は、アップデート後にを使っておりv3にバージョンアップする場合は、アップデート後にunscoped-affiliation
の受け渡しに失敗するようになりますので、編集(コメントを挿入しておくなど)して対処してください。
...
libsaml, libxmltooling, libxml-security-c, liblog4shib, liblog4shibが合わせてバージョンアップしパッケージ名が変更になっています。また、CentOS libxerces-cが合わせてバージョンアップしパッケージ名が変更になっています。また、CentOS 7ではBaseリポジトリのxerces-cパッケージを使用していたものが独自のlibxerces-c-3_2パッケージを使用するようになっています。古いバージョンは削除されないようなので、他で使っていなければ削除してしまいましょう。
パネル |
---|
|
2.2. 不要なファイルの削除
2.xで/var/log/shibboleth-www/以下に出力されていたログは3.0では/var/log/messagesに出力されるようになりました。既存のログファイルに有益なものはないと思いますので削除してかまいません。
パネル |
---|
|
注意 | ||
---|---|---|
ただし
|
また、2.xには不要になったDiscoFeedキャッシュの削除処理に不具合があり、当該ディレクトリに残り続けているものがある可能性があります。アップデート後1時間以上経ってから以下のようなコマンドを実行して不要なファイルを削除してください。
...
注意 |
---|
新形式(3.0フォーマット)でデフォルト値が変更になった部分があり、該当機能を使っている場合は移行する際には注意が必要です。これまで判明しているところでは、 |
...
3. SP 3.0からの新機能
- Stateless Clustering
ReleaseNotesより:A form of session recovery across clustered SP nodes using encrypted cookies is available. While making clustering much simpler, it does affect the behavior of logout in some cases, but it offers more flexibility for deployers willing to make trade-offs.
- /Shibboleth.sso/Logout/Admin
ReleaseNotesより:An endpoint is available to programmatically remove sessions based on the SP-assigned session ID, with associated communication to an IdP via SOAP where possible (though this is rarely possible). While complex, it is possible to create a more limited shared store of revoked sessions that prevents the stateless session recovery feature from re-creating the session in some cases, without requiring a fully-shared session store.
- entityIDSelf / APPLICATIONID-override.xml
ReleaseNotesより:A set of virtual hosts can be auto-assigned a distinct entityID without the creation of
<ApplicationOverride>
elements to do so, using the newentityIDSelf
content setting. While this does not eliminate the overhead of managing metadata for each host, it does eliminate most actual configuration overhead within the SP itself.In addition, when overrides are still required for other purposes, it is now possible to load XML fragment files containing just the override configurations from a directory at runtime, including adding additional overrides on the fly without configuration reload.
...
上記「1. 事前準備」にも書きましたが、設定ファイルのデフォルト値の変更に影響を受ける場合があります。具体的にはバージョン毎に以下の属性設定が有効化されており、v2でこの範囲内の属性しか利用していない場合(設定ファイルがデフォルトのままの場合)設定ファイルが上書きされv3のデフォルトが適用されますので
unscoped-affiliation
が利用できなくなります。問題が発生した場合、attribute-map.xmlの該当箇所がコメントアウトされていますのでその部分だけ解除してください。:バージョン 初期設定ファイルで利用可能な属性 2.6.1 :eppn, affiliation, unscoped-affiliation, entitlement, targeted-id, persistent-id
3.0.3 subject-id, pairwise-id, eppn, affiliation, entitlement, persistent-id
※ targeted-idはSAML1用であり以前から利用は推奨されていません
※ subject-idおよびpairwise-idは2019年3月現在学認では規定されていませんパネル ...
-->
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" id="unscoped-affiliation">
<AttributeDecoder xsi:type="StringAttributeDecoder" caseSensitive="false"/>
</Attribute>
<!--
...
-->
<Attribute name="urn:mace:dir:attribute-def:eduPersonAffiliation" id="unscoped-affiliation">
<AttributeDecoder xsi:type="StringAttributeDecoder" caseSensitive="false"/>
</Attribute>
<!--
...- レアケースですがSPが直接外部サーバへHTTPS接続する場合(例えばメタデータのダウンロード)、同梱の設定ファイルでは(つまりv3で新規に構築すると)TLS 1.2以上を使うように強制されます。問題がある場合はshibboleth2.xmlのcipherSuitesの項を修正してください。(少なくとも学認メタデータのダウンロードで問題になることはありません)
- ハッシュアルゴリズムとしてSHA-1ではなくSHA-256を使うようになっています。これが問題になることはないと思いますが、古いIdPと連携する場合はご注意ください。
- 同梱の設定ファイルからSAML 1.xサポートが削除されております。つまりSPを新規に構築した場合SAML 2.0をサポートしていないIdPと連携できません。必要があればSAML1を有効化してください。
- 同様に、SPv3同梱の設定ファイルでは、属性の取得に失敗した場合Attribute Queryリクエストを試みる機能がデフォルトでは機能しないようになっています。必要な場合はQuery AttributeResolverを有効化してください。
- Solarisがサポート外となりました。
...
shibbolethリポジトリが冗長化され設定ファイルが変更になっております。古いものをお使いの場合は技術ガイドの手順に従って /etc/yum.repo.d/shibboleth.repo
ファイルを更新してください。これに伴いパッケージの更新が必要になることはありません。
SP 3へのアップデートに関する他の情報源: (Shibboleth Wiki) UpgradingFromV2