フリーソフト/Shibboleth-IdP
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
RIGHT:[[フリーソフトウェアのコンパイル]]
参考:
https://meatwiki.nii.ac.jp/confluence/pages/viewpage.acti...
環境:
RHEL7
*あらかじめ必要なもの [#b5407dc6]
-openldap をインストール
**jdk のインストール [#p430ece4]
# yum install java-1.8.0-openjdk
**tomcat 7のインストール [#o4166de3]
# yum install tomcat
# systemctl enable tocmat
/etc/sysconfig/tomcatを編集し、JAVA_OPTSを設定
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
JAVA_OPTS="-server -Xmx1500m -XX:+UseG1GC "
/etc/profile.d/java-tomcat.sh という新規ファイルを以下の...
# /etc/profile.d/java-tomcat.sh
JAVA_HOME=/usr/lib/jvm/jre
#export MANPATH=$MANPATH:/usr/java/default/man
CATALINA_HOME=/usr/share/tomcat
CATALINA_BASE=$CATALINA_HOME
PATH=$JAVA_HOME/bin:$CATALINA_BASE/bin:$CATALINA_HOME/bi...
export PATH JAVA_HOME CATALINA_HOME CATALINA_BASE
server.xmlの修正
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
Connector port="8009"に以下のように追加
<Connector port="8009" protocol="AJP/1.3" redirectPort="...
enableLookups="false" tomcatAuthentication="fa...
**httpd をインストール [#o61abc52]
/etc/httpd/conf/httpd.conf の修正
#ServerName idp.example.jp:80 ←ホスト名
↑コメントアウト(#)を削除
/etc/httpd/conf.d/ssl.conf の修正
<VirtualHost _default_:443>
(省略)
#ServerName idp.example.jp:443 ←ホスト名
↑コメントアウト(#)を削除
ProxyPass /idp/ ajp://localhost:8009/idp/ ←追加
(省略)
SSLProtocol all -SSLv2 -SSLv3
/etc/httpd/conf.d/virtualhost-localhost80.conf を以下の内...
<VirtualHost localhost:80>
ProxyPass /idp/ ajp://localhost:8009/idp/
</VirtualHost>
-------------------------
*Shibbolethのインストール [#tc54d06f]
# tar xzvf shibboleth-identity-provider-3.?.?.tar.gz
# cd shibboleth-identity-provider-3.?.?
# ./bin/install.sh -Didp.conf.filemode=640
Source (Distribution) Directory: [/root/PKG/shibboleth-i...
[Enter] ←入力なし
Installation Directory: [/opt/shibboleth-idp]
[Enter] ←入力なし
Hostname: [idp.example.jp]
[Enter] ←入力なし
SAML EntityID: [https://idp.example.jp/idp/shibboleth]
[Enter] ←入力なし
Attribute Scope: [example.jp]
[Enter] ←入力なし
Backchannel PKCS12 Password: *******[Enter] ←任意のパス...
Re-enter password: ******[Enter]
Cookie Encryption Key Password: ******[Enter] ←任意のパ...
Re-enter password: *******[Enter]
(省略)
BUILD SUCCESSFUL
Total time: 2 minutes 9 seconds
**パーミッションの調整 [#k794cbd0]
# chown -R tomcat:tomcat /opt/shibboleth-idp/logs
# chgrp -R tomcat /opt/shibboleth-idp/conf
# chmod -R g+r /opt/shibboleth-idp/conf
# find /opt/shibboleth-idp/conf -type d -exec chmod -R g...
# chgrp tomcat /opt/shibboleth-idp/metadata
# chmod g+w /opt/shibboleth-idp/metadata
# chmod +t /opt/shibboleth-idp/metadata
**jakarta-taglibs-core.jar と jakarta-taglibs-standard.ja...
# yum install jakarta-taglibs-standard
# ln -s /usr/share/java/jakarta-taglibs-core.jar /opt/sh...
# ln -s /usr/share/java/jakarta-taglibs-standard.jar /op...
# /opt/shibboleth-idp/bin/build.sh
Installation Directory: [/opt/shibboleth-idp]
[Enter] ←入力なし
Rebuilding /opt/shibboleth-idp/war/idp.war ...
...done
BUILD SUCCESSFUL
Total time: 3 seconds
**idp.war の登録 [#rbd71297]
${CATALINA_BASE}/conf/Catalina/localhost/idp.xml という
新規ファイルを以下の内容で作成し,idp.war を Tomcat が認...
<Context docBase="/opt/shibboleth-idp/war/idp.war"
privileged="true"
antiResourceLocking="false"
swallowOutput="true">
<Manager pathname="" />
<!-- For Tomcat 8.0: work around lack of Max-Age sup...
<CookieProcessor alwaysAddExpires="true" />
</Context>
以下のエラーは無視してよい
WARNING: No rules found matching 'Context/CookieProces...
httpd の再起動と Tomcat の起動
# systemctl restart httpd
# systemctl start tomcat
-------------------------
*設定 [#y03e8e8a]
**1. metadata-providers.xml [#i23c99ea]
運用フェデレーション
メタデータのダウンロード URL:
https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml
検証用証明書
/opt/shibboleth-idp/credentials/gakunin-signer-2017.cer
**2. idp.proprties [#h9cd1564]
IdPのentityIDやScopeや証明書などのプロパティ値を
idp.properties ファイルに設定
entityID や Scope は,インストール時に入力した値で設定さ...
証明書の設定だけでいいはず.
**3. 証明書 [#pd5880c1]
参照先ディレクトリ(/opt/shibboleth-idp/credentials/)に,
サーバ証明書(server.crt)と秘密鍵(server.key)をそれぞれの...
また,Tomcat が "tomcat" ユーザで起動されるようになってい...
秘密鍵にアクセス権限をかけるとともに "tomcat" ユーザで参...
chown root:tomcat /opt/shibboleth-idp/credentials/server...
chmod 640 /opt/shibboleth-idp/credentials/server.key
/opt/shibboleth-idp/conf/idp.properties ファイルを以下の...
idp.signing.key= %{idp.home}/credentials/server.key
idp.signing.cert= %{idp.home}/credentials/server.crt
idp.encryption.key= %{idp.home}/credentials/server.key
idp.encryption.cert= %{idp.home}/credentials/server.ctr
idp.entityID.metadataFile を空にし,
entityID を URL としてアクセスした際に
/opt/shibboleth-idp/metadata/idp-metadata.xml
の内容が返される機能を無効化する.
**4. ldap.properties [#o4fd32d9]
認証先LDAPの設定
(ldapURL,useStartTLS, baseDN, subtreeSearch, userFilt...
idp.authn.LDAP.authenticator = ldapURL
idp.authn.LDAP.ldapURL = ldap://ldap01.example.jp ldap:/...
idp.authn.LDAP.useStartTLS = false
#idp.authn.LDAP.trustCertificates = %{idp...
#idp.authn.LDAP.trustStore = %{idp...
idp.authn.LDAP.baseDN = ou=Poe...
idp.authn.LDAP.subtreeSearch = true
idp.authn.LDAP.bindDN = cn=lda...
idp.authn.LDAP.bindDNCredential = ******
**5. saml-nameid.properties [#f773bc15]
主な設定内容: idp.persistentIdの設定
現状は設定変更していない感じだが...学認の手順どおりに変更...
idp.persistentId.sourceAttribute = uid
idp.persistentId.salt = ***********************
idp.persistentId.encoding = BASE64
**6. attribute-resolver.xml [#j58d3e54]
主な設定内容: IdPで取り扱う属性情報の設定
属性情報の取得元の設定(LDAP,ComputedID等)
学認のテンプレートと入れ替える
**7. attribute-filter.xml [#d940eb82]
主な設定内容: attribute-resolverで設定した属性情報のうち...
学認のテンプレートと入れ替える
終了行:
RIGHT:[[フリーソフトウェアのコンパイル]]
参考:
https://meatwiki.nii.ac.jp/confluence/pages/viewpage.acti...
環境:
RHEL7
*あらかじめ必要なもの [#b5407dc6]
-openldap をインストール
**jdk のインストール [#p430ece4]
# yum install java-1.8.0-openjdk
**tomcat 7のインストール [#o4166de3]
# yum install tomcat
# systemctl enable tocmat
/etc/sysconfig/tomcatを編集し、JAVA_OPTSを設定
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
JAVA_OPTS="-server -Xmx1500m -XX:+UseG1GC "
/etc/profile.d/java-tomcat.sh という新規ファイルを以下の...
# /etc/profile.d/java-tomcat.sh
JAVA_HOME=/usr/lib/jvm/jre
#export MANPATH=$MANPATH:/usr/java/default/man
CATALINA_HOME=/usr/share/tomcat
CATALINA_BASE=$CATALINA_HOME
PATH=$JAVA_HOME/bin:$CATALINA_BASE/bin:$CATALINA_HOME/bi...
export PATH JAVA_HOME CATALINA_HOME CATALINA_BASE
server.xmlの修正
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
Connector port="8009"に以下のように追加
<Connector port="8009" protocol="AJP/1.3" redirectPort="...
enableLookups="false" tomcatAuthentication="fa...
**httpd をインストール [#o61abc52]
/etc/httpd/conf/httpd.conf の修正
#ServerName idp.example.jp:80 ←ホスト名
↑コメントアウト(#)を削除
/etc/httpd/conf.d/ssl.conf の修正
<VirtualHost _default_:443>
(省略)
#ServerName idp.example.jp:443 ←ホスト名
↑コメントアウト(#)を削除
ProxyPass /idp/ ajp://localhost:8009/idp/ ←追加
(省略)
SSLProtocol all -SSLv2 -SSLv3
/etc/httpd/conf.d/virtualhost-localhost80.conf を以下の内...
<VirtualHost localhost:80>
ProxyPass /idp/ ajp://localhost:8009/idp/
</VirtualHost>
-------------------------
*Shibbolethのインストール [#tc54d06f]
# tar xzvf shibboleth-identity-provider-3.?.?.tar.gz
# cd shibboleth-identity-provider-3.?.?
# ./bin/install.sh -Didp.conf.filemode=640
Source (Distribution) Directory: [/root/PKG/shibboleth-i...
[Enter] ←入力なし
Installation Directory: [/opt/shibboleth-idp]
[Enter] ←入力なし
Hostname: [idp.example.jp]
[Enter] ←入力なし
SAML EntityID: [https://idp.example.jp/idp/shibboleth]
[Enter] ←入力なし
Attribute Scope: [example.jp]
[Enter] ←入力なし
Backchannel PKCS12 Password: *******[Enter] ←任意のパス...
Re-enter password: ******[Enter]
Cookie Encryption Key Password: ******[Enter] ←任意のパ...
Re-enter password: *******[Enter]
(省略)
BUILD SUCCESSFUL
Total time: 2 minutes 9 seconds
**パーミッションの調整 [#k794cbd0]
# chown -R tomcat:tomcat /opt/shibboleth-idp/logs
# chgrp -R tomcat /opt/shibboleth-idp/conf
# chmod -R g+r /opt/shibboleth-idp/conf
# find /opt/shibboleth-idp/conf -type d -exec chmod -R g...
# chgrp tomcat /opt/shibboleth-idp/metadata
# chmod g+w /opt/shibboleth-idp/metadata
# chmod +t /opt/shibboleth-idp/metadata
**jakarta-taglibs-core.jar と jakarta-taglibs-standard.ja...
# yum install jakarta-taglibs-standard
# ln -s /usr/share/java/jakarta-taglibs-core.jar /opt/sh...
# ln -s /usr/share/java/jakarta-taglibs-standard.jar /op...
# /opt/shibboleth-idp/bin/build.sh
Installation Directory: [/opt/shibboleth-idp]
[Enter] ←入力なし
Rebuilding /opt/shibboleth-idp/war/idp.war ...
...done
BUILD SUCCESSFUL
Total time: 3 seconds
**idp.war の登録 [#rbd71297]
${CATALINA_BASE}/conf/Catalina/localhost/idp.xml という
新規ファイルを以下の内容で作成し,idp.war を Tomcat が認...
<Context docBase="/opt/shibboleth-idp/war/idp.war"
privileged="true"
antiResourceLocking="false"
swallowOutput="true">
<Manager pathname="" />
<!-- For Tomcat 8.0: work around lack of Max-Age sup...
<CookieProcessor alwaysAddExpires="true" />
</Context>
以下のエラーは無視してよい
WARNING: No rules found matching 'Context/CookieProces...
httpd の再起動と Tomcat の起動
# systemctl restart httpd
# systemctl start tomcat
-------------------------
*設定 [#y03e8e8a]
**1. metadata-providers.xml [#i23c99ea]
運用フェデレーション
メタデータのダウンロード URL:
https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml
検証用証明書
/opt/shibboleth-idp/credentials/gakunin-signer-2017.cer
**2. idp.proprties [#h9cd1564]
IdPのentityIDやScopeや証明書などのプロパティ値を
idp.properties ファイルに設定
entityID や Scope は,インストール時に入力した値で設定さ...
証明書の設定だけでいいはず.
**3. 証明書 [#pd5880c1]
参照先ディレクトリ(/opt/shibboleth-idp/credentials/)に,
サーバ証明書(server.crt)と秘密鍵(server.key)をそれぞれの...
また,Tomcat が "tomcat" ユーザで起動されるようになってい...
秘密鍵にアクセス権限をかけるとともに "tomcat" ユーザで参...
chown root:tomcat /opt/shibboleth-idp/credentials/server...
chmod 640 /opt/shibboleth-idp/credentials/server.key
/opt/shibboleth-idp/conf/idp.properties ファイルを以下の...
idp.signing.key= %{idp.home}/credentials/server.key
idp.signing.cert= %{idp.home}/credentials/server.crt
idp.encryption.key= %{idp.home}/credentials/server.key
idp.encryption.cert= %{idp.home}/credentials/server.ctr
idp.entityID.metadataFile を空にし,
entityID を URL としてアクセスした際に
/opt/shibboleth-idp/metadata/idp-metadata.xml
の内容が返される機能を無効化する.
**4. ldap.properties [#o4fd32d9]
認証先LDAPの設定
(ldapURL,useStartTLS, baseDN, subtreeSearch, userFilt...
idp.authn.LDAP.authenticator = ldapURL
idp.authn.LDAP.ldapURL = ldap://ldap01.example.jp ldap:/...
idp.authn.LDAP.useStartTLS = false
#idp.authn.LDAP.trustCertificates = %{idp...
#idp.authn.LDAP.trustStore = %{idp...
idp.authn.LDAP.baseDN = ou=Poe...
idp.authn.LDAP.subtreeSearch = true
idp.authn.LDAP.bindDN = cn=lda...
idp.authn.LDAP.bindDNCredential = ******
**5. saml-nameid.properties [#f773bc15]
主な設定内容: idp.persistentIdの設定
現状は設定変更していない感じだが...学認の手順どおりに変更...
idp.persistentId.sourceAttribute = uid
idp.persistentId.salt = ***********************
idp.persistentId.encoding = BASE64
**6. attribute-resolver.xml [#j58d3e54]
主な設定内容: IdPで取り扱う属性情報の設定
属性情報の取得元の設定(LDAP,ComputedID等)
学認のテンプレートと入れ替える
**7. attribute-filter.xml [#d940eb82]
主な設定内容: attribute-resolverで設定した属性情報のうち...
学認のテンプレートと入れ替える
ページ名: