B1WS-1310-02Z0(00)
2018年7月
Windows/Solaris(64)/Linux
FUJITSU Software
Interstage Application Server V12.1.0
まえがき
本書の目的
本書は、セキュリティシステム運用について説明したものです。 セキュリティシステムを運用するまえに、本書をご一読ください。 本書は、本製品を運用管理される方を対象に記述されています。前提知識
本書を読む場合、以下の知識が必要です。・
SSLに関する基本的な知識・
認証とアクセス制御に関する基本的な知識・
インターネットに関する基本的な知識・
XMLに関する基本的な知識・
Webサービスに関する基本的な知識・
使用するOSに関する基本的な知識本書の構成
本書は、以下の構成になっています。 第1部セキュリティ侵害の脅威と対策 第1章 セキュリティ侵害の脅威 セキュリティ侵害の脅威について、その概略を説明します。 第2章 セキュリティ対策 セキュリティ侵害の脅威に対しての対策方法を説明します。 第2部認証とアクセス制御 第3章 Interstageの認証とアクセス制御機能 Interstageの認証とアクセス制御機能について説明しています。 第4章 Interstage HTTP Serverの認証とアクセス制御の設定 Interstage HTTP Serverで認証とアクセス制御を利用する方法を説明しています。 第5章 Interstage HTTP Server 2.2の認証とアクセス制御の設定 Interstage HTTP Server 2.2で認証とアクセス制御を利用する方法を説明しています。 第6章 Interstage ディレクトリサービスのアクセス制御の設定 Interstage ディレクトリサービスのアクセス制御を利用する方法を説明しています。 第7章 セキュリティ監査証跡機能 Interstageのセキュリティ監査証跡機能について説明しています。 第8章 Java EE 6機能の認証とアクセス制御 Java EE 6機能の認証とアクセス制御について説明しています。 第9章 Java EE 7機能の認証とアクセス制御 Java EE 7機能の認証とアクセス制御について説明しています。 第3部ファイアウォールとプロキシサーバ 第10章 HTTPトンネリング HTTPトンネリングを利用する方法について説明しています。第11章 J2EEのHTTPトンネリング J2EEでHTTPトンネリングを利用する方法について説明しています。 第12章 プロキシ連携 プロキシ連携について説明しています。 第4部 SSLによる暗号化通信 第13章 Interstage証明書環境の構築と利用 Interstage証明書環境の構築と利用について説明しています。 第14章 SMEEコマンドによる証明書/鍵管理環境の構築と利用 SMEEコマンドによる証明書/鍵管理環境の構築と利用について説明しています。 第15章 Interstage HTTP ServerでSSLを利用する方法 Interstage HTTP ServerでSSLを利用する方法を説明しています。 第16章 Interstage HTTP Server 2.2でSSLを利用する方法 Interstage HTTP Server 2.2でSSLを利用する方法を説明しています。 第17章 CORBAサービスでSSLを利用する方法 CORBAサービスでSSLを利用する方法を説明しています。 第18章 Java EE 6でSSLを利用する方法 Java EE 6でSSLを利用する方法を説明しています。 第19章 Java EE 7でSSLを利用する方法 Java EE 7でSSLを利用する方法を説明しています。 第20章 J2EEでSSLを利用する方法 J2EEでSSLを利用する方法を説明しています。 第21章 Portable-ORBでSSLを利用する方法 Portable-ORBでSSLを利用する方法を説明しています。 第22章 Interstage ディレクトリサービスでSSLを利用する方法 Interstage ディレクトリサービスでSSLを利用する方法を説明しています。 付録A セキュリティ動向 セキュリティ動向と、本製品における実装と推奨について説明します。 付録B Interstage組み込み証明書一覧 本製品に組み込まれている証明書一覧を掲載しています。
輸出管理規制について
本ドキュメントを輸出または第三者へ提供する場合は、お客様が居住する国および米国輸出管理関連法規等の規制をご 確認のうえ、必要な手続きをおとりください。登録商標について
記載されている会社名、製品名などの固有名詞は、各社の商標または登録商標です。 本製品のマニュアルに記載されている他社製品の商標表示については、「マニュアル体系と読み方」の「マニュアルの読み 方」-「登録商標について」を参照してください。著作権表示
2018年7月 第2版 2017年7月 初版
目 次
第1部セキュリティ侵害の脅威と対策... 1 第1章セキュリティ侵害の脅威... 2 1.1 Interstage管理コンソール... 3 1.1.1 Interstage管理コンソールの動作モデル...3 1.1.2 保護すべき資源... 4 1.1.2.1 保護対象機能... 4 1.1.2.2 保護対象資源... 4 1.1.3 資源に対して考えうる脅威...5 1.1.4 脅威への対策...5 1.1.4.1 ユーザID・パスワードの解読への対策...5 1.1.4.2 ユーザID・パスワードの搾取への対策...5 1.1.4.3 ファイルに記録されている情報の書き換えへの対策... 6 1.1.4.4 ファイルに記録されている情報の搾取への対策... 6 1.1.4.5 ファイル自体の破壊への対策... 6 1.2 Interstage シングル・サインオン...6 1.2.1 構成モデル...6 1.2.2 考えられる脅威...7 1.2.2.1 業務サーバ、または認証サーバをDMZに配置する場合の脅威... 7 1.2.2.2 サーバ資源の削除、書き換え、暴露... 8 1.2.2.3 通信内容の書き換え、暴露... 9 1.2.2.4 利用者のなりすまし... 9 1.2.2.5 認証サーバのなりすまし... 9 1.2.2.6 離席による脅威... 9 1.2.2.7 DoS攻撃... 9 1.2.2.8 アプリケーションの問題... 9 1.2.2.9 クライアントの問題... 10 1.2.2.10 その他の情報漏洩の脅威... 10 1.2.3 セキュリティ対策... 10 1.2.3.1 認証基盤構築ファイル、業務システム構築ファイルの保護... 10 1.2.3.2 運用資源へのアクセス権限の設定... 10 1.2.3.3 通信内容の保護...10 1.2.3.4 パスワードアタックへの対策...11 1.2.3.5 認証サーバの確認... 12 1.2.3.6 認証の有効期間の管理... 12 1.2.3.7 業務サーバの運用・管理... 12 1.2.3.8 アプリケーションプログラミング...13 1.2.3.9 パッチの適用について...13 1.2.3.10 Webブラウザに表示するメッセージ... 13 1.3 J2EEアプリケーション... 13 1.3.1 J2EEアプリケーションの動作モデル...13 1.3.2 保護すべき資源... 14 1.3.2.1 J2EEアプリケーション運用時に使用する機能... 14 1.3.2.2 保護対象資源... 15 1.3.3 資源に対して考えうる脅威...15 1.3.4 脅威への対策...16 1.3.4.1 パスワードの解読への対策...17 1.3.4.2 パスワードの搾取への対策...17 1.3.4.3 ファイルに記録されている情報の書き換えへの対策... 17 1.3.4.4 ファイルに記録されている情報の搾取への対策... 17 1.3.4.5 データの破壊への対策...17 1.3.4.6 ファイル自体の破壊への対策... 17 1.4 データベース連携サービス...17 1.4.1 データベース連携サービスの動作モデル... 18 1.4.2 保護すべき資源... 181.4.2.1 保護対象機能... 18 1.4.2.2 保護対象資源... 19 1.4.3 資源に対して考えうる脅威...20 1.4.4 脅威への対策...21 1.4.4.1 ユーザを限定した運用...21 1.4.4.2 定期的なバックアップ...23 1.4.4.3 リソースが提供するセキュリティ機能の利用...23 1.5 OLTP機能... 23 1.5.1 OLTPアプリケーションの動作モデル... 24 1.5.2 保護すべき資源... 24 1.5.2.1 保護対象機能... 24 1.5.2.2 保護対象資源... 25 1.5.3 資源に対して考えうる脅威...25 1.5.4 脅威への対策...26 1.5.4.1 パスワードの解読への対策...27 1.5.4.2 パスワードの搾取への対策...27 1.5.4.3 ファイルに記録されている情報の書き換えへの対策... 27 1.5.4.4 ファイルに記録されている情報の搾取への対策... 27 1.5.4.5 データの破壊への対策...28 1.5.4.6 ファイル自体の破壊への対策... 28 1.6 Interstage ディレクトリサービス... 28 1.6.1 Interstage ディレクトリサービスの動作モデル... 28 1.6.2 保護すべき資源... 29 1.6.2.1 Interstage ディレクトリサービスの機能と保護対象資源...29 1.6.3 考えられる脅威...29 1.6.4 脅威と対策...30 1.6.4.1 パスワードの暗号化... 30 1.6.4.2 通信データの暗号化...30 1.6.4.3 パスワードの定期的な変更...31 1.6.4.4 ユーザを限定した運用...31 1.6.4.5 アクセス制御の設定... 31 1.6.4.6 定期的なデータバックアップの実施...31 1.6.4.7 ファイルに対するアクセス権の設定...32 1.7 業務構成管理機能... 32 1.7.1 業務構成管理機能の動作モデル... 32 1.7.2 保護すべき資源... 32 1.7.2.1 保護対象機能... 33 1.7.2.2 保護対象資源... 33 1.7.3 資源に対して考えうる脅威...33 1.7.4 脅威への対策...33 1.7.4.1 ファイルに記録されている情報の書き換えへの対策... 33 1.7.4.2 ファイルに記録されている情報の搾取への対策... 34 1.7.4.3 ファイル自体の破壊への対策... 34 第2章セキュリティ対策... 35 2.1 共通の対策...35 2.1.1 ユーザアカウントについての注意 ...35 2.1.2 バックアップについて... 35 2.1.3 Interstage資源のセキュリティ強化...35 2.2 Interstage管理コンソールに関する対策... 36 2.3 Interstage HTTP Server運用に関する対策... 37 2.4 CORBAサービスに関する対策... 41 2.5 Portable-ORBに関する対策...43 2.6 イベントサービスに関する対策... 44 2.7 Interstage ディレクトリサービスの運用に関する対策...45 2.8 業務構成管理に関する対策... 45 2.9 Java EE 6に関する対策... 45
2.10 Java EE 7に関する対策... 45 2.11 J2EE互換に関する対策... 45 2.11.1 IJServerの運用に関する対策... 45 2.11.2 Servletサービスに関する対策...46 2.11.3 EJBサービスに関する対策... 47 2.11.3.1 EJBの保護対象資源... 47 2.11.3.1.1 保護対象資源... 47 2.11.3.2 資源に対して考えうる脅威...48 2.11.3.3 脅威への対策...48 2.11.3.3.1 ユーザを限定した運用...49 2.11.3.3.2 定期的なバックアップ...49 2.11.3.3.3 SSL通信機能による暗号化... 49 2.11.4 Interstage JMSに関する対策... 49 第2部認証とアクセス制御...51 第3章 Interstageの認証とアクセス制御機能...52 3.1 Interstage シングル・サインオン...52 3.2 Interstage ディレクトリサービス... 52 3.3 Interstage HTTP Server... 53 3.3.1 ユーザ認証(基本認証)... 53 3.3.2 IPアクセスコントロール... 54 3.3.3 クライアント認証(証明書認証)... 55 3.3.4 オンライン照合...55 3.4 Interstage HTTP Server 2.2... 56 3.5 コンポーネントトランザクションサービス... 56 第4章 Interstage HTTP Serverの認証とアクセス制御の設定... 58 4.1 ユーザ認証...58 4.2 IPアクセスコントロール... 60 4.3 クライアント認証... 62 4.3.1 環境定義ファイルの設定... 63 4.4 オンライン照合...66 4.4.1 ディレクトリサーバの環境設定... 67 4.4.2 SSL通信の環境設定...69 4.4.3 環境定義ファイルの設定... 74 4.5 関連ディレクティブ... 83 4.5.1 Allow... 84 4.5.2 AuthLDAPAttribute...84 4.5.3 AuthLDAPbasedn... 85 4.5.4 AuthLDAPBindDN... 86 4.5.5 AuthLDAPBindPassword... 87 4.5.6 AuthLDAPCertPath... 87 4.5.7 AuthLDAPEnabled... 88 4.5.8 AuthLDAPHost... 89 4.5.9 AuthLDAPPort... 90 4.5.10 AuthLDAPSecure... 90 4.5.11 AuthLDAPSecureVersion... 91 4.5.12 AuthLDAPSlotPath... 92 4.5.13 AuthLDAPTknLbl... 93 4.5.14 AuthLDAPTknPwd... 93 4.5.15 AuthName... 94 4.5.16 AuthType... 94 4.5.17 AuthUserFile...95 4.5.18 Deny...95 4.5.19 <Directory>...96 4.5.20 DirectoryIndex... 97 4.5.21 Group... 97
4.5.22 LoadModule...98 4.5.23 <Location>...98 4.5.24 Order... 99 4.5.25 Redirect... 100 4.5.26 Require...101 4.5.27 RewriteCond... 102 4.5.28 RewriteEngine... 103 4.5.29 RewriteRule... 104 4.5.30 SSLCertExpand... 107 4.5.31 SSLNotifyVers...108 4.5.32 User... 108 第5章 Interstage HTTP Server 2.2の認証とアクセス制御の設定... 110 第6章 Interstage ディレクトリサービスのアクセス制御の設定... 111 6.1 アクセス制御の設計... 111 6.2 アクセス制御リストの定義... 112 6.2.1 ファイル形式... 112 6.2.2 アクセス制御リスト定義ファイルの編集...113 6.2.3 アクセス制御リスト定義の評価... 119 6.3 アクセス制御リストの登録... 121 第7章セキュリティ監査証跡機能... 124 7.1 アクセスログ... 124 7.2 ログインログ...130 7.3 ログインログの運用...135 7.4 アプリケーションインタフェース詳細... 136 第8章 Java EE 6機能の認証とアクセス制御... 138 第9章 Java EE 7機能の認証とアクセス制御... 139 第3部ファイアウォールとプロキシサーバ...140 第10章 HTTPトンネリング... 141 10.1 HTTPトンネリングを使用したHTTPデータ通信... 141 10.2 HTTPトンネリングの環境設定...142 10.2.1 Webサーバの環境設定... 142 10.2.2 クライアントの環境設定... 144 10.2.3 HTTPトンネリングの起動方法...145 10.2.4 HTTPプロキシサーバ使用時の設定... 148 第11章 J2EEのHTTPトンネリング...149 11.1 J2EEアプリケーションクライアントでのHTTPトンネリングの使用方法... 149 11.2 IJServer(Webアプリケーションのみ運用)でのHTTPトンネリングの使用方法... 149 11.3 JavaアプレットでのHTTPトンネリングの使用方法... 149 第12章プロキシ連携... 151 12.1 プロキシ連携機能(Interstage Webサービス)... 151 第4部 SSLによる暗号化通信... 152 第13章 Interstage証明書環境の構築と利用...155 13.1 証明書と秘密鍵について... 156 13.2 環境の構築方法...158 13.2.1 Interstage証明書環境のアクセス権限の設定...159 13.3 CSRによるInterstage証明書環境の構築方法... 160 13.3.1 Interstage証明書環境の構築と、CSR(証明書取得申請書)の作成... 160 13.3.2 証明書の発行依頼...164 13.3.3 証明書・CRLの登録... 164
13.4 PKCS#12によるInterstage証明書環境の構築方法...167 13.4.1 Interstage証明書環境の構築... 168 13.4.2 PKCS#12データ、証明書、CRLの登録... 168 13.5 証明書を利用するための設定...171 13.5.1 証明書の利用設定...171 13.5.2 各サービスの環境設定... 171 13.5.3 認証局の証明書のWebブラウザへの登録(Interstage HTTP ServerでSSLを利用する場合のみ)...172 13.6 証明書の管理...173 第14章 SMEEコマンドによる証明書/鍵管理環境の構築と利用... 176 14.1 証明書/鍵管理環境で使用できるSSLライブラリについて... 177 14.1.1 2種類のSMEEについて...177 14.1.2 証明書/鍵管理環境について... 177 14.2 証明書/鍵管理環境の構築方法...180 14.2.1 証明書/鍵管理環境の作成...182 14.2.2 秘密鍵の作成と証明書の取得... 184 14.2.3 証明書とCRLの登録... 185 14.3 認証局の証明書(発行局証明書)のWebブラウザへの登録... 187 14.4 クライアント証明書の運用... 188 14.4.1 クライアント証明書の取得... 188 14.4.2 クライアントCA証明書の登録...189 14.5 証明書/鍵管理環境の移行方法...190 14.6 証明書/鍵管理環境の管理...191 第15章 Interstage HTTP ServerでSSLを利用する方法... 193 15.1 Interstage証明書環境のSSL通信... 193 15.1.1 Interstage証明書環境の構築... 193 15.1.2 Interstage HTTP Serverの環境設定... 193 15.2 SMEEコマンドで構築する証明書/鍵管理環境のSSL通信... 195 15.2.1 証明書/鍵管理環境の構築...195 15.2.2 ユーザPINの登録...196 15.2.3 Interstage HTTP Serverの環境設定... 197 15.3 関連ディレクティブ... 202 15.3.1 Alias... 203 15.3.2 CustomLog...204 15.3.3 DocumentRoot... 206 15.3.4 ErrorLog...207 15.3.5 Group... 208 15.3.6 Listen... 209 15.3.7 LoadModule...209 15.3.8 LogFormat... 210 15.3.9 ScriptAlias... 213 15.3.10 ServerAdmin... 214 15.3.11 ServerName... 214 15.3.12 ServerRoot... 215 15.3.13 SetEnvIf... 216 15.3.14 SSLCertExpand... 217 15.3.15 SSLCertExpire... 218 15.3.16 SSLCertName... 219 15.3.17 SSLCipherSuite... 220 15.3.18 SSLClCACertName...225 15.3.19 SSLEnvDir...225 15.3.20 SSLExec...226 15.3.21 SSLHandshakeTimeout... 227 15.3.22 SSLLIBMultiSession... 227 15.3.23 SSLMaxSession... 228 15.3.24 SSLNotifyVers...229 15.3.25 SSLSlotDir...230
15.3.26 SSLTokenLabel... 230 15.3.27 SSLUserPINFile... 231 15.3.28 SSLVerifyClient... 231 15.3.29 SSLVersion... 233 15.3.30 Timeout... 234 15.3.31 User... 235 15.3.32 <VirtualHost>... 235 第16章 Interstage HTTP Server 2.2でSSLを利用する方法... 237 第17章 CORBAサービスでSSLを利用する方法... 238 17.1 CORBAサービスのSSL連携... 239 17.2 CORBAサーバの環境設定... 240 17.2.1 CORBAサービスへの秘密鍵/証明書の設定... 241 17.2.2 configファイルの編集... 244 17.2.3 オブジェクトリファレンス作成時のSSL情報付加の指定... 244 17.3 CORBAクライアントの環境設定... 245 17.3.1 CORBAサービスへの秘密鍵/証明書の設定... 245 17.3.2 configファイルの編集... 246 17.4 イベントサービスにおける環境設定... 246 第18章 Java EE 6でSSLを利用する方法... 248 第19章 Java EE 7でSSLを利用する方法... 249 第20章 J2EEでSSLを利用する方法...250 20.1 Servletサービスにおける環境設定... 250 20.2 EJBサービスにおける環境設定...251 20.3 Interstage JMSにおける環境設定...251 20.4 Interstage Webサービスにおける環境設定... 251 第21章 Portable-ORBでSSLを利用する方法... 254 21.1 Portable-ORBのSSL連携... 254 21.2 Portable-ORBの環境設定...255 21.2.1 認証局の証明書(発行局証明書)の登録... 255 21.2.2 クライアント証明書の登録... 258 21.2.3 Portable-ORBの設定...261 第22章 Interstage ディレクトリサービスでSSLを利用する方法... 265 付録A セキュリティ動向...266 付録B Interstage組み込み証明書一覧...268 索引... 270
第
1
部
セキュリティ侵害の脅威と対策
システムのセキュリティ対策が不充分であると、不正アクセスなどのセキュリティ侵害によって、システムの動作妨害・不正利用・ 情報漏洩などが引き起こされる可能性があります。 本部では、セキュリティ侵害の脅威と対策について説明します。 第1章セキュリティ侵害の脅威... 2 第2章セキュリティ対策... 35第
1
章
セキュリティ侵害の脅威
本章では、本製品の代表的な運用モデルについて、保護すべき資源(保護対象資源)、保護対象資源に対して考えられる 脅威、および、それぞれの脅威に対する対策について説明します。 保護対象資源は、大きく以下の資源種別に分類されます。資源種別により責任範囲が異なりますので、責任範囲に該当する 方が必要に応じて本章に記載された対策を講じてください。 なお、保護対象資源例に記載されている資源には、使用する製品やエディション、インストールする機能により、該当しな いものも含まれています。 資源種別 意味 保護対象資源例 システム環境設定 ファイル システムログファイ ル 本製品の動作に影響を与える環境設 定ファイル。 ファイルは本製品が提供しますが、環 境設定内容や出力結果については本 製品を運用管理される方が責任を負 います。・
Interstage関連の定義・
ネーミングサービス用データファイ ル・
Interstage HTTP Server環境定義 ファイル・
OTSシステム情報格納フォルダ・
トレースログ格納フォルダ・
RMPプロパティファイル・
CORBAサービス用ログファイル・
コンポーネントトランザクションサー ビスのエラーログファイル・
トランザクションログファイル・
Interstage HTTP Server用ログファ イル アプリケーション環 境設定ファイル アプリケーションロ グファイル 本製品上で動作するアプリケーション の動作に影響を与える環境設定ファイ ル。 ファイルは本製品が提供しますが、環 境設定内容や出力結果については本 製品上でアプリケーションを運用管理 される方が責任を負います。・
ワークユニット定義・
IJServer環境用定義ファイル・
IJServer用ログファイル・
CORBAワークユニット用出力ファ イル・
インプリメンテーションリポジトリファ イル・
ネーミングサービス用データファイ ル・
リソース定義格納リポジトリ・
リソースアクセス情報・
XA連携用プログラム・
OTS用リソース管理プログラム ワークユニットのア プリケーションプロ セス システム環境設定ファイルやアプリ ケーション環境設定ファイルに定義さ れた設定にしたがって動作するプロセ ス。 プロセス上で動作するアプリケーション の処理内容は本製品上でアプリケー ションを運用管理される方が責任を負・
ワークユニットのアプリケーションプ ロセス資源種別 意味 保護対象資源例 います。プロセス自体の管理は、本製 品が行います。 アプリケーション アプリケーションの実装。 アプリケーションの処理内容は本製品 上でアプリケーションを運用管理される 方が責任を負います。アプリケーション の実装ファイルは、OSがファイル管理 します。
・
J2EEアプリケーションの配備対象 であるEAR、WAR、JAR、RAR ファイル アプリケーション実 行資源 アプリケーションが扱うデータや、アプ リケーションが連携する製品の定義内 容やログ情報。 データや定義内容、ログ情報は、アプ リケーションの実装に依存した情報で す。 アプリケーション実行資源を利用する 機能は本製品が提供しますが、環境 設定内容や出力結果については本製 品上でアプリケーションを運用管理さ れる方が責任を負います。管理方法 は、OSによるファイル管理、連携製品 による情報管理などがあります。・
J2EEアプリケーションが認証に利 用するユーザIDとパスワード・
データベース内のデータ・
データベース内のログ・
J2EEアプリケーションやInterstage HTTP Serverが利用するリポジトリ の格納情報・
J2EEアプリケーションやInterstage HTTP Serverが利用するリポジトリ 環境定義ファイル・
J2EEアプリケーションのセションリ カバリ用永続化ファイル1.1 Interstage
管理コンソール
一般的なInterstage管理コンソールの運用環境におけるセキュリティ侵害の脅威について、その概略を説明します。1.1.1 Interstage管理コンソールの動作モデル
Interstage管理コンソールの一般的な動作モデルを以下に示します。1.1.2
保護すべき資源
Interstage管理コンソールを使用する際に、保護すべき資源について説明します。1.1.2.1
保護対象機能
以下に示す機能および手順が保護の対象になります。・
利用者の認証・
Webサーバへの接続・
Interstage管理コンソールの環境設定1.1.2.2
保護対象資源
Interstage管理コンソールで利用可能な機能を使用する場合、以下に示す資源が使用されます。セキュリティ対策が要求さ れる場合は、これらの資源をセキュリティ上の保護対象とすることが望まれます。 機能 保護対象資源 利用者の認証 認証に利用されるユーザIDとパスワード Webサーバへの接続(Interstage HTTP Serverを 利用する場合) Interstage HTTP Server環境定義ファイル1.1.3
資源に対して考えうる脅威
Interstage管理コンソールが保護対象とするべき資源に対して加えられる可能性があるセキュリティ上の脅威を以下に示し ます。 保護対象資源 加えられる可能性のある脅威 認証に利用されるユーザIDとパスワード・
ユーザIDとパスワードの搾取・
ユーザIDとパスワードの解読 Interstage HTTP Server環境定義ファイル・
ファイルに記録されている情報の書き換え・
ファイルに記録されている情報の搾取・
ファイル自体の破壊1.1.4
脅威への対策
保護資源に対して考えうる脅威への対策について、以下に示します。 加えられる可能性のある脅威 対策 ユーザID・パスワードの解読・
伝達経路の暗号化 ユーザID・パスワードの搾取・
情報を保存しているファイルに対するアクセ ス権の設定・
定期的なパスワードの変更 ファイルに記録されている情報の書き換え・
情報を保存しているファイルに対するアクセ ス権の設定・
定期的なデータバックアップの実施 ファイルに記録されている情報の搾取・
情報を保存しているファイルに対するアクセ ス権の設定 ファイル自体の破壊・
ファイルに対するアクセス権の設定・
定期的なデータバックアップの実施1.1.4.1
ユーザ
ID
・パスワードの解読への対策
インターネットのように一般的に開放されている環境内でユーザIDやパスワードが伝達される場合、その伝達経路内でユーザ IDやパスワードが解読される可能性があります。Interstage管理コンソールでは、伝達経路を暗号化する手段を用意して いるため、暗号化を有効にして運用することが有効な対策となります。1.1.4.2
ユーザ
ID
・パスワードの搾取への対策
イントラネットのように特定の利用者だけに開放されている環境内では、伝達経路内でユーザIDやパスワードが解読される 可能性はそれほど高くありません。ただし、このような環境の場合、ファイル内にユーザIDやパスワード情報が格納されて いるケースが多くなります。これらの情報格納ファイルが不特定多数のユーザからアクセス可能な場合、そこからユーザID やパスワード情報を搾取される危険性が高くなります。このため、ユーザIDやパスワード情報格納ファイルに対して適切な アクセス権を設定することが脅威への有効な対策となります。 また、定期的にパスワードを変更することも有効な対策となります。1.1.4.3
ファイルに記録されている情報の書き換えへの対策
Interstage管理コンソールの動作環境内には、環境定義ファイルなどが存在しています。これらのファイル内容が不正に書き 換えられると、Interstage管理コンソールが動作しなくなるなどの様々な問題が発生します。このような脅威に対しては、ファ イルに適切なアクセス権を設定することが有効な対策となります。 また、定期的にバックアップを行うことも有効な対策となります。バックアップについては、「運用ガイド(基本編)」の「メンテ ナンス(資源のバックアップ/他サーバへの資源移行/ホスト情報の変更)」を参照してください。1.1.4.4
ファイルに記録されている情報の搾取への対策
Interstage管理コンソールを動作させるために必要な情報を格納しているファイルが存在しています。これらのファイルの記 述内容も資産の一部であり、その搾取を防止することが重要となります。このような情報搾取の脅威に対しては、情報を保存 しているファイルに適切なアクセス権を設定することが有効な対策となります。1.1.4.5
ファイル自体の破壊への対策
Interstage管理コンソールの動作環境内には、環境定義ファイルなどが存在しています。これらのファイル内容が不正に書き 換えられると、Interstage管理コンソールが動作しなくなるなどの様々な問題が発生します。このような脅威に対しては、ファ イルに適切なアクセス権を設定することが有効な対策となります。 また、定期的にバックアップを行うことも有効な対策となります。バックアップについては、「運用ガイド(基本編)」の「メンテ ナンス(資源のバックアップ/他サーバへの資源移行/ホスト情報の変更)」を参照してください。1.2 Interstage
シングル・サインオン
Interstage シングル・サインオンにおけるセキュリティの脅威と、その対策について説明します。1.2.1
構成モデル
Interstage シングル・サインオンの基本的な構成モデルを以下に示します。Interstage シングル・サインオンは、リポジトリサーバ、認証サーバ、および業務サーバの3種類のサーバで構成され、利用者 はクライアントのWebブラウザによりシステムを利用します。 各サーバでは、Webサーバプログラムが実行され、そのWebサーバプログラム上でシングル・サインオンを実現するプログ ラムが実行されます。認証サーバ、およびリポジトリサーバは利用者の認証を担い、保護リソースへの認可と各種の業務サー ビスは業務サーバで実行されます。業務サーバは複数のサーバを設置することが可能です。 クライアントがインターネットからアクセスする場合、DMZに認証サーバ、業務サーバを配置したシステムを構成することが可 能です。この場合、必ずInterstage シングル・サインオンシステムでセションの管理を行ってください。また、リポジトリサー バはイントラネットに配置し、インターネットから直接アクセスできないように保護する必要があります。
1.2.2
考えられる脅威
Interstage シングル・サインオンを運用する上で想定される脅威について説明します。1.2.2.1
業務サーバ、または認証サーバを
DMZ
に配置する場合の脅威
セション管理の運用を行う場合には、業務サーバ、または認証サーバをDMZに配置することができます。 ただし、DMZに配置することで業務サーバ、または認証サーバが乗っ取られる危険性が高まり、業務サーバ、または認証 サーバが乗っ取られた場合には、通信データの盗聴や改竄、成りすましなどによる不正使用の脅威となります。ポイント
万が一、業務サーバ、または認証サーバの乗っ取りが行われた場合は、Interstage シングル・サインオンシステムを構成す るすべてのサーバの暗号化情報(サービスID)を更新する必要があります。サービスIDについては、「シングル・サインオン 運用ガイド」の「旧バージョンの環境定義と機能について」-「サービスIDファイルについて」を参照してください。 各サーバの暗号化情報(サービスID)の更新方法について以下に説明します。 各コマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「シングル・サインオン運用コマンド」を参照してください。・
リポジトリサーバ-
リポジトリサーバを1台で構成、またはリポジトリサーバ(更新系)とリポジトリサーバ(参照系)に負荷分散する構成の場 合1.
ssoupsidコマンドを使用して、リポジトリサーバ(複数台で運用している場合は、更新系)の暗号化情報(サービス ID)を更新します。2.
リポジトリサーバを再起動します。(注1)3.
認証基盤構築ファイルをダウンロードし、認証サーバ、およびリポジトリサーバを複数台で運用している場合は、 リポジトリサーバ(参照系)に転送します。4.
業務システム構築ファイルをダウンロードし、業務サーバ管理者に配布します。-
リポジトリサーバ(更新系)を増設して負荷分散する構成の場合1.
ssoupsidコマンドを使用して、マスタで運用するSSOリポジトリを作成したリポジトリサーバ(更新系)の暗号化 情報(サービスID)を更新します。2.
リポジトリサーバを再起動します。(注1)3.
暗号化情報(サービスID)を更新したマシンで以下を行います。 - ssobackupコマンドを使用して、リポジトリサーバ資源を移出します。 - 認証基盤構築ファイルをダウンロードし、認証サーバに転送します。 - 業務システム構築ファイルをダウンロードし、業務サーバ管理者に配布します。4.
ssorestoreコマンドを使用して、負荷分散している残りのすべてのリポジトリサーバ(更新系)に、移出したリポ ジトリサーバ資源を移入します。・
リポジトリサーバ(参照系) リポジトリサーバ(参照系)を使用している場合は、ssoimpsvコマンドを使用して、リポジトリサーバ(参照系)の暗号化情報 (サービスID)を更新し、リポジトリサーバ(参照系)を再起動します。(注1)・
認証サーバ ssoimpacコマンドを使用して、認証サーバの暗号化情報(サービスID)を更新し、認証サーバを再起動します。(注1)(注 2)(注3)・
業務サーバ ssoimpazコマンドを使用して、業務サーバの暗号化情報(サービスID)を更新し、業務サーバを再起動します。(注1)・
Javaアプリケーション Interstage シングル・サインオンが提供するJAASを利用したJavaアプリケーションを使用している場合は、ssoimpazコ マンドを使用して、業務サーバ用のサービスIDファイルを作成します。サービスIDファイルの作成後、Javaアプリケー ションを再起動します。 注1)各サーバ、およびアプリケーションの再起動の方法については「シングル・サインオン運用ガイド」の「運用・保守」-「シ ングル・サインオンの停止」、および「シングル・サインオン運用ガイド」の「運用・保守」-「シングル・サインオンの起動」を参照 してください。 注2)統合Windows認証を行っている場合は、統合Windows認証アプリケーションも再起動してください。統合Windows認証 アプリケーションの再起動については、「シングル・サインオン運用ガイド」の「運用・保守」-「シングル・サインオンの停止」-「認証サーバの停止」、および「シングル・サインオン運用ガイド」の「運用・保守」-「シングル・サインオンの起動」-「認証サー バの起動」を参照してください。 注3)認証サーバ間連携を行っている場合は、認証サーバ間連携サービスも再起動してください。認証サーバ間連携サー ビスの再起動の方法については「シングル・サインオン運用ガイド」の「認証サーバ間連携」-「運用・保守」-「認証サーバ間 連携サービスの起動・停止・削除」を参照してください。 暗号化情報(サービスID)を更新後、認証、および認可が正常に行われない場合、暗号化情報(サービスID)の更新に失敗 している可能性があります。暗号化情報(サービスID)の整合性を確認し、対処を行ってください。 暗号化情報(サービスID)の整合性の確認・
暗号化情報(サービスID)の更新を行った各サーバのシステムのログに、sso00204のメッセージが出力されていることを 確認してください。 メッセージが出力されていない場合、暗号化情報(サービスID)の更新が行われていません。再度、暗号化情報(サービス ID)の更新を行ってください。・
暗号化情報(サービスID)の更新を行った各サーバ、またはJavaアプリケーションの再起動が行われたか確認してくだ さい。 暗号化情報(サービスID)の更新時、システムのログにsso00204のメッセージが出力されますので、それ以降にサーバを 起動したメッセージがシステムのログに出力されているか、またはJavaアプリケーションの起動を行ったか確認してくだ さい。 再起動を行っていない場合は、サーバ、またはJavaアプリケーションを再起動してください。・
リポジトリサーバ(参照系)、認証サーバ、および業務サーバのシステムのログに出力されている、sso00204のメッセージの 「サービスIDファイルの整合性ID」が、リポジトリサーバ(複数台で運用している場合は、更新系)のシステムのログに出力 されている、sso00204のメッセージの「サービスIDファイルの整合性ID」と同じであることを確認してください。 「サービスIDファイルの整合性ID」 が異なっている場合は、再度、暗号化情報(サービスID)の更新を行ってください。1.2.2.2
サーバ資源の削除、書き換え、暴露
リポジトリサーバ、認証サーバ、および業務サーバでは、それぞれのサーバを構築するために必要になる認証基盤構築ファ イルや業務システム構築ファイル、またサーバ構築後に作成される定義ファイルやサービスIDファイルなど、プログラムを制御 する重要なファイルを持っています。これらの資源に対する脅威として、次の脅威が考えられます。・
資源が削除され、システムを構築、運用することができない。・
資源が書き換えられることにより、認証や認可が行われないなど管理者の意図と異なる運用となる。・
資源が暴露されることで、利用者のなりすましやシステムの乗っ取りが行われる。1.2.2.3
通信内容の書き換え、暴露
各サーバ間や、クライアントであるWebブラウザとサーバ間では、ユーザ名やパスワード、認証/認可を制御するための情報 など、重要なデータが流れています。これらが書き換えられると、正しい認証/認可の制御が行えなくなってしまいます。また、 これらのデータが盗聴されることにより、パスワードが漏洩する、なりすましが行われるという危険性があります。 通信内容は、ネットワークからの盗聴だけではなく、通信経路上に存在するプロキシサーバのログや業務サーバのアクセ スログに記録されている情報から漏洩する危険性があります。1.2.2.4
利用者のなりすまし
Interstage シングル・サインオンでは、利用者は証明書による証明書認証、ユーザ名/パスワードによるパスワード認証、お よびそれらの組み合わせによる認証によって認証されます。 証明書認証では、実際にはそれと対となる秘密鍵が必要であり、この秘密鍵が漏洩することによりなりすましが行われる危 険性があります。同様に、パスワード認証ではユーザ名とパスワードが必要であり、これらが漏洩することでなりすましが行わ れる危険性があります。特にパスワードは他人が推測して試すことが比較的容易にできてしまうため、安易なパスワードを使用 することは非常に危険です。また、攻撃者が特別なプログラムを用意して、辞書攻撃や総当り攻撃を行う可能性もあります。1.2.2.5
認証サーバのなりすまし
パスワード認証の場合、認証サーバは利用者にユーザ名とパスワードの提示を求めます。実際には、Webブラウザが利用者 にユーザ名/パスワード入力ダイアログを表示して入力を促します。通常は、利用者がWebブラウザを使用して業務サーバ にアクセスすることにより、この認証要求が発生します。 しかし、利用者がWebブラウザからユーザ名/パスワードの入力を求められるのは、認証サーバによるものとは限りません。攻 撃者が認証サーバと偽ってサーバを用意し、そこに利用者を導いてユーザ名/パスワードの入力を促すことが考えられます。 利用者が気付かず、攻撃者が用意したサーバに正しいユーザ名とパスワードを提示してしまう危険性があります。1.2.2.6
離席による脅威
利用者がサービスの使用中に席を離れた場合、利用者が認証を行ったWebブラウザを攻撃者が不正に操作する危険性が あります。攻撃者は、利用者の認証が有効な間、利用者に代わって業務システムにアクセスすることができてしまいます。1.2.2.7 DoS
攻撃
DoS(Denial of Sevices)攻撃では、攻撃者はシステムに大量のアクセスを発生させてサーバの負荷を上げます。これによ りレスポンスが悪くなりサービスの質が劣化する、または正規の利用者がサービスを利用できなくなってしまう危険性があります。1.2.2.8
アプリケーションの問題
Interstage シングル・サインオンでは、Webブラウザのcookieに重要な情報を格納しています。業務サーバで運用するアプリケーションにXSS(Cross Site Scripting)などの脆弱性が存在する、または悪意を持ったアプリケーションが配置されることで、 攻撃者がcookieを入手してなりすましを行う危険性があります。
1.2.2.9
クライアントの問題
Webブラウザに不具合が存在し、それを利用した攻撃によりcookieが漏洩するといった脆弱性が明らかになることがあります。 Interstage シングル・サインオンでは、利用者はクライアントにWebブラウザを使用するため、このような問題が脅威となります。1.2.2.10
その他の情報漏洩の脅威
Interstage シングル・サインオンでは、Webブラウザに表示するメッセージの内容を利用者の環境に応じてカスタマイズす ることができます。メッセージとして表示する情報が、攻撃者にとって攻撃の足がかりとなってしまう危険性があります。1.2.3
セキュリティ対策
想定される脅威への対策方法を以下に示します。1.2.3.1
認証基盤構築ファイル、業務システム構築ファイルの保護
リポジトリサーバ、認証サーバ、業務サーバを構築するために必要な認証基盤構築ファイルや業務システム構築ファイル については、ダウンロードする際に指定したパスワードとともに、第三者に漏洩しないように管理し、安全な手段で受け渡しを 行ってください。 なお、ダウンロードした認証基盤構築ファイルや業務システム構築ファイルは、ファイルをダウンロードする際に指定した パスワードで暗号化されていますが、ファイルの内容を暴露されることで、利用者へのなりすましやシステムの乗っ取りが行 われる可能性があります。このため、サーバの構築が完了した場合は、必ず削除するようにしてください。 万が一、業務サーバ、または認証サーバの乗っ取りが行われた場合は、Interstage シングル・サインオンシステムで使用し ている暗号化情報(サービスID)を更新し、今まで使用していた暗号化情報(サービスID)を無効にしてください。 暗号化情報(サービスID)の更新方法については、「1.2.2.1 業務サーバ、または認証サーバをDMZに配置する場合の脅威」 を参照してください。1.2.3.2
運用資源へのアクセス権限の設定
各サーバの運用資源を保護するには、運用資源に適切なアクセス権限を設定する必要があります。これら資源にアクセスを 許可するユーザ、プログラムを必要最小限にすることで、攻撃者による削除や書き換え、暴露から資源を保護することが できます。 Interstage シングル・サインオンでは、適切なアクセス権限を必ず運用資源に設定していますが、Webサーバの実効ユーザを 変更する場合は、アクセス権限の変更を行う必要があります。 また、管理者が誤って運用資源を削除してしまう危険性もあります。運用資源は定期的にバックアップしてください。 Webサーバの実効ユーザを変更する場合は、「シングル・サインオン運用ガイド」の「運用・保守」を参照してください。運 用資源をバックアップする場合は、「運用ガイド(基本編)」を参照してください。1.2.3.3
通信内容の保護
通信内容の書き換えや暴露の脅威から保護するには、暗号化が有効な対策となります。認証サーバ、業務サーバのプロ トコルは必ずhttpsとし、通信内容を暗号化してください。httpsを運用するためには、SSLの環境が必要です。なお、リポジ トリサーバについてはInterstage シングル・サインオンのプログラムが通信内容を暗号化していることから、SSL通信を使用する 必要はありません。 httpsによる認証サーバ、業務サーバの環境構築については、「シングル・サインオン運用ガイド」の「環境構築(SSO管理 者編)」、「環境構築(業務サーバ管理者編)」を参照してください。 DoS攻撃を想定して、より安全なシステムを運用するには、ファイアウォールを導入して認証サーバ、リポジトリサーバを保護 するという対策が有効です。詳細については、「シングル・サインオン運用ガイド」の「より安全に利用するために」を参照し てください。1.2.3.4
パスワードアタックへの対策
認証時に使用するパスワードは、盗まれて不正に利用される危険があります。パスワードを盗む攻撃には、ハッキングツールを 使用した総当り攻撃や辞書攻撃があります。より安全にシステムを運用するためには、利用者に次のような運用指導を行う 必要があります。 実際には、対象となるシステムの運用要件やセキュリティポリシを加味してルールを決定し、運用指導を行ってください。 また、Interstage シングル・サインオンは、Interstage ディレクトリサービスを使用してリソース情報を一元管理しており、 Interstage ディレクトリサービスを使用する際に必要な管理者DNの認証情報(パスワード)についても保護する必要があります。 Interstage ディレクトリサービスの管理者DNの認証情報(パスワード)に対する脅威と対策については、「1.6 Interstage ディ レクトリサービス」を参照してください。推測されにくいパスワード
パスワードは、他人に推測されにくいものである必要があります。また、ツールなどによる機械的な分析で割り出しにくいも のである必要があります。 推測されにくいパスワードとは、以下の条件を満たしたものです。・
名前や生年月日などの個人情報から推測できない。・
可能な限り長い文字列にする。・
アルファベットの大文字と小文字、さらに数字、記号を混在させる。・
単語をそのまま使用しない。・
同じ文字の繰り返しなどの簡単な文字列でない。パスワードの管理方法
パスワードは、絶対に他人に知られないようにしなければなりません。次のような行為は極めて危険です。・
他人にパスワードを教える。・
パスワードのメモを他人の目に触れる場所におく。・
パスワードをWebブラウザなどに記憶させる。パスワードの定期的な変更
上記2点について注意したとしても、パスワード漏洩の可能性はあります。そのため、パスワードを定期的に変更することで、 安全に運用することが可能となります。ポイント
Interstage シングル・サインオンでは、パスワードの変更機能を提供していません。パスワードの変更については、使用す るシステムのルールにしたがい、適切な頻度で変更するよう運用指導してください。 パスワードが他人に推測された場合や盗まれた場合には、すべての業務サーバを停止し、以下の操作で設定した再認証の 間隔が経過したことを確認してください。・
SSOリポジトリのユーザ情報の「ssoCredentialTTL」に設定した利用者ごとの再認証の間隔。・
Interstage管理コンソールの[セキュリティ] > [シングル・サインオン] > [認証基盤] > [認証サーバ] > [環境設定]タブ > [詳 細設定[表示]]の[認証後の動作] > [再認証の間隔]で設定した標準の再認証の間隔。 再認証の間隔が経過した後に、推測された、または盗まれたパスワードを変更し、すべての業務サーバを起動し直してく ださい。1.2.3.5
認証サーバの確認
偽の認証サーバが提示したフォーム認証ページ/基本認証ダイアログに、利用者が誤ってユーザ名/パスワードを入力し てしまわないよう指導が必要です。・
正しい認証サーバのホスト名(URL)を利用者に広報します。・
業務サーバへのアクセスは、Webブラウザに設定したブックマークや、信頼できるサイトに用意されているリンクを利用さ せます。・
Webブラウザが表示する基本認証ダイアログについて要求元が不確かである場合は、一度キャンセルしてWebブラウ ザのアドレス表示域に表示されたURLが正しい認証サーバと一致していることを確認させます。・
Webブラウザが表示するフォーム認証ページについて要求元が不確かである場合は、Webブラウザのアドレス表示域に 表示されたURLが正しい認証サーバと一致していることを確認させます。1.2.3.6
認証の有効期間の管理
攻撃者が利用者の離席によって、利用者が認証を行ったWebブラウザを不正に操作し、業務システムにアクセスすることを 防止するためには、利用者の認証の有効期間(セション)を適切に管理する必要があります。・
サービス使用中に離席する場合は、セションを無効にするよう利用者に運用指導してください。・
利用者がセションを無効にせず離席した場合でも一定時間経過後に自動的にセションが無効になるようシステム設計 してください。 Interstage シングル・サインオンにおけるセションの管理については、「シングル・サインオン運用ガイド」の「概要」を参照し てください。1.2.3.7
業務サーバの運用・管理
業務サーバの保護リソースへの不当なアクセスを防止して、正しい認証/認可制御を行うためには業務サーバを適切に運用、 管理する必要があります。特に、業務サーバをMicrosoft(R) Internet Information Servicesに組み込んでいる場合、適切に運用しないと、保護リソー スに対して意図した通りにアクセス制御されない場合があります。「シングル・サインオン運用ガイド」の「環境構築(業務サーバ 管理者編)」-「業務サーバの追加」を参照して、適切な運用を行なってください。
・
業務サーバのプロトコルはhttpsとし、Webブラウザとの通信内容を暗号化してください。・
同じサーバの別のポートで不要なWebサーバを運用しないでください。・
業務サーバのサービスIDは、業務サーバのFQDNで作成してください。・
業務サーバにCGIなどのアプリケーションを配置する場合は、XSS(Cross Site Scripting)などのセキュリティ上の問題が ないことを確認してください。1.2.3.8
アプリケーションプログラミング
業務サーバで運用するアプリケーションは、バッファオーバフローやXSS(Cross Site Scripting)の脆弱性を残さず、セキュ アにプログラミングされていることを確認してください。 これはInterstage シングル・サインオンを使用する場合に限らず、Webアプリケーションに一般的に求められる対策です。 また、Interstageで提供しているシングル・サインオンJavaAPIを使用する場合には、以下のような脅威が考えられますので、 各脅威に対する対処を実施してください。 シングル・サインオンJavaAPIを使用したサーブレットアプリケーションの場合 加えられる可能性のある脅威 対策 アプリケーションの改ざん
・
IJServer、またはIJServerクラスタの運用を行 うアカウントのパスワードの漏洩や採取に備 えパスワードの定期的な変更を行ってくださ い。 アプリケーションの破壊・
定期的なデータバックアップの実施をしてく ださい。 クレデンシャル情報およびUID/PASSWORDの 漏洩・
WebサーバをSSLで運用してください。・
Webサーバのアクセスログファイルに対する アクセス権限を必要最低限に設定してくださ い。・
FORMのメソッドにGETを使用せずにPOST を使用してください。 定義ファイル(ログイン構成ファイル)の改ざん・暴 露・
運用資源に対するアクセス権限を必要最小 限にしてください。 定義ファイル(ログイン構成ファイル)の破壊・
定期的なデータバックアップの実施をしてく ださい。1.2.3.9
パッチの適用について
Webブラウザや各OSの不具合に関する情報は、定期的に確認する必要があります。問題が発見された場合、パッチや回 避方法が公開されます。利用者が使用するWebブラウザには、常に最新のセキュリティパッチを適用させてください。同様に、 各サーバのOSについても最新の修正を適用するようにしてください。1.2.3.10 Web
ブラウザに表示するメッセージ
Webブラウザに表示するメッセージをカスタマイズする場合には、その内容に十分注意してください。・
攻撃の足がかり、ヒントとなるような情報が含まれないようにしてください。・
電話番号やメールアドレス、URLなどを表示する場合は、それを公開することに問題がないことを確認してください。1.3 J2EE
アプリケーション
一般的なJ2EEアプリケーションにおけるセキュリティ侵害の脅威について、その概略を説明します。1.3.1 J2EEアプリケーションの動作モデル
J2EEアプリケーションの一般的な動作モデルを以下に示します。一般的なJ2EEアプリケーションでは、J2EEアプリケーションのクライアントプログラムが各種のコンポーネントを利用して業務を 実行します。このJ2EEアプリケーションのクライアントプログラムは、単独のJavaプログラムとして実行されることも、Webブラウザ 経由で実行されることもあります。Webブラウザ経由での実行の場合、Webサーバがその動作に介在します。このWebサー バはDMZ(DeMilitarized Zone)におき、Webブラウザ、イントラネット領域のどちらに対するアクセスの場合もファイアウォー ルを経由させるようにするのが一般的です。 DMZにJDKを配置することはセキュリティ上問題となる場合があります。DMZでServletサービスを運用する場合には、この 問題を回避するためのひとつの手段として、JDKの代わりにJREを用いてServletサービスを運用する方法が挙げられます。
1.3.2
保護すべき資源
一般的なJ2EEアプリケーションを使用する際に保護すべき資源について説明します。1.3.2.1 J2EE
アプリケーション運用時に使用する機能
一般的なJ2EEアプリケーションを運用する場合、以下に示す機能を使用することができます。・
利用者の認証・
Webサーバへの接続・
ServletおよびEJBの呼び出し・
データベースからのデータ読み込み・
データベースへのデータ書き込み・
Webサーバの動作環境設定・
ServletおよびEJB実行環境の設定・
J2EEアプリケーションの配備・
セション情報のリカバリ どの機能を使用するかは、利用者のアプリケーションプログラムの構成によって変わります。ここであげた機能が、すべての J2EEアプリケーションで使用されているわけではありません。1.3.2.2
保護対象資源
J2EEアプリケーションで可能な機能を使用する場合、以下に示す資源が使用されます。高度なセキュリティ対策が要求される 場合は、これらの資源をセキュリティ上の保護対象とすることが望まれます。 機能 保護対象資源 利用者の認証 認証に使用されるパスワード Webサーバへの接続(Interstage HTTP Serverを 利用する場合) Interstage HTTP Server用ログファイル・
アクセスログ・
エラーログ ServletおよびEJBの呼び出し IJServer用ログファイル・
コンテナログ・
コンテナ情報ログ データベースからのデータ読み込み・
データベース内のログ・
データベース内のデータ データベースへのデータ書き込み・
データベース内のログ・
データベース内のデータ Webサーバの動作環境設定(Interstage HTTP Serverを利用する場合) Interstage HTTP Server用環境定義ファイル ServletおよびEJB実行環境の設定 IJServer環境用定義ファイル J2EEアプリケーションの配備 配備対象であるEAR、WAR、JAR、RARファイ ル セション情報のリカバリ セションリカバリ用永続化ファイル1.3.3
資源に対して考えうる脅威
J2EEアプリケーションが保護対象とするべき資源に対して加えられる可能性があるセキュリティ上の脅威を以下に示します。 保護対象資源 加えられる可能性のある脅威 認証に使用されるパスワード・
パスワードの解読・
パスワードの搾取 Interstage HTTP Server用ログファイル・
アクセスログ・
ファイルに記録されている情報の書き換え・
ファイルに記録されている情報の搾取保護対象資源 加えられる可能性のある脅威
・
エラーログ・
ファイル自体の破壊 IJServer用ログファイル・
コンテナログ・
コンテナ情報ログ・
ファイルに記録されている情報の書き換え・
ファイルに記録されている情報の搾取・
ファイル自体の破壊 データベース内のログ・
記録されている情報の書き換え・
記録されている情報の搾取・
データの破壊 データベース内のデータ・
記録されている情報の書き換え・
記録されている情報の搾取・
データの破壊 Interstage HTTP Server用環境定義ファイル・
ファイルに記録されている情報の書き換え・
ファイルに記録されている情報の搾取・
ファイル自体の破壊 IJServer環境用定義ファイル・
ファイルに記録されている情報の書き換え・
ファイルに記録されている情報の搾取・
ファイル自体の破壊 配備対象であるEAR、WAR、JAR、RARファイ ル・
ファイル自体の破壊 セションリカバリ用永続化ファイル・
ファイルに記録されている情報の書き換え・
ファイルに記録されている情報の搾取・
ファイル自体の破壊1.3.4
脅威への対策
保護資源に対して考えうる脅威への対策について、その概略を以下に示します。なお、具体的な対策については、個々の コンポーネントのための記述をご参照ください。 加えられる可能性のある脅威 対策 パスワードの解読・
パスワードの暗号化 パスワードの搾取・
パスワード情報格納ファイルに対するアクセ ス権の設定 ファイルに記録されている情報の書き換え・
情報を保存しているファイルに対するアクセ ス権の設定・
定期的なデータバックアップの実施 ファイルに記録されている情報の搾取・
情報を保存しているファイルに対するアクセ ス権の設定 データの破壊・
定期的なデータバックアップの実施 ファイル自体の破壊・
ファイルに対するアクセス権の設定1.3.4.1
パスワードの解読への対策
インターネットのように一般的に開放されている環境内でパスワードが伝達される時、その伝達経路内においてパスワードが 解読される可能性があります。このような場合は、パスワードを暗号化することで解読の脅威に対抗することができます。Web ブラウザ経由で、httpsプロトコルを使った通信を行うことは、このケースの例です。1.3.4.2
パスワードの搾取への対策
イントラネットのように特定の利用者にのみ開放されている環境内では、伝達経路内でパスワードが解読される可能性は それほど高くありません。ただし、そのような環境はパスワードそのものの管理元となることがあります。このような場合、パ スワード情報はファイル内に格納されているというケースが多くなります。このパスワード情報格納ファイルが不特定多数の ユーザからアクセス可能になっていると、そこからパスワード情報を搾取される危険性が高くなります。このため、パスワード 情報格納ファイルに対して適切なアクセス権を設定することは、脅威への有効な対策となります。1.3.4.3
ファイルに記録されている情報の書き換えへの対策
J2EEアプリケーションの動作環境内には環境定義ファイルなどが存在しています。これらのファイル内容が不正に書き換え られると、J2EEアプリケーションが動作しなくなるなどの様々な問題が発生し得ます。このような脅威に対しては、情報を保存 しているファイルに適切なアクセス権を設定することが有効です。また、不正な書き換えが起こった場合に備えて定期的な データバックアップを実施するということも有効な対策となります。1.3.4.4
ファイルに記録されている情報の搾取への対策
J2EEアプリケーションを動作させるために必要な情報を格納しているファイルが存在しています。これらのファイルの記述内容 も資産の一部であり、その搾取を防止することは重要です。このような情報搾取の脅威に対しては、情報を保存している ファイルに適切なアクセス権を設定することが有効です。1.3.4.5
データの破壊への対策
J2EEアプリケーションにはデータベースを利用するものが存在します。このようなケースでは、データベースに格納された データ自体の保護にも気を配るべきです。データベース自身が持つセキュリティ機能を利用することに加えて、定期的に データバックアップを実施することが、データ破壊への有効な対策となります。1.3.4.6
ファイル自体の破壊への対策
J2EEアプリケーションの動作環境内には、その存在が必須であるファイルがあります。このようなファイルが何らかの理由で 破壊されてしまうと、J2EEアプリケーションの動作は不可能になります。このようなファイル破壊の脅威に対しては、ファイル 自体に適切なアクセス権を設定することが有効です。1.4
データベース連携サービス
データベース連携サービスを利用した運用形態におけるセキュリティ侵害の脅威について、その概略を説明します。 データベース連携サービスは、以下の機能を利用した場合に必要となります。・
J2EEアプリケーションにおける「分散トランザクション機能」・
OLTP機能における「グローバルトランザクション機能(グローバルトランザクション連携)」ポイント
データベース連携サービスが提供する機能については、OLTPサーバ運用ガイドの「データベース連携サービスが実現する 機能」、または「J2EE ユーザーズガイド(旧版互換)」の「JTS/JTA編」を参照してください。1.4.1
データベース連携サービスの動作モデル
データベース連携サービスの一般的な動作モデルを以下に示します。 上記の図は、データベース連携サービスが利用される部分を記載しています。その他のゾーンについては、J2EEアプリケー ションおよびOLTP機能に依存します。また、これら依存する機能によりデータベース連携サービスが配置されるゾーンも異 なります。1.4.2
保護すべき資源
データベース連携サービスを使用する際に保護すべき資源について説明します。1.4.2.1
保護対象機能
以下に示す機能および手順が保護の対象となります。・
OTSシステムの環境設定・
リソース定義ファイルの登録・削除・
XA連携用プログラムの作成・削除・
OTS用リソース管理プログラムの作成・削除・
OTSシステムの運用操作・
OTS用リソース管理プログラムの運用操作・
JTS用リソース管理プログラムの運用操作・
アプリケーションの運用操作・
トランザクションの操作・
リソースアクセス どの機能を使用するかは、利用者の動作モデルによって異なります。データベース連携サービス利用時のすべてのケー スにおいて、ここで列挙した機能が該当するわけではありません。1.4.2.2
保護対象資源
データベース連携サービスでは、以下に示す資源が使用されます。高度なセキュリティ対策が要求される場合は、これらの 資源をセキュリティ上の保護対象とすることが望まれます。 機能 保護対象資源 OTSシステムの環境設定・
OTSシステム情報格納フォルダ・
トランザクションログファイル・
トレースログ格納フォルダ リソース定義ファイルの登録・削除・
リソース定義格納リポジトリ XA連携用プログラムの作成・削除・
XA連携用プログラム OTS用リソース管理プログラムの作成・削除・
リソース管理プログラム OTSシステムの運用操作・
OTSシステム情報格納フォルダ・
トランザクションログファイル・
トレースログ格納フォルダ OTS用リソース管理プログラムの運用操作・
リソース定義格納リポジトリ・
リソースアクセス情報 JTS用リソース管理プログラムの運用操作・
リソース定義格納リポジトリ・
RMPプロパティファイル・
リソースアクセス情報・
トレースログ格納フォルダ アプリケーションの運用操作・
リソース定義格納リポジトリ・
リソースアクセス情報・
トレースログ格納フォルダ トランザクションの操作・
トランザクションログファイル・
トレースログ格納フォルダ リソースアクセス・
リソースアクセス情報・
トレースログ格納フォルダ保護対象資源の配置場所を以下に示します。