QualysGuard ® API

QualysGuard® API リリースノート
バージョン 6.10 アップデート
2010 年 5 月 6 日
QualysGuard API 6.10 アップデートリリースでは、Qualys が提供する QualysGuard セキュリティおよびコ
ンプライアンスサービスと、サードパーティのアプリケーションとの統合を促進する、数多くの手法が追加
されます。
QualysGuard 6.10 アップデート
新しいスキャン関数によるスキャン結果の ダウンロード
スキャン API(/api/2.0/fo/scan)の新しいパラメータ action=fetch を使用して、完了したスキャン
のネットワークスキャン結果を CSV または JSON(JavaScript Object Notation)形式でダウンロー
ドできるようになりました。簡易出力モードまたは詳細出力モードを選択することにより、脆弱性
の検出時に出力される情報の詳細レベルを指定できます。
カスタムポートを使用した Unix コンプライアンス スキャン
Unix コンプライアンススキャンで、対象ホストの認証とコンプライアンス評価(コントロールテ
スト)に、カスタムポートを使用できるようになりました。サービス(SSH、telnet、rlogin)が
well-known ポート(それぞれ 22、23、513)で実行されていない場合でも、カスタムポートから
Unix ホストをスキャンし、コンプライアンスを評価できます。
Unix 認証記録 API (/api/2.0/fo/auth/unix)に、新しい入力パラメータ“ port ”が追加されまし
た。Unix 認証記録リスト出力用 DTD(auth_unix_list_output.dtd)が更新されました。
Control List API に追加された日付フィルタ
Control List API(/api/2.0/fo/compliance/control)に新しい日付フィルタが追加されました。
新しい入力パラメータを使用して、1) 特定の日時以降に更新されたコントロールリスト、および
2) 特定の日時以降に作成されたコントロールリストのリクエストを作成できます。
Control List API に新しい入力パラメータが追加されました。また、コントロールリスト出力用
DTD (control_list_output.dtd) が更新されました。
無断複写・転載を禁じます。2010 年 クォリスジャパン株式会社
全般的な注意事項
QualysGuard API サーバの URL
Qualys は、QualysGuard プラットフォームを複数提供しています。API リクエストに使用する
QualysGuard API サーバの URL は、ご使用のアカウントが所属するプラットフォームにより異な
ります。
アカウントの場所
API サーバの URL
QualysGuard US
https://qualysapi.qualys.com
QualysGuard EU
https://qualysapi.qualys.eu
QualysGuard @Customer
https://qualysapi.<customer_base_url>
QualysGuard API のドキュメントとサンプルコードには、QualysGuard US プラットフォームの
API サーバ URL を使用しています。アカウントが別のプラットフォームに所属している場合は、
アカウント用のサーバ URL に置き換えてください。
QualysGuard API のドキュメント
リリースされた API ユーザガイドおよびその他のドキュメントは、アカウントの「Resource」セ
クションから利用できます(「Help」→「Resources」→「API」)。
以下の API ユーザガイドがあります。
• 『QualysGuard API V1 User Guide』。 このユーザガイドでは、当初の API アーキテクチャ
に基づく QualysGuard API V1 関数について説明しています。
• 『QualysGuard API V2 API User Guide』。 このユーザガイドでは、最新の V2 API アーキテ
クチャに基づく QualysGuard API V2 関数について説明しています。V2 API では、セキュ
リティとパフォーマンスが最適化されています。
QualysGuard API バージョン 6.5 以降では、ユーザが実行できる API 呼び出しにサブスクリプショ
ンに基づく制限が課せられています。具体的には、サブスクリプションごとに同時制限とレート制
限が設けられています。詳細については、『QualysGuard API Limits』のドキュメントを参照して
ください。
QualysGuard API リリースノート
2
新しいスキャン関数によるスキャン結果の ダウンロード
新しいスキャン関数によるスキャン結果の
ダウンロード
スキャン API(/api/2.0/fo/scan)の新しいパラメータ action=fetch を使用して、完了したスキャン
のネットワークスキャン結果を CSV または JSON(JavaScript Object Notation)形式でダウンロー
ドできるようになりました。この関数を使用して、「Finished」、「Canceled」、「Paused」、「Error」
ステータスのスキャン結果をダウンロードできます。
ユーザは簡易出力モードと詳細出力モードのいずれかを選択できます。簡易出力モードでは、基本
情報の IP アドレス、DNS ホスト名、NetBIOS ホスト名、QID、およびスキャン結果(該当する
場合)が出力されます。詳細出力モードでは、簡易出力モードの基本情報に加えて、プロトコル、
ポート、SSL フラグ(検出に SSL が使用された場合は“ yes ”、使用されなかった場合は“ no ”
が返されます)、および FQDN 名(該当する場合)が出力されます。
この関数により、スキャン結果をダウンロードする際のパフォーマンスが向上するため、V1 API
の scan_report.php 関数よりもこちらを使用することをお勧めします。
スキャン API のこの関数と knowledgebase_download.php 関数を組み合わせて使用することによ
り、KnolwedgeBase のホスト検出データと脆弱性データを最も効率的に統合でき、拡張も容易に
なります。
ス キ ャン API (/api/2.0/fo/scan) の新 し いパ ラ メー タ action=fetch の 詳細 に つい て は、
『QualysGuard API V2 User Guide』を参照してください。このユーザガイドは、QualysGuard ア
カウントの「Resources」セクション(「Help」→「Resources」→「API」)からダウンロードできます。
QualysGuard API リリースノート
3
カスタムポートを使用した Unix コンプライアンス スキャン
カスタムポートを使用した Unix コンプライアンス
スキャン
Unix コンプライアンススキャンで、対象ホストの認証とコンプライアンス評価(コントロールテ
スト)に、カスタムポートを使用できるようになりました。サービス(SSH、telnet、rlogin)が
well-known ポート(それぞれ 22、23、513)で実行されていない場合でも、カスタムポートから
Unix ホストをスキャンし、コンプライアンスを評価できます。
Unix 認証記録 API (/api/2.0/fo/auth/unix)に、新しい入力パラメータ“ port ”が追加されまし
た。Unix 認証記録リスト出力用 DTD(auth_unix_list_output.dtd)が更新されました。
サービスは、well-known ポートの 22(SSH)、23(telnet)、および 513 (rlogin)を自動的に使用
して、コンプライアンススキャンを実行します。SSH、telnet、rlogin のいずれかのサービスで、コ
ンプライアンススキャンを十分に行えます。ネットワークによっては、Unix コンプライアンスス
キャンを確実に行うためにカスタムポートの定義が必要となる場合があります。
Unix コンプライアンススキャンで使用されるポート
このリリースでは、Unix コンプライアンススキャンで実際に使用されるポートは、1) コンプライ
アンスオプションプロファイル、および 2) Unix 認証記録、の 2 箇所でのスキャン設定によって決
まります。
コンプライアンス
プロファイル (UI のみ )
Unix 認証記録
スキャンされるポート
Standard Scan
UI: Well Known Ports
API: “ port ”パラメータなし
1900 ポートまで (22、23、513 の
ポートを含む )
Standard Scan
UI: Custom Ports
API: “ port ”パラメータ
1900 ポートまで、および認証記録に
Targeted Scan
UI: Well Known Ports
API: “ port ”パラメータなし
22、23、および 513 のポートのみ
Targeted Scan
UI: Custom Ports
API: “ port ”パラメータ
認証記録に定義されたカスタムポート
定義されたカスタムポート
コンプライアンスプロファイルのアップデート
コンプライアンススキャンに使用するコンプライアンスオプションプロファイルに、「Ports」設定
が 新 た に 加 わ り ま し た。こ れ ま で の リ リ ー ス と 同 様 に、コ ン プ ラ イ ア ン ス プ ロ フ ァ イ ル は
QualysGuard のユーザインタフェースからのみ作成および編集できます。
注意事項 : コンプライアンスプロファイルの「Ports」設定は Unix および Windows のスキャンに
のみ適用されます。Oracle、MS SQL、および SNMP などのその他のスキャンタイプには、
「Ports」
設定は適用されません。Oracle および MS SQL のスキャンタイプでは、それぞれの認証記録で指
定されているポートがスキャンされます。
QualysGuard API リリースノート
4
カスタムポートを使用した Unix コンプライアンス スキャン
「Ports」では次の設定が可能です。
• 「Standard Scan」― このオプションを選択すると、well-known ポートの 22 (SSH)、
23(telnet)、513(rlogin)を含む、標準ポート (約 1900 ポート)がコンプライアンスス
キャンに使用されます。
• 「Targeted Scan」― このオプションを選択すると、スキャン対象が絞り込まれ、標準ポート
すべてをスキャンする場合より対象ポートの数が少なくなります。これは推奨設定です。新
規に作成されたコンプライアンスプロファイルでは、初期設定でこのオプションが選択さ
れています。
–
–
Unix ホストの場合、well-known ポートの 22 (SSH)、23 (telnet)、および 513
(rlogin)がスキャンされます。これらのいずれかのサービスで、十分に認証を行えま
す。スキャン対象のホストでサービス(SSH、telnet、rlogin)が well-known ポート
で実行されていない場合は、このオプションを選択して、Unix 認証記録にカスタム
ポートリストを定義します。注意事項 : 実際にどのポートがスキャンされるかは、
Unix 認証記録の「Ports」設定によっても決まります。
Windows ホストの場合、サービスで定義済みの内部リストに従って、一連の
Windows 必須ポートがスキャンされます。
Unix 認証記録のアップデート
Unix 認証記録に、新しく「Ports」設定が加わりました。これにより、Unix コンプライアンスス
キャン(認証およびコンプライアンス評価)に使用するカスタムポートを選択できるようになりま
し た。Unix 認証 記 録は、QualysGuard ユー ザ イン タ フェ ー スお よ び Unix 認証 記 録 API
(/api/2.0/fo/auth/unix)を使用して作成および編集できます。
「Ports」では次の設定が可能です。
• 「Well Known Ports」― サービス(SSH、telnet、rlogin)は、well-known ポート(それぞ
れ 22、23、513)でスキャンされます。Unix 認証記録 API を使用している場合、これがデ
フォルトのスキャン設定になります。
• 「Custom Ports」― 入力パラメータ“ port ”が指定されている場合は、カスタムリストの
ポートがスキャンされます。サービス(SSH、telnet、rlogin)が well-known ポート(それ
ぞれ 22、23、513)で実行されていない場合は、このオプションを選択します。
注意事項 : 実際にどのポートがスキャンされるかは、コンプライアンスオプションプロファ
イルの「Ports」設定によっても決まります。
Unix 認証記録 API の新しい入力パラメータ“ port ”
(ユーザのアカウントでポリシーコンプライアンスモジュールが有効である場合に指定可能)
Unix 認証記録 API (/api/2.0/fo/auth/unix)に入力パラメータ“ port ”(オプション)が新しく追
加されました。このパラメータを使用して、カスタムポートのリストを新規または既存の Unix 認
証記録に追加できます。“ port ”パラメータは、サービス(SSH、telnet、rlogin)が well-known
QualysGuard API リリースノート
5
カスタムポートを使用した Unix コンプライアンス スキャン
ポート(それぞれ 22、23、513)で実行されていない場合に必要となります。コンプライアンス評
価のためにホストをスキャンする際には、いずれかのサービスが必要です。
“ port ”パラメータでは、1 つまたは複数のポートを指定できます。複数のポートを指定する場合
はカンマで区切ります。“ port ”に指定できる値の長さは最大 128 文字です。
“ port ”パラメータでカスタムポートを指定した場合、コンプライアンススキャン実行時に実際に
スキャンされるポートは、コンプライアンスプロファイルでの「Ports」設定によって次のとおりに
なります。
•
コンプライアンスプロファイルで「Standard Scan」を選択した場合、サービスが提供する
標準ポートリストに属する約 1900 個のポート(22、23、513 を含む)、および“ port ”パ
ラメータで指定したポートがスキャンされます。
•
コンプライアンスプロファイルで「Targeted Scan」を選択した場合、“ port ”パラメータ
で指定したポートだけがスキャンされます。
QualysGuard ユーザインタフェースでは、「Custom Ports」フィールドで Unix 認証記録にカスタ
ムポートを定義できます。
Unix 認証記録リスト出力の新しい <PORT> 要素
Unix 認証記録リスト出力用 DTD (auth_unix_list_output.dtd)に、新しく <PORT> 要素が追加さ
れました。この DTD は、次の場所にあります。
https://<qualysapi.qualys.com>/api/2.0/fo/auth/unix/
auth_unix_list_output.dtd
<qualysapi.qualys.com> は、ユーザのアカウントが所属する API サーバの URL です。
<PORT> 要素では、Unix コンプライアンススキャン用に定義されているカスタムポートを識別で
きます。これらは、入力パラメータ“ port ”または QualysGuard ユーザインタフェースの「Custom
Ports」フィールドで指定されているポートです。
<PORT> 要素は <AUTH_UNIX> 要素のサブ要素です。
...
<!ELEMENT AUTH_UNIX (ID, TITLE, USERNAME, CLEARTEXT_PASSWORD, ENABLE_SUDO,
RSA_PRIVATE_KEY?, DSA_PRIVATE_KEY?, PORT?, IP_SET,
CREATED, LAST_MODIFIED, COMMENTS?)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT USERNAME (#PCDATA)>
<!ELEMENT CLEARTEXT_PASSWORD (#PCDATA)>
<!ELEMENT ENABLE_SUDO (#PCDATA)>
<!ELEMENT RSA_PRIVATE_KEY EMPTY>
<!ELEMENT DSA_PRIVATE_KEY EMPTY>
<!ELEMENT PORT (#PCDATA)>
...
QualysGuard API リリースノート
6
Control List API に追加された日付フィルタ
Control List API に追加された日付フィルタ
Control List API に新しい日付フィルタが追加されました。この API を使用できるのは、ユーザの
アカウントで Policy Compliance(PC)モジュールが有効になっている場合です。
新しい入力パラメータを使用して、次のコントロールリストのリクエストを作成できます。
•
特定の日時以降に更新されたコントロール
•
特定の日時以降に作成されたコントロール
新しい入力パラメータがリクエストで指定されている場合、コントロールリスト出力でそのパラ
メータが識別されます。コントロールリスト出力用 DTD(control_list_output.dtd)も更新され、
各コントロールの更新日および作成日の新しい要素が追加されました。
新しい入力パラメータ
これらの新しい入力パラメータをコントロールリストのリクエストで指定できます。
パラメータ
説明
updated_after_datetime= (オプション)特定の日時以降に更新されたコントロールのみを表示
{value}
します。
created_after_datetime= (オプション)特定の日時以降に作成されたコントロールのみを表示
{value}
します。
日時は、“ 2010-03-01 ”または“ 2010-03-01T23:12:00Z ”というように、YYYY-MM-DD
[THH:MM:SSZ] 形式(UTC/GMT)で指定します。
例えば、2010-03-01 のように日付を時間なしで指定した場合、自動的に時間が
2010-03-01T00:00:00Z(その日の開始時刻)に設定されます。
1 つの API リクエストに対して両方の入力パラメータを使用して日付フィルタを指定した場合、両
方の日付フィルタが適用されます(AND 演算)。
コントロールリスト出力のアップデート
コントロールリスト出力の <KEY> 要素に、2 つの新しいパラメータ“ updated_after_datetime ”
および“ created_after_datetime ”が追加されました。<KEY> 要素は、<PARAM> 要素のサブ要
素です。
コ ン トロ ー ルリ ス ト出 力 用 DTD(control_list_output.dtd)に、<UPDATE_DATE> お よ び
<CREATED_DATE> という新しい要素が追加されました。この DTD は、次の場所にあります。
https://<qualysapi.qualys.com>/api/2.0/fo/compliance/control/
control_list_output.dtd
<qualysapi.qualys.com> は、ユーザのアカウントが所属する API サーバの URL です。
QualysGuard API リリースノート
7
Control List API に追加された日付フィルタ
コントロールリスト出力用 DTD のアップデート
以下のコントロールリスト出力用 DTD(control_list_output.dtd)がアップデートされました。新
しい要素は、太字で示されています。
<!-- QUALYS CONTROL_LIST_OUTPUT DTD -->
<!ELEMENT CONTROL_LIST_OUTPUT (REQUEST?,RESPONSE)>
<!ELEMENT REQUEST (DATETIME, USER_LOGIN, RESOURCE, PARAM_LIST?,
POST_DATA?)>
<!ELEMENT DATETIME (#PCDATA)>
<!ELEMENT USER_LOGIN (#PCDATA)>
<!ELEMENT RESOURCE (#PCDATA)>
<!ELEMENT PARAM_LIST (PARAM+)>
<!ELEMENT PARAM (KEY, VALUE)>
<!ELEMENT KEY (#PCDATA)>
<!ELEMENT VALUE (#PCDATA)>
<!-- if returned, POST_DATA will be urlencoded -->
<!ELEMENT POST_DATA (#PCDATA)>
<!ELEMENT RESPONSE (DATETIME, (CONTROL_LIST|ID_SET)?, WARNING?)>
<!ELEMENT CONTROL_LIST (CONTROL+)>
<!ELEMENT CONTROL (ID, UPDATE_DATE, CREATED_DATE, CATEGORY, SUB_CATEGORY,
STATEMENT, TECHNOLOGY_LIST, FRAMEWORK_LIST?)>
<!ELEMENT ID (#PCDATA)>
<!ELEMENT UPDATE_DATE (#PCDATA)>
<!ELEMENT CREATED_DATE (#PCDATA)>
<!ELEMENT CATEGORY (#PCDATA)>
<!ELEMENT SUB_CATEGORY (#PCDATA)>
<!ELEMENT STATEMENT (#PCDATA)>
<!ELEMENT TECHNOLOGY_LIST (TECHNOLOGY+)>
<!ELEMENT TECHNOLOGY (ID, NAME, RATIONALE)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT RATIONALE (#PCDATA)>
<!ELEMENT FRAMEWORK_LIST (FRAMEWORK+)>
<!ELEMENT FRAMEWORK (ID, NAME, REFERENCE_LIST)>
<!ELEMENT REFERENCE_LIST (REFERENCE+)>
<!ELEMENT REFERENCE (SECTION, COMMENTS)>
<!ELEMENT SECTION (#PCDATA)>
<!ELEMENT COMMENTS (#PCDATA)>
<!ELEMENT ID_SET (ID|ID_RANGE)+>
<!ELEMENT ID_RANGE (#PCDATA)>
<!ELEMENT WARNING (CODE?, TEXT, URL?)>
<!ELEMENT CODE (#PCDATA)>
<!ELEMENT TEXT (#PCDATA)>
<!ELEMENT URL (#PCDATA)>
<!-- EOF -->
QualysGuard API リリースノート
8
Control List API に追加された日付フィルタ
コントロールリスト出力の例
例 1: 特定の日時以降に更新されたコントロールのフィルタ
この出力は、“ updated_after_datetime ”入力パラメータが指定されている場合に返されます。
<CONTROL_LIST_OUTPUT>
<REQUEST>
<DATETIME>2010-02-12T19:44:44Z</DATETIME>
<USER_LOGIN>acme_ab12</USER_LOGIN>
<RESOURCE>https://qualysapi.qualys.com/api/2.0/fo/compliance/control/
</RESOURCE>
<PARAM_LIST>
<PARAM>
<KEY>action</KEY>
<VALUE>list</VALUE>
</PARAM>
..........
<PARAM>
<KEY>updated_after_datetime</KEY>
<VALUE>2010-01-01</VALUE>
</PARAM>
</PARAM_LIST>
</REQUEST>
<RESPONSE>
<DATETIME>2010-02-12T19:44:44Z</DATETIME>
<CONTROL_LIST>
<CONTROL>
<ID>1044</ID>
<UPDATE_DATE>2010-01-10T00:00:00Z</UPDATE_DATE>
<CREATED_DATE>2010-01-10T00:00:00Z</CREATED_DATE>
<CATEGORY>Access Control Requirements</CATEGORY>
.........
例 2: 特定の日時以降に作成されたコントロールのフィルタ
この出力は、“ created_after_datetime ”入力パラメータが指定されている場合に返されます。
<CONTROL_LIST_OUTPUT>
<REQUEST>
<DATETIME>2010-02-12T19:44:44Z</DATETIME>
<USER_LOGIN>acme_ab12</USER_LOGIN>
<RESOURCE>https://qualysapi.qualys.com/api/2.0/fo/compliance/control/
</RESOURCE>
<PARAM_LIST>
<PARAM>
<KEY>action</KEY>
<VALUE>list</VALUE>
QualysGuard API リリースノート
9
Control List API に追加された日付フィルタ
</PARAM>
..........
<PARAM>
<KEY>created_after_datetime</KEY>
<VALUE>2010-01-01</VALUE>
</PARAM>
</PARAM_LIST>
</REQUEST>
<RESPONSE>
<DATETIME>2010-02-12T19:44:44Z</DATETIME>
<CONTROL_LIST>
<CONTROL>
<ID>1044</ID>
<UPDATE_DATE>2010-01-10T00:00:00Z</UPDATE_DATE>
<CREATED_DATE>2010-01-10T00:00:00Z</CREATED_DATE>
<CATEGORY>Access Control Requirements</CATEGORY>
........
QualysGuard API リリースノート
10