比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

  • OS、DNS、ネットワーク、時刻同期などは設定済みとなっています。(Apache HTTP Server、mod_sslもインストール済み)
  • CentOS7
  • メモリ2GB以上
  • Apache HTTP Server 2.4 と mod_ssl
  • Shibboleth SP v3.0.0

本手順における用語の解説:

用語説明
DNSDNSは、Domain Name Systemの略で、インターネット上でドメイン名を管理・運用するためのシステム。
Apache HTTP ServerApache License2.0の条件でリリースされるフリーでオープンソースなクロスプラットフォームのWebサーバソフトウェア。
mod_sslmod_sslはOpenSSLを使ってApache HTTP Serverを通信の暗号化(SSL(Secure Sockets Layer), TLS(Transport Layer Security))に対応させるモジュール。
Shibboleth SP

Shibbolethは、組織内および組織を超えてWeb上でシングルサインオン(SSO)を実現し認証フェデレーションを構成するための、標準的なオープンソースソフトウェアのパッケージです。

Shibbolethを用いた認証はShibboleth(シボレス)認証と呼ばれます。

Shibboleth SPはSP(Service Provider)側にインストールするソフトウェアです。

SPサーバにインストールするのは、

  • Ÿ   Apache HTTP Server
  • Ÿ   mod_ssl
  • Ÿ   Shibboleth SP

の3つのパッケージで、下図で背景色が白である図形部分です。

但し、本実習ではApache HTTP Server、mod_sslはインストール済み(下図、白背景の四角で示しています)のサーバを準備しており、Shibboleth SPをインストールする実習になります。(下図、白背景の楕円形で示しています)

Image Added


実習環境ではSELinuxは無効化されているものとして手順を記載しています。下記コマンドでSELinux設定が確認できます。また、実習環境ではSELinuxは無効化されているものとして手順を記載しています。下記コマンドでSELinux設定が確認できます。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
$ /usr/sbin/getenforce

実行していなければsudoコマンドを実行し、rootユーザで以降のコマンドを実行するようにしてください。あくまで実習の効率化のためであり、実環境ではコマンドごとにrootユーザでの実行の必要性の有無を確認してください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
$ sudo -i
# 


...

アンカー
spInst2
spInst2

2.Shibbolethのインストール

1. repositoryファイル追加 

  Shibboleth用のrepositoryファイルをダウンロードします。  Shibboleth SP用のrepositoryファイルをダウンロードします。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# wgetcurl -O 'https://shibboleth.net/cgi-bin/sp_repo.cgi?platform=CentOS_7'

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# cp sp_repo.cgi\?platform=* /etc/yum.repos.d/shibboleth.repo


2. インストール

2.1 PGP鍵のインポート

 yum コマンドの実行前に、まずPGP鍵のインポートを行います。

 素の状態でyumコマンドにてインストールを実行すると、 

情報
title例)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
  リンク先のテキストには

yumコマンドを使用する為、依存関係のあるunixODBCなども同時にインストールされます。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
-----BEGIN PGP PUBLIC KEY BLOCK-----
(中略)
-----END PGP PUBLIC KEY BLOCK-----

 となっているところがいくつかありますが、そのうち"OBS security:shibboleth RPM repository key"の文字列のすぐ下にあるもの(2018年1月時点で8カ所中一番最後)を(-----から始まる行も含めて)コピーして、
  以下のコマンド等で新たに作成したKEYSというファイルにペーストしてください。
  ※vi以外のテキストエディタを使う場合、最終行に改行が入らないエディタがありrpmコマンドで失敗する場合が
    ありますので、念のため最終行に改行を入れてください。

# yum install shibboleth

shibbolethパッケージの依存性、インストール容量等表示され、インストールするかの確認があります。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
vi KEYS

  次に

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
gpg --with-fingerprint KEYS

 を実行し、以下のフィンガープリント(指紋)と一致することを確認してください。

(中略)
Is this ok [y/d/N]: y

インストールが始まり、途中でPGP鍵のインポートに関して確認があります。

パネル

Retrieving key from https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key
Importing GPG key 0x7D0A1B3D:
 Userid     : "security:shibboleth OBS Project

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
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鍵をインポートすれば完了です。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# rpm --import KEYS

