Interstage シングル・サインオンを運用する上で想定される脅威について説明します。
セション管理の運用を行う場合には、業務サーバ、または認証サーバをDMZに配置することができます。
ただし、DMZに配置することでサーバが乗っ取られる危険性が高まり、サーバが乗っ取られた場合には、通信データの盗聴や改竄、成りすましなどによる不正使用の脅威となります。
万が一、業務サーバ、または認証サーバの乗っ取りが行われた場合は、Interstage シングル・サインオンシステムを構成するすべてのサーバの暗号化情報(サービスID)を更新する必要があります。
各サーバの暗号化情報(サービスID)の更新方法について以下に説明します。
各コマンドの詳細については、“リファレンスマニュアル(コマンド編)”の“シングル・サインオン運用コマンド”を参照してください。
リポジトリサーバ
リポジトリサーバを1台で構成、またはリポジトリサーバ(更新系)とリポジトリサーバ(参照系)に負荷分散する構成の場合
ssoupsidコマンドを使用して、リポジトリサーバ(複数台で運用している場合は、更新系)の暗号化情報(サービスID)を更新します。
認証基盤構築ファイルをダウンロードし、認証サーバ、およびリポジトリサーバを複数台で運用している場合は、リポジトリサーバ(参照系)に転送します。
業務システム構築ファイルをダウンロードし、業務サーバ管理者に配布します。
リポジトリサーバ(更新系)を増設して負荷分散する構成の場合
ssoupsidコマンドを使用して、マスタで運用するSSOリポジトリを作成したリポジトリサーバ(更新系)の暗号化情報(サービスID)を更新します。
暗号化情報(サービスID)を更新したマシンで以下を行います。
- ssobackupコマンドを使用して、リポジトリサーバ資源を移出します。
- 認証基盤構築ファイルをダウンロードし、認証サーバに転送します。
- 業務システム構築ファイルをダウンロードし、業務サーバ管理者に配布します。
ssorestoreコマンドを使用して、負荷分散している残りのすべてのリポジトリサーバ(更新系)に、移出したリポジトリサーバ資源を移入します。
リポジトリサーバ(参照系)
リポジトリサーバ(参照系)を使用している場合は、ssoimpsvコマンドを使用して、リポジトリサーバ(参照系)の暗号化情報(サービスID)を更新します。
認証サーバ
ssoimpacコマンドを使用して、認証サーバの暗号化情報(サービスID)を更新します。
業務サーバ
ssoimpazコマンドを使用して、業務サーバの暗号化情報(サービスID)を更新します。
Javaアプリケーション
Interstage シングル・サインオンが提供するJAASを利用したJavaアプリケーションを使用している場合は、ssoimpazコマンドを使用して、業務サーバ用のサービスIDファイルを作成します。
各サーバで暗号化情報(サービスID)を更新した後は、必ずサーバ、またはJavaアプリケーションを再起動してください。
暗号化情報(サービスID)を更新後、認証、および認可が正常に行われない場合、暗号化情報(サービスID)の更新に失敗している可能性があります。暗号化情報(サービスID)の整合性を確認し、対処を行ってください。
【暗号化情報(サービスID)の整合性の確認】
暗号化情報(サービスID)の更新を行った各サーバのシステムのログに、sso00204のメッセージが出力されていることを確認してください。
メッセージが出力されていない場合、暗号化情報(サービスID)の更新が行われていません。再度、暗号化情報(サービスID)の更新を行い、サーバを再起動してください。
暗号化情報(サービスID)の更新後に、暗号化情報(サービスID)の更新を行った各サーバ、またはJavaアプリケーションの再起動が行われたか確認してください。
暗号化情報(サービスID)の更新時、システムのログにsso00204のメッセージが出力されますので、それ以降にサーバを起動したメッセージがシステムのログに出力されているか、またはJavaアプリケーションの起動を行ったか確認してください。
再起動を行っていない場合は、サーバ、またはJavaアプリケーションを再起動してから再度実施してください。
リポジトリサーバ(参照系)、認証サーバ、および業務サーバのシステムのログに出力されている、sso00204のメッセージの“サービスIDファイルの整合性ID”が、リポジトリサーバ(複数台で運用している場合は、更新系)のシステムのログに出力されている、sso00204のメッセージの“サービスIDファイルの整合性ID”と同じであることを確認してください。
“サービスIDファイルの整合性ID” が異なっている場合は、再度、暗号化情報(サービスID)の更新を行い、サーバを再起動してください。
リポジトリサーバ、認証サーバ、および業務サーバでは、それぞれのサーバを構築するために必要になる認証基盤構築ファイルや業務システム構築ファイル、またサーバ構築後に作成される定義ファイルやサービスIDファイルなど、プログラムを制御する重要なファイルを持っています。これらの資源に対する脅威として、次の脅威が考えられます。
資源が削除され、システムを構築、運用することができない。
資源が書き換えられることにより、認証や認可が行われないなど管理者の意図と異なる運用となる。
資源が暴露されることで、利用者のなりすましやシステムの乗っ取りが行われる。
各サーバ間や、クライアントであるWebブラウザとサーバ間では、ユーザ名やパスワード、認証/認可を制御するための情報など、重要なデータが流れています。これらが書き換えられると、正しい認証/認可の制御が行えなくなってしまいます。また、これらのデータが盗聴されることにより、パスワードが漏洩する、なりすましが行われるという危険性があります。
通信内容は、ネットワークからの盗聴だけではなく、通信経路上に存在するプロキシサーバのログや業務サーバのアクセスログに記録されている情報から漏洩する危険性があります。
Interstage シングル・サインオンでは、利用者は証明書による証明書認証、ユーザ名/パスワードによるパスワード認証、およびそれらの組み合わせによる認証によって認証されます。
証明書認証では、実際にはそれと対となる秘密鍵が必要であり、この秘密鍵が漏洩することによりなりすましが行われる危険性があります。同様に、パスワード認証ではユーザ名とパスワードが必要であり、これらが漏洩することでなりすましが行われる危険性があります。特にパスワードは他人が推測して試すことが比較的容易にできてしまうため、安易なパスワードを使用することは非常に危険です。また、攻撃者が特別なプログラムを用意して、辞書攻撃や総当り攻撃を行う可能性もあります。
パスワード認証の場合、認証サーバは利用者にユーザ名とパスワードの提示を求めます。実際には、Webブラウザが利用者にユーザ名/パスワード入力ダイアログを表示して入力を促します。通常は、利用者がWebブラウザを使用して業務サーバにアクセスすることにより、この認証要求が発生します。
しかし、利用者がWebブラウザからユーザ名/パスワードの入力を求められるのは、認証サーバによるものとは限りません。攻撃者が認証サーバと偽ってサーバを用意し、そこに利用者を導いてユーザ名/パスワードの入力を促すことが考えられます。利用者が気付かず、攻撃者が用意したサーバに正しいユーザ名とパスワードを提示してしまう危険性があります。
利用者がサービスの使用中に席を離れた場合、利用者が認証を行ったWebブラウザを攻撃者が不正に操作する危険性があります。攻撃者は、利用者の認証が有効な間、利用者に代わって業務システムにアクセスすることができてしまいます。
DoS(Denial of Sevices)攻撃では、攻撃者はシステムに大量のアクセスを発生させてサーバの負荷を上げます。これによりレスポンスが悪くなりサービスの質が劣化する、または正規の利用者がサービスを利用できなくなってしまう危険性があります。
Interstage シングル・サインオンでは、Webブラウザのcookieに重要な情報を格納しています。業務サーバで運用するアプリケーションにXSS(Cross Site Scripting)などの脆弱性が存在する、または悪意を持ったアプリケーションが配置されることで、攻撃者がcookieを入手してなりすましを行う危険性があります。
Webブラウザに不具合が存在し、それを利用した攻撃によりcookieが漏洩するといった脆弱性が明らかになることがあります。Interstage シングル・サインオンでは、利用者はクライアントにWebブラウザを使用するため、このような問題が脅威となります。
Interstage シングル・サインオンでは、Webブラウザに表示するメッセージの内容を利用者の環境に応じてカスタマイズすることができます。メッセージとして表示する情報が、攻撃者にとって攻撃の足がかりとなってしまう危険性があります。