第7章 セキュリティ監査証跡機能
7.4 アプリケーションインタフェース詳細
各監査ログに情報を出力できます。
CORBAアプリケーションなどからデータベースにアクセスする場合にはSymfowareが用意するプロシジャルーチンを直接 実行してWebサーバ接続情報を設定することも可能です。すでにプロシジャルーチンでWebサーバ接続情報が設定され ている状態で、プロシジャルーチンを実行した場合には設定されている情報は上書きされます。
不正アクセス追跡方法
データベース(Symfoware)への不正アクセスが確認された場合、以下のように追跡できます。
Webサーバ/Webクライアントの追跡
1. Symfowareの監査ログに出力される「Web認証ユーザ名」により、不正アクセスを行ったユーザ名を特定できます。
2. Symfowareの監査ログに出力される「WebサーバのIPアドレス(またはホスト名)」により不正ユーザが侵入したWebサー
バを特定できます。
3. 2)によりWebサーバが特定できれば、Webサーバのアクセスログから不正アクセスしたWebクライアントを特定できます。
注意
Webクライアントがプロキシサーバを経由してWebサーバにアクセスしている場合には、Webクライアントの特定はできません。
アプリケーションサーバの追跡
Symfowareの監査ログに以下が出力されます。以下の情報から不正ユーザが侵入したアプリケーションサーバを特定す
ることが可能です。
Symfowareの監査ログの項目 出力内容
アプリケーション/RDBコマンドのプロセスID IJServerプロセスのプロセスID アプリケーション/RDBコマンドを実行したマシンのホスト
名/IPアドレス
IJServerを運用するマシンのホスト名また はIPアドレス
モジュール名 IJServer名
不正アクセス経路の追跡
WebサーバのリクエストIDをアプリケーションサーバが伝播して各監査ログに出力するため、リクエストIDを元に各監査ログを 対応付けて、どのように不審者がデータベースにアクセスしたかを追跡することも可能です。不審者がどのように侵入したかを 確認することで、システムの脆弱性の存在を早期に確認することが可能となり、適切なセキュリティ対策を実施することが できます。
また、監査ログを対応付けることにより、各種アクセスログの情報から不正ユーザがその他不正行為を行っていないかを確認 することも可能です。
Interstage シングル・サインオンの追跡
以下の手順により、Interstage シングル・サインオンで認証を行った不審者がサインオンからサインオフまでに行った証跡を調 べることができます。
1. Symfowareの監査ログに出力される「WebサーバのリクエストID」を特定します。
2. Interstage シングル・サインオンの業務サーバのアクセスログで、1.のリクエストのレコードを特定します。
3. 2.のレコードに記載されている「セションID」を特定します。
4. Interstage シングル・サインオンの認証サーバ、およびリポジトリサーバのアクセスログ、およびセション管理ログで、3.の
「セションID」のレコードを特定します。
5. 4.のレコードから、サインオン操作からサインオフ操作までに行った行為を追跡することができます。
6. Interstage シングル・サインオンの業務サーバのアクセスログで、3.の「セションID」のレコードを特定します。
7. 6.のレコードから、そのユーザがアクセスした全ての「WebサーバのリクエストID」を特定します。
8. 7.の全ての「WebサーバのリクエストID」を元に、不審者が業務システムで行った行為を追跡することができます。
設定方法
Symfoware監査ログにWebサーバ接続情報/IJServer名を出力する場合、以下の設定が必要です。
・ JDBCデータソース定義の設定
SymfowareのJDBCデータソースを定義する時に、「監査ログへのWebサーバ接続情報出力」を「出力する」に設定し てください。
Interstage管理コンソールから運用操作を行う場合、事前にInterstage管理コンソールにログインする必要があります。
Interstage管理コンソールへのログイン画面で入力されたユーザ名とパスワードは、Interstage JMXサービス上で正しいユーザ 情報かどうかユーザリポジトリ(OS、または、ディレクトリサービス)に対して照会が行われ、ログイン要求に応答します。その結果、
ログインに成功した場合、Interstage管理コンソールを使用して、Interstage JMXサービスに運用操作要求を発行すること ができます。
このように、Interstage JMXサービスに対して運用操作要求を発行するためには、事前にInterstage JMXサービスに対して ログインする必要があります。
Interstage JMXサービスに対するログイン要求には、以下の4つの種類があります。
・ Interstage管理コンソールからのOS認証を使用したログイン
Interstage管理コンソールの運用セキュリティでユーザリポジトリにOSを選択した場合、Interstage管理コンソールのログ
イン画面で入力されたユーザIDとパスワードは、Interstage JMXサービスによって、OSに照会が行われます。
・ Interstage管理コンソールからのディレクトリサービス認証を使用したログイン
Interstage管理コンソールの運用セキュリティでユーザリポジトリにディレクトリサービスを選択した場合、Interstage管理コ ンソールのログイン画面で入力されたユーザIDとパスワードは、Interstage JMXサービスによって、ディレクトリサービスに 照会が行われます。
・ Interstageの各種サービスによるローカル認証ログイン
Interstage JMXサービスと連携するInterstageの各種サービスがInterstage JMXサービスに対して運用操作要求を発行 する場合に使用されるログイン方法です。
ログインログでは、これら4種類のすべてのログイン要求に対して、以下の情報を出力することで、不正なログイン要求があっ たかを確認することができます。
・ ログイン要求の発行時刻
・ ログイン要求の発行者
・ ログイン要求の結果
ここでは、以下について説明します。
・ ログファイル仕様
・ 出力フォーマット
・ 出力メッセージ
ログファイル仕様
ログインログは、以下に出力されます。ログインログを採取するために必要な設定はありません。自動で採取されます。
C:\Interstage\jmx\var\log\isjmxruntimelog\isjmxlogin.log
/var/opt/FJSVisjmx/log/isjmxruntimelog/isjmxlogin.log
ログインログは、ファイルサイズの上限値が1MB(デフォルト)です。ファイルサイズの上限値は、Interstage JMXサービスの環 境定義ファイル(isjmx.xml)で、1MB~100MBの範囲で変更することができます。定義の詳細は、「運用ガイド(基本編)」の
「Interstage管理コンソール環境のカスタマイズ」を参照してください。
ファイルサイズの上限値を超えた場合、ログファイルは以下の名前でバックアップされます。バックアップファイルは1世代まで 管理され、古いものから削除されます。そのため、必要であれば、ログインログのバックアップファイルを定期的に退避して ください。
C:\Interstage\jmx\var\log\isjmxruntimelog\isjmxlogin.log.old
/var/opt/FJSVisjmx/log/isjmxruntimelog/isjmxlogin.log.old
出力フォーマット
ログインログは、一回のログイン要求に対し、その実行結果(成功/失敗)を1行に出力します。
以下に、ログインログの出力フォーマットを示します。各項目は半角空白で区切られていますので、出力された情報を Microsoft(R)Excelなどで分析することができます。
日時 ホスト情報 メッセージ番号:メッセージ本文
項目 意味
日時 Interstage JMXサービスへのログイン要求が発生した日時です。
「YYYY/MM/DD hh:mm:ss.sss」の形式で出力されます。
日付と時刻の間は半角空白で区切られています。
ホスト情報 Interstage JMXサービスへのログイン要求が発行されたホスト情報です。
メッセージ番号: メッセージ本文
Interstage JMXサービスへのログイン要求に対する実行結果を示すメッセージ
番号と本文です。
例
以下にログインログの出力例を示します。
2006/08/02 15:14:19.329 127.0.0.1 1009:Local Authentication OK. Address=(127.0.0.1)
出力メッセージ
以下に出力されるメッセージを示します。
・ メッセージ番号1000
・ メッセージ番号1001
・ メッセージ番号1002
・ メッセージ番号1003
・ メッセージ番号1004
・ メッセージ番号1005
・ メッセージ番号1009
・ メッセージ番号1010
・ メッセージ番号1011
・ エラーコードの意味と対処
メッセージ番号1000
1000:Authentication OK. userDN=(%s) [可変情報]
%s:ユーザ識別子 [意味]
ディレクトリサービスによる認証が成功しました。
メッセージ番号1001
1001:Authentication NG. userDN=(%s) error code=(%x)
[可変情報]
%s:ユーザ識別子
%x:エラーコード [意味]
ディレクトリサービスによる認証に失敗しました。
エラーコードについては、「エラーコードの意味と対処」を参照してください。
メッセージ番号1002
1002:Authentication ABORT. userDN=(%s) error code=(%x) detail=(%s)
[可変情報]
%s:ユーザ識別子 %x:エラーコード
%s:SSLに関するエラー(エラーコードが「0x0C」の場合のみ) [意味]
ディレクトリサービスによる認証が中止されました。
エラーコードについては、「エラーコードの意味と対処」を参照してください。
メッセージ番号1003
1003:Authentication OK. userName=(%s) [可変情報]
%s:ユーザ名 [意味]
OSによる認証が成功しました。
メッセージ番号1004
1004:Authentication NG. userName=(%s) error code=(%x)
[可変情報]
%s:ユーザ名 %x:エラーコード [意味]
OSによる認証が失敗しました。
エラーコードについては、「エラーコードの意味と対処」を参照してください。
メッセージ番号1005
1005:Authentication ABORT. userName=(%s) error code=(%x) [可変情報]
%s:ユーザ名
%x:エラーコード
[意味]
OSによる認証が中止されました。
エラーコードについては、「エラーコードの意味と対処」を参照してください。
メッセージ番号1009
1009:Local Authentication OK. Address=(%s) [可変情報]
%s:ローカルアドレス [意味]
ローカルの接続認証が成功しました。
注意
メッセージ番号1001およびメッセージ番号1003が出力されたあと、本メッセージが複数出力されます。本メッセージは、
ログイン後のツリー画面を作成する際に出力されるログであり、異常を示すものではありません。
メッセージ番号1010
1010:Local Authentication NG. Address=(%s) error code=(%x) [可変情報]
%s:ローカルアドレス
%x:エラーコード
[意味]
ローカルの接続認証が失敗しました。
エラーコードについては、「エラーコードの意味と対処」を参照してください。
メッセージ番号1011
1011:Local Authentication ABORT. Address=(%s) error code=(%x) [可変情報]
%s:ローカルアドレス
%x:エラーコード
[意味]
ローカルの接続認証が中止されました。
エラーコードについては、「エラーコードの意味と対処」を参照してください。
エラーコードの意味と対処
エラー コード
意味と対処
0x00 以下を確認して再度ログインを実行してください。