...

title※よくあるエラー

...

PGP鍵をインポートしたとき、

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
エラー: KEYS: インポート読み込みに失敗しました(0)。

 とエラーが出る場合は改行コードの問題が考えられます(WindowsでKEYSを作成した場合など)。その場合は以下のコマンドでエラーが解消されるか確認してください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# tr -d \\r < KEYS > KEYS.lf ; rpm --import KEYS.lf
パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
エラー: KEYS: key 1 import failed.

 とエラーが出る場合はすでにPGP鍵がインポートされている可能性があります。以下のコマンドで

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# rpm -qa gpg-pubkey

 次の出力が含まれる場合はすでにPGP鍵がインポートされていますので次に進んでください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
gpg-pubkey-7d0a1b3d-53ea2ad3 (最後のハイフン以降は異なっていても問題ありません)

 

"
 Fingerprint: 6519 b5db 7c1c 8340 a954 ed00 73c9 3745 7d0a 1b3d
 From       : https://shibboleth.net/downloads/service-provider/RPMS/repomd.xml.key
上記の処理を行います。よろしいでしょうか? [y/N]

Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER] を入力してください。同様に2つ目のPGP鍵の確認がありますので、

パネル

Retrieving key from https://shibboleth.net/downloads/service-provider/RPMS/cantor.repomd.xml.key
Importing GPG key 0x02277962:
 Userid     : "Scott Cantor <cantor.2@osu.edu>"
 Fingerprint: dcaa 1500 7bed 9de6 90cd 9523 378b 8454 0227 7962
 From       : https://shibboleth.net/downloads/service-provider/RPMS/cantor.repomd.xml.key
上記の処理を行います。よろしいでしょうか? [y/N]

Fingerprint: に表示されている文字列が上記と一致することを確認の上、y[ENTER] を入力してください。

なお、OSインストール直後の状態でyum install shibbolethでインストールされるパッケージは以下の通りです。
  (2023年7月現在, CentOS 7にて)
 念の為下記コマンドでこのPGP鍵を用いて署名検証が行われることをチェックしてください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# grep gpgcheck /etc/yum.repos.d/shibboleth.repo
gpgcheck=1  ← =1であれば署名検証が行われる

 ここまで終了したら、shibbolethをインストールします。

2.2 Shibbolethのインストール

  yumコマンドを使用する為、依存性のあるunixODBCなども同時にインストールされます。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# yum install shibboleth

shibboleth 3.4.1-1
libcurl-openssl
liblog4shib2
libmemcached
libsaml12
libxerces-c-3_2
libxml-security-c20
libxmltooling10
opensaml-schemas
unixODBC
xmltooling-schemas



3. httpd 設定

/etc/httpd/conf.d/ssl.confにて、ServerNameを設定します。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
#ServerName www.example.com:443
   
ServerName ex-sp-test??.gakunin.nii.ac.jp:443 ホスト名を設定(先頭の#を削除しホスト名を設定(??には、割り振られた番号を設定)

 

情報

加えて、SSL 3.0プロトコルに対する攻撃が発見されておりますので、当該プロトコルを無効化することをお勧めします。⇒SSLバージョン3の脆弱性について (CVE-2014-3566)

panel

SSLProtocol all -SSLv2 -SSLv3


4. shibd 起動

以下のコマンドでshibdを起動します。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# systemctl start shibd   ←サービスの起動
# systemctl enable shibd  ←サービスの自動起動設定
Created symlink from /etc/systemd/system/multi-user.target.wants/shibd.service to /usr/lib/systemd/system/shibd.service.


...

アンカー
spInst3
spInst3

3.サービスの起動・停止方法

...

※shibdと同様、httpdもSPの設定ファイル(shibboleth2.xml等)を読み込みますので、設定ファイルを変更した際はhttpdの再起動もしくは再読み込み(reload)もあわせて行うようにしてください。httpdに含まれるShibbolethモジュール(mod_shib)が当該ファイルを読み込みます。


...

 
 

インストールが完了したら,サイト情報等の設定を行って下さい.