Interstage Web Server セキュリティシステム運用ガイド |
目次
索引
![]() ![]() |
第2部 認証とアクセス制御 | > 第5章 セキュリティ監査証跡機能 |
各システムの保護資産へのアクセスについては以下のセキュリティポリシーを設定してセキュリティ対策を実施する必要があります。何らかの原因でポリシーに違反した場合には不正アクセスの可能性があります。本製品では、「いつ」「どこで」「だれが」「なにを」「どうした」という情報が監査ログに蓄積されるため、万が一不正アクセスが発生してしまった場合でも迅速に追跡調査が行えます。
セキュリティポリシー
いつ
アクセスできる時間帯を曜日ごとなどに定める
どこで
アクセスに用いるPCや端末をネットワークのアドレスや端末番号などで制限する
だれが
使える人だけにIDを発行し、パスワードで本人であることを確認する
なにを
IDごとにアクセスできる情報を限定する
どうした
IDごとに照会、更新、追加、削除などのうち、どれができるかを限定する
InterstageとSymfowareが連携し、Symfowareの監査ログを確認するだけで、だれがどこのWebサーバに侵入して不正アクセスしたかを特定できます。
アプリケーションを修正しなくても各サービス(Webサービス、Servletサービスなど)にアクセスした時の情報が自動的に各監査ログに出力されます。このため、業務アプリケーションへの不正アクセスが発覚した場合に、不正アクセス経路の迅速な特定が可能となります。この時に採取される監査ログをアクセスログと呼びます。
ここでは、以下について説明します。
アクセスログとしては、以下の情報が採取されます。
いつ
・アクセスが行われた日時
どこで
・アクセスしたクライアントのIPアドレス
だれが
・ユーザ識別情報
なにを
・アクセス対象
どうした
・処理結果(補足情報)
・SessionID
・リポジトリサーバのIPアドレス
いつ
・Webクライアントからのアクセス日時
どこで
・WebクライアントまたはプロキシサーバなどのIPアドレス/ホスト名
・WebサーバのリクエストIDだれが
・Webクライアントから返信されるユーザ個人情報
・Webクライアントから送信されたユーザ名なにを
・Webクライアントが要求したリクエスト内容
どうした
・Webクライアントに返信するコード
・Webクライアントに転送したデータ量
いつ
・アクセス日時
どこで
・IPアドレス:ポート番号(ホスト名)
だれが
・バインドDN
なにを
・プロトコルバージョン
・サーチベース
・サーチスコープ
・別名参照ルール
・サイズリミット
・タイムリミット
・属性取得方法
・検索フィルタ
・比較対象DN
・更新DN
・新RDN
・旧DN削除フラグ
・追加DN
・削除DNどうした
・要求か応答かの情報
・要求や要求に対する結果
・エラーコード
Interstage ディレクトリサービスは、以下の製品に同梱されています。
- Windows Server 2003 for Itanium-based Systems/ Red Hat Enterprise Linux AS (v.4 for Itanium)/ Red Hat Enterprise Linux 5 (for Intel Itanium)の場合
- Interstage Application Server Enterprise Edition
- 上記以外のオペレーティングシステムの場合
- Interstage Application Server Enterprise Edition
- Interstage Application Server Standard-J Edition
Symfowareと連携した場合にはSymfowareの監査ログに以下の情報が採取されます。
IJServer名にはSymfowareにアクセスしたIJServerの名前が設定されます。
- WebサーバのIPアドレス(またはホスト名)
- WebサーバのリクエストID
- Web認証ユーザ名
- IJServer名
Interstage HTTP Serverでは送信されたリクエストに対して識別子を割り当てて、そのリクエストの呼び出し先に識別子を伝播します。この識別子をWebサーバのリクエストIDと呼びます。同一のリクエストIDが出力されたアクセスログを対応付けることにより、簡単に不正アクセス経路の追跡ができます。
WebサーバのリクエストIDは以下のように作成されており、一意性が保証されます。
112ビット(32ビットIPアドレス、32ビットpid、32ビットタイムスタンプ、16ビットカウンタの4つの組)をアルファベット(A〜Z、a〜z、0〜9、@、-)を用いてMIMEのbase64符号化と同様の方法により符号化し、24バイトの文字列を生成して作成
Interstage HTTP Server以外のWebサーバを使用した場合にはリクエストIDは伝播されません。
リクエストIDを付与させるためには、Interstage HTTP Serverの環境定義ファイル(httpd.conf)に以下の定義を追加したあと、Webサーバを再起動してください。環境定義ファイル(httpd.conf)の詳細については、“Interstage HTTP Server 運用ガイド”を参照してください。
(インストールパスはデフォルト)
LoadModule unique_id_module "C:/Interstage/F3FMihs/modules/mod_unique_id.so"
![]()
![]()
LoadModule unique_id_module "/opt/FJSVihs/modules/mod_unique_id.so"
Webサーバ/アプリケーションサーバ/データベースサーバの3階層システムでは、一般的にアプリケーションサーバ上のアプリケーションではデータベースへ接続するためのユーザIDが1つのIDに固定されて使われています。(不特定多数のWebサーバログインユーザに対して、データベースの接続ユーザは特定ユーザとなるのが一般的であるためです。)このため、データベースの監査ログに出力されるCONNECTしたユーザ名だけでは「だれが」の情報が不十分です。
本製品ではSymfowareと連携して、Webサーバ接続情報を自動的にSymfowareの監査ログに出力することができます。発行されたSQL文などのデータベースアクセス情報とともにWebサーバ接続情報が監査ログに出力されるため、監査ログを参照することで「だれが」アクセスしたかを特定することが可能となります。また、データベースにアクセスしたIJServer名が出力されることから、どのIJServerからデータベースのデータを操作したかを特定することも可能です。
InterstageとSymfowareが連携して出力される情報は以下です。
採取される情報
Symfowareの監査ログとの対応
WebサーバのIPアドレス(またはホスト名)
CLIENT_INF
WebサーバのリクエストID
Web認証ユーザ名
IJServer名
MODULE_INF
CLIENT_INFには以下の書式で情報が設定されます。斜体文字の部分は可変情報です。
i=RequestID,u=UserID,h=HostName
RequestID
WebサーバのリクエストID
UserID
Web認証ユーザ名
HostName
WebサーバのIPアドレス(またはホスト名)
CLIENT_INFの最大長は64Byteです。UserIDもしくはHostNameの長さにより、64Byteを超えた場合にはh=HostNameの部分がハイフン“-”で出力されます。ハイフンが出力された場合には、ユーザ名についても切り捨てが発生した可能性があります。Webサーバのログを確認してリクエストIDに該当するユーザ名/ホスト名を確認してください。
上記よりユーザ名には20Byte以下を使用することを推奨します。
【出力例】
i=TzJ4HAqDyX8AABMMBcoAAAAw,u=peter,h=192.168.0.2
上記情報はIJServer上でJ2EEのJNDI機能でlookupしたJDBCのデータソースに対して、アプリケーションがgetConnectionを実行したタイミングで自動的に設定されます。Symfowareが用意する以下のプロシジャルーチンをInterstageが自動的に実行してWebサーバ接続情報を設定し、getConnectionで取得したコネクションに対して要求を実行するとWebサーバ接続情報とともに監査ログが出力されます。
MODULE_INFのアクション名(上記プロシジャルーチンの第2パラメタ)には何も設定されません。
また、Web認証ユーザ名は、以下の機能を使用して認証を行った場合のみ自動的に監査ログに出力されます。
J2EEアプリケーションが独自にユーザ認証機能を実装している場合には、“アプリケーションインタフェース詳細”に記載したメソッドでユーザIDを設定することによって、Webサーバ接続情報のWeb認証ユーザ名として各プロトコルで情報を伝播し、各監査ログに情報を出力できます。
CORBAアプリケーションなどからデータベースにアクセスする場合にはSymfowareが用意するプロシジャルーチンを直接実行してWebサーバ接続情報を設定することも可能です。すでにプロシジャルーチンでWebサーバ接続情報が設定されている状態で、プロシジャルーチンを実行した場合には設定されている情報は上書きされます。
データベース(Symfoware)への不正アクセスが確認された場合、以下のように追跡できます。
- Symfowareの監査ログに出力される“Web認証ユーザ名”により、不正アクセスを行ったユーザ名を特定できます。
- Symfowareの監査ログに出力される“WebサーバのIPアドレス(またはホスト名)”により不正ユーザが侵入したWebサーバを特定できます。
- 2)によりWebサーバが特定できれば、Webサーバのアクセスログから不正アクセスしたWebクライアントを特定できます。
Webクライアントがプロキシサーバを経由してWebサーバにアクセスしている場合には、Webクライアントの特定はできません。
Symfowareの監査ログに以下が出力されます。以下の情報から不正ユーザが侵入したアプリケーションサーバを特定することが可能です。
Symfowareの監査ログの項目
出力内容
アプリケーション/RDBコマンドのプロセスID
IJServerプロセスのプロセスID
アプリケーション/RDBコマンドを実行したマシンのホスト名/IPアドレス
IJServerを運用するマシンのホスト名またはIPアドレス
モジュール名
IJServer名
WebサーバのリクエストIDをアプリケーションサーバが伝播して各監査ログに出力するため、リクエストIDを元に各監査ログを対応付けて、どのように不審者がデータベースにアクセスしたかを追跡することも可能です。不審者がどのように侵入したかを確認することで、システムの脆弱性の存在を早期に確認することが可能となり、適切なセキュリティ対策を実施することができます。
また、監査ログを対応付けることにより、各種アクセスログの情報から不正ユーザがその他不正行為を行っていないかを確認することも可能です。
Symfoware監査ログにWebサーバ接続情報/IJServer名を出力する場合、以下の設定が必要です。
また、Interstageの各種サービスのアクセスログを取得する場合、以下のマニュアルを参照してください。
Interstage ディレクトリサービスは、以下の製品に同梱されています。
- Windows Server 2003 for Itanium-based Systems/ Red Hat Enterprise Linux AS (v.4 for Itanium)/ Red Hat Enterprise Linux 5 (for Intel Itanium)の場合
- Interstage Application Server Enterprise Edition
- 上記以外のオペレーティングシステムの場合
- Interstage Application Server Enterprise Edition
- Interstage Application Server Standard-J Edition
目次
索引
![]() ![]() |