貴学にてSPをインストールする場合の構築手順
目次 maxLevel 2 minLevel 2 style none
...
アンカー spInst1 spInst1
1. Shibboleth SP (version
...
3.
...
0以降) の動作要件
以下は本技術ガイドで構築する前提となる環境です。
Apache HTTP Server 2.
2以上(かつ2.4未満) と 4以上と mod_ssl
他の環境および最新の情報はShibbolethのサイトでご確認ください:
全体, Linux,
...
...
アンカー spInst2 spInst2
2. OSをインストールする
1. OSでの設定
OS(CentOS 6)インストール7)インストール
インストーラを起動してOSのインストールを行ってください。途中表示されるパッケージ選択画面では「Webサーバー」を選択してください。
その他に必要なパッケージがある場合は、適宜インストールしてください。
※このテキストはSELinuxは無効化されているものとして書かれております。下記コマンドでSELinux設定を確認してください。パネル bgColor #eeeeee $ /usr/sbin/getenforce
- ネットワーク設定
環境に合わせ、ホスト名・ネットワーク・セキュリティを設定してください。
SPでは shibd サービスが通信を行います。
...
ntpサービスを用い、貴学環境のntpサーバと時刻同期をしてください。
※Shibbolethでは、通信するサーバ間の時刻のずれが約5分を越えるとエラーになります。※Shibbolethでは、通信するサーバ間の時刻のずれが約3分を越えるとエラーになります。
...
アンカー | ||||
---|---|---|---|---|
|
3. Shibbolethのインストール
SPバージョン2.3からはrepositoryが用意され、yumに対応したのでインストールが大変楽になりました。
ここで説明するのは、以下のOSについてのインストール方法となります。
- CentOS 5
- 7/ 6
- 8, Red Hat Enterprise Linux 4/5/6 (i386)
- SUSE Linux Enterprise Server 10/11(無印/SP1/SP2) (i386)
- OpenSUSE Linux 11.3/11.4/12.1 (i386)
その他のOSについては、以下を参照してください。
- 7/8 ※ただし7はOpenSSLのバージョンの関係で7.4以降向け
- Rocky Linux 8/9, Amazon Linux 2
その他のOSについては、以下を参照してください。※上記OSでx86_64の場合
⇒下記の"yum install shibboleth"を"yum install shibboleth.x86_64"と読み替えてください。
※Linuxの他のディストリビューションの場合
⇒こちら
※他のOSの場合
⇒こちら
1. repositoryファイル追加
...
Shibboleth用のrepositoryファイルをダウンロードします。
(下記コマンドは、CentOS 6の場合です。他のディストリビューションの場合はURLの 7 の場合です。他のディストリビューションの場合はURLの "CentOS_CentOS-6" の部分を適宜読み替えてください。)
...
title | 実習セミナー |
---|
7" の部分を下記対応表を参考に適宜読み替えてください。特に RHEL 7/8 の場合は CentOS_7/8 をご利用ください。)
対応表:
OS/バージョン | URLの赤字部分 |
---|---|
CentOS 7, RHEL 7 |
|
RHEL 8 | CentOS_8 |
Rocky Linux 8 | rockylinux8 |
Rocky Linux 9 | rockylinux9 |
※ ここに掲載されていないOSについてはこちらを参照してください
...
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
...
|
yumにrepositoryファイルを追加します。(ファイル名も標準的なものに変更しています。)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
2. インストール
...
yumコマンドを使用する為、依存関係のあるunixODBCなども同時にインストールされます。
yum コマンドの実行前に、まず※PGP鍵のインポートを参照してください。
yumコマンドを使用する為、依存性のあるunixODBCなども同時にインストールされます。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
なお、OSインストール直後の状態でyum install shibbolethでインストールされるパッケージは以下の通りです。
(2013年10月22日現在, CentOS 6にて)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
libcurl-openssl (*)
libmemcached (*)
libsaml8
libtool-ltdl (*)
libxerces-c-3_1
libxml-security-c17
libxmltooling6
liblog4shib1
opensaml-schemas
unixODBC
xmltooling-schemas
shibboleth 2.5.2-1.1 |
(2012年11月14日注:CentOS 5の場合は libcurl-openssl, libmemcached, libtool-ltdl はインストールされません)
(2011年6月21日注:ここでliblog4shib1でなく古いlog4shibがインストールされた場合はyum update liblog4shib1
を実行してアップデートしてください)
3. httpd 設定(★)
ヒント | ||
---|---|---|
| ||
ここで設定するホスト名は、各自SPサーバのホスト名を設定してください。 |
/etc/httpd/conf.d/ssl.confにて、ServerNameを設定します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
ServerName example-sp.nii.ac.jp:443 ← ホスト名を設定 |
4. shibd 起動(★)
以下のコマンドでshibdを起動します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# service shibd start |
...
途中でPGP鍵のインポートに関して確認があります。
パネル |
---|
|
...
素の状態でyumコマンドにてインストールを実行すると、
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
Importing GPG key 0x7D0A1B3D "security:shibboleth OBS Project
|
と聞かれますが、PGP鍵を確認せずにインストールすることは大変危険です。
このPGP鍵を確認するためにあらかじめ以下の手順を実行してください。
...
Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER]
を入力してください。同様に2つ目のPGP鍵の確認がありますので、
パネル |
---|
|
...
|
...
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
(中略)
-----END PGP PUBLIC KEY BLOCK----- |
...
|
Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER]
を入力してください。
なお、OSインストール直後の状態でyum install shibbolethでインストールされるパッケージは以下の通りです。
(2023年7月現在, CentOS 7にて)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
vi KEYS |
次に
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
gpg --quiet --import KEYS ; gpg --fingerprint 0x7D0A1B3D |
を実行し、以下のフィンガープリント(指紋)と一致することを確認してください。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
pub 1024D/7D0A1B3D 2008-06-30 [満了: 2014-01-23]
指紋 = 6519 B5DB 7C1C 8340 A954 ED00 73C9 3745 7D0A 1B3D
uid security:shibboleth OBS Project <security:shibboleth@build.opensuse.org> |
...
|
3. httpd 設定
/etc/httpd/conf.d/ssl.confにて、ServerNameを設定します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
gpg: error reading key: 公開鍵が見つかりません |
と表示された場合はコピーした鍵もしくはgpgコマンドの引数の鍵IDが異なっておりますので、もう一度確認してください。
下記コマンドで、このPGP鍵をインポートすれば完了です。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# rpm --import KEYS |
このとき
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
エラー: KEYS: インポート読み込みに失敗しました(0)。 |
とエラーが出る場合は改行コードの問題が考えられます(WindowsでKEYSを作成した場合など)。その場合は以下のコマンドでエラーが解消されるか確認してください。
...
borderColor | #cccccc |
---|---|
bgColor | #eeeeee |
borderStyle | solid |
...
ServerName sp.example.ac.jp:443 ← ホスト名を設定 |
情報 | |||||
---|---|---|---|---|---|
加えて、SSL 3.0プロトコルに対する攻撃が発見されておりますので、当該プロトコルを無効化することをお勧めします。⇒SSLバージョン3の脆弱性について (CVE-2014-3566)
|
4. shibd 起動
以下のコマンドでshibdを起動し、自動起動設定も行います。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
パネル | ||||||
borderColor | #cccccc | |||||
bgColor | #eeeeee | borderStyle | solidエラー: KEYS: key 1 import failed. |
とエラーが出る場合はすでにPGP鍵がインポートされている可能性があります。以下のコマンドで
| rpm -qa gpg-pubkey |
次の出力が含まれる場合はすでにPGP鍵がインポートされていますので次に進んでください。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
gpg-pubkey-7d0a1b3d-4ec20249 |
念の為下記コマンドでこのPGP鍵を用いて署名検証が行われることをチェックしてください。
|
展開 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
ここまで終了したら、元に戻って「yum install shibboleth」の所から続きを行ってください。
|
...
アンカー spInst4 spInst4
4. サービスの起動・停止方法
...
サービス |
---|
...
起動コマンド |
---|
...
停止コマンド |
---|
...
再起動コマンド |
---|
...
httpd |
...
# service httpd start
systemctl start httpd | systemctl stop httpd | systemctl restart httpd | |
shibd | systemctl start shibd | systemctl stop shibd | systemctl restart shibd |
展開 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
※shibdと同様、httpdもSPの設定ファイル(shibboleth2.xml等)を読み込みますので、設定ファイルを変更した際はhttpdの再起動もしくは再読み込み(reload)もあわせて行うようにしてください。httpdに含まれるShibbolethモジュール
shibd の起動方法
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# service shibd start |
httpd の停止方法
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# service httpd stop |
shibd の停止方法
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# service shibd stop |
httpd の再起動方法(停止→起動)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# service httpd restart |
shibd の再起動方法(停止→起動)
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
# service shibd restart |
※shibdと同様、httpdもSPの設定ファイル(shibboleth2.xml等)を読み込みますので、設定ファイルを変更した際はhttpdの再起動もあわせて行うようにしてください。httpdに含まれるShibbolethモジュール(mod_shib)が当該ファイルを読み込みます。
...