インストール
実習セミナー内に準備されたLinuxサーバに、Shibbolethをインストールする手順となっています。
1. 実習に使用する仮想サーバについて
以下は本技術ガイドで構築する前提となる環境です。
- OS、DNS、ネットワーク、時刻同期などは設定済みとなっています。(Apache HTTP Server、mod_sslもインストール済み)
- CentOS7
- メモリ2GB以上
- Apache HTTP Server 2.4 と mod_ssl
- Shibboleth SP v2.6.0
また、実習環境ではSELinuxは無効化されているものとして手順を記載しています。下記コマンドでSELinux設定が確認できます。
$ /usr/sbin/getenforce
2.Shibbolethのインストール
1. repositoryファイル追加
Shibboleth用のrepositoryファイルをダウンロードします。
# wget 'https://shibboleth.net/cgi-bin/sp_repo.cgi?platform=CentOS_7'
yumにrepositoryファイルを追加します。
# cp sp_repo.cgi\
?platform=* /etc/yum.repos.d/shibboleth.repo
2. インストール
2.1 PGP鍵のインポート
yum コマンドの実行前に、まず「PGP鍵のインポート」を行います。
素の状態でyumコマンドにてインストールを実行すると、
例)yum install shibboleth実行
Importing GPG key 0x7D0A1B3D "security:shibboleth OBS Project <security:shibboleth@build.opensuse.org>" from http://download.opensuse.org/repositories/security:/shibboleth/CentOS_7/repodata/repomd.xml.key Is this ok [y/N]:
と聞かれますが、PGP鍵を確認せずにインストールすることは大変危険です。
このPGP鍵を確認するためにあらかじめ以下の手順を実行してください。
Shibboleth関連のPGP鍵は以下のURLにあります。
https://shibboleth.net/downloads/PGP_KEYS
リンク先のテキストには
-----BEGIN PGP PUBLIC KEY BLOCK----- (中略) -----END PGP PUBLIC KEY BLOCK-----
となっているところがいくつかありますが、そのうち"security:shibboleth OBS Project"の文字列のすぐ下にあるもの(2018年1月時点で8カ所中一番最後)を(-----
から始まる行も含めて)コピーして、
以下のコマンド等で新たに作成したKEYSというファイルにペーストしてください。
※vi以外のテキストエディタを使う場合、最終行に改行が入らないエディタがありrpmコマンドで失敗する場合が
ありますので、念のため最終行に改行を入れてください。
vi KEYS
次に
gpg --with-fingerprint KEYS
を実行し、以下のフィンガープリント(指紋)と一致することを確認してください。
pub 1024D/7D0A1B3D 2008-06-30 security:shibboleth OBS Project <security:shibboleth@build.opensuse.org>
フィンガー・プリント = 6519 B5DB 7C1C 8340 A954 ED00 73C9 3745 7D0A 1B3D
下記コマンドで、このPGP鍵をインポートすれば完了です。
# rpm --import KEYS
念の為下記コマンドでこのPGP鍵を用いて署名検証が行われることをチェックしてください。
# grep gpgcheck /etc/yum.repos.d/shibboleth.repo
gpgcheck=1 ← =1であれば署名検証が行われる
ここまで終了したら、shibbolethをインストールします。
2.2 Shibbolethのインストール
yumコマンドを使用する為、依存性のあるunixODBCなども同時にインストールされます。
# yum install shibboleth
3. httpd 設定
/etc/httpd/conf.d/ssl.confにて、ServerNameを設定します。
ServerName ex-sp-test??.gakunin.nii.ac.jp:443 ← ホスト名を設定(??には、割り振られた番号を設定)
加えて、SSL 3.0プロトコルに対する攻撃が発見されておりますので、当該プロトコルを無効化することをお勧めします。⇒SSLバージョン3の脆弱性について (CVE-2014-3566)
SSLProtocol all -SSLv2 -SSLv3
4. shibd 起動
以下のコマンドでshibdを起動します。
# systemctl start shibd
# systemctl enable shibd
3.サービスの起動・停止方法
サービス | 起動コマンド | 停止コマンド | 再起動コマンド |
---|---|---|---|
httpd | 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モジュール(mod_shib)が当該ファイルを読み込みます。
インストールが完了したら,サイト情報等の設定を行って下さい.