西村です。
/secureをシボレス対象ディレクトリとし、アクセスを行うと
401 Unauthorized
となり、本来表示されるはずのDS画面(IDPの一覧が出る画面)が表示されま
せん。
のほうですが、require valid-user があやしいと思っています。
Apache 2.4で他の認証と共存する場合に問題になるようで、最近の配布物では以下
のように require shib-session を使うようになっています。
<Location /secure>
AuthType shibboleth
ShibCompatWith24 On
ShibRequestSetting requireSession 1
require shib-session
</Location>
参考: 2.5.2リリースノート:
https://wiki.shibboleth.net/confluence/x/QoFC#NativeSPReleaseNotes-ApacheCompatibilityChanges
他の設定ファイルについても、2.6.0のもの(shibboleth2.xml.dist等)をベースと
していないものがあればご注意ください。
On 2016/12/07 12:00, 保守サポート wrote:
京都産業大学 秋山様
何度もすみません。
ご回答ありがとうございました。
エラーがご指摘のとおりで,SPのMetadataにAssertion Consumer Serviceの
URIが指定されていないということでは?
/var/cache/shibboleth/federation-metadata.xmlには以下の
AssertionConsumerService があります。
----------------------------------------------------------------------
<AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://xxxx.xxxx.ac.jp/Shibboleth.sso/SAML2/POST" index="1"
isDefault="true"/>
<AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"
Location="https://xxxx.xxxx.ac.jp/Shibboleth.sso/SAML2/POST-SimpleSign" index="2"/>
<AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"
Location="https://xxxx.xxxx.ac.jp/Shibboleth.sso/SAML2/Artifact"
index="3"/>
<AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post"
Location="https://xxxxx.xxxx.ac.jp/Shibboleth.sso/SAML/POST" index="4"/>
<AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01"
Location="https://xxxx.xxxx.ac.jp/Shibboleth.sso/SAML/Artifact"
index="5"/>
----------------------------------------------------------------------
また、shibd起動時のログで[INFO]であるが気になる箇所が何点かありました。
----------------------------------------------------------------------
2016-12-07 11:54:40 INFO Shibboleth.Config : no StorageService
plugin(s) installed, using (mem) in-memory instance
2016-12-07 11:54:40 INFO Shibboleth.Config : no ReplayCache specified,
using arbitrary StorageService instance
2016-12-07 11:54:40 INFO Shibboleth.Config : no ArtifactMap specified,
building in-memory ArtifactMap...
2016-12-07 11:54:40 INFO Shibboleth.Config : no SessionCache
specified, using StorageService-backed instance
:
2016-12-07 11:54:40 INFO XMLTooling.SecurityHelper : loading
certificate(s) from file
(/etc/shibboleth/cert/gakunin-test-signer-2011.cer)
2016-12-07 11:54:40 INFO XMLTooling.CredentialResolver.File : no
private key resolved, usable for verification/trust only
2016-12-07 11:54:41 INFO OpenSAML.MetadataProvider.XML : loaded XML
resource (https://metadata.gakunin.nii.ac.jp/gakunin-test-metadata.xml)
2016-12-07 11:54:41 INFO OpenSAML.Metadata : applying metadata filter
(RequireValidUntil)
2016-12-07 11:54:41 INFO OpenSAML.Metadata : applying metadata filter
(Signature)
2016-12-07 11:54:41 INFO OpenSAML.MetadataProvider.XML : adjusted
reload interval to 7200 seconds
2016-12-07 11:54:41 INFO Shibboleth.Application : no TrustEngine
specified or installed, using default chain {ExplicitKey, PKIX}
2016-12-07 11:54:41 INFO OpenSAML.MetadataProvider.XML : reload thread
started...running every 7200 seconds
----------------------------------------------------------------------
ところどころ「no」が出てきます。この辺も影響しているのでしょうか?
何卒よろしくお願いいたします。
On 2016/12/07 11:17, Toyokazu Akiyama wrote:
京都産業大学の秋山です.
エラーがご指摘のとおりで,SPのMetadataにAssertion Consumer Serviceの
URIが指定されていないということでは?
取り急ぎ.
2016年12月7日 11:06 保守サポート <xxxxxx@xxxxxxxxxx>:
京都産業大学 秋山様
秋山様からご教授いただいた設定でメタデータは正常に取得できるようにな
りました。どうもありがとうございました。
<TransportOption provider="CURL" option="10004">proxy.xxxx.ac.jp:8080
</TransportOption>
しかしながら、/secureにアクセスすると相変わらず「401 Unauthorized」
のままです。これはまた違う原因なのか...
追加情報ですが、
ブラウザから下記URLを入力すると
https://xxxx.xxxxx.ac.jp/Shibboleth.sso/DS
学認のDS画面(IDPの一覧のプルダウンがある画面)が表示されます。
その中からIDPを選択すると、IDP側のログイン画面が出ずに
-----------------------------------------------------------
shibsp::ConfigurationException
The system encountered an error at Wed Dec 7 10:57:45 2016
To report this problem, please contact the site administrator at
root@localhost.
Please include the following message in any email:
shibsp::ConfigurationException at (https://xxxx.xxxxx.ac.jp/Shib
boleth.sso/DS)
Unable to locate a SAML 2.0 ACS endpoint to use for response.
-----------------------------------------------------------
が出力されます。
shibd内部でリダイレクトする際にproxyで引っ掛かっているという事なので
しょうか?
どんな情報でもよいのでいただけましたら幸いです。
何卒よろしくお願いいたします。
On 2016/12/06 19:11, Toyokazu Akiyama wrote:
京都産業大学の秋山です.
いくつかミスが重なっているような気もしますが,
とりあえずshibdのCURL向けプロキシ設定については下記(Set HTTP proxy
addressのあたり)を参照すれば良いようです.
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeS
PTransportOption
# すみませんが未テストです.
取り急ぎ.
2016年12月6日 15:37 保守サポート <xxxxxx@xxxxxxxxxx>:
皆様
株式会社シーエムエスの松橋と申します。
現在SPの構築をしております。
NII様のインストールマニュアルに則り設定が完了し、テストフェデレー
ションにも参加済みです。
・環境
OS:Redhat7.2
Shibboleth SP Version 2.6.0
※既にSSL環境であるため、証明書は商用のものを使用しています。
※インストールを行ったサーバはProxy経由で外部接続します。
まず最初にshibd起動時に以下のエラーが出力されました。
----------------------------------------------------------------------
ERROR XMLTooling.ParserPool : fatal error on line 0, column 0,
message:
unable to connect socket for URL 'https://metadata.gakunin.nii.
ac.jp/gakunin-test-metadata.xml'
----------------------------------------------------------------------
Proxyが原因?かと推測し、上記メタデータXMLをwgetで取得し、
shibboleth2.xmlに
<MetadataProvider type="XML" file="/var/cache/shibboleth/fe
deration-metadata.xml"/>
とし、固定ファイルとしてセットしました。
/secureをシボレス対象ディレクトリとし、アクセスを行うと
401 Unauthorized
となり、本来表示されるはずのDS画面(IDPの一覧が出る画面)が表示さ
れません。
/var/log/shibboleth/shibd.log, shibd_warn.log
/var/log/shibboleth-www/native.log, native_warn.log
には[INFO]は出力されますがエラーは出力されていません。
やはりproxyが原因なのでしょうか?
どなたかproxy配下でSPの構築を成功された方はいらっしゃいますでしょ
うか?
●shibboleth2.xmlの主な設定内容
<ApplicationDefaults
entityID="https://xxxx.xx.xx.xx/shibboleth-sp"
REMOTE_USER="eppn persistent-id
targeted-id">
:
<SessionInitiator type="Chaining" Location="/DS" isDefault="true"
id="DS">
<SessionInitiator type="SAML2"
template="bindingTemplate.html"/>
<SessionInitiator type="Shib1"/>
<SessionInitiator type="SAMLDS"
URL="https://test-ds.gakunin.n
ii.ac.jp/WAYF"/>
</SessionInitiator>
:
<CredentialResolver type="File" key="cert/商用のKeyファイル"
certificate="cert/商用の証明書"/>
※商用証明書を/etc/shibboleth/cert/配下にコピーしています。
●httpd/conf.d/shib.confの主な設定内容
<Location /secure>
AuthType shibboleth
ShibRequestSetting requireSession 1
require valid-user
</Location>
何卒よろしくお願いいたします。