Webアプリケーション診断マニュアル
ログイン、ログアウト
ログイン
トップページのログインフォームにて、ユーザ ID、パスワードを入力して「ログイン」ボタンを押してください。
初回ログイン時には、パスワードの変更が求められますので、初回パスワードとは別のパスワードを入力し、「パスワード変更」ボタンを押してください。
Info
ユーザID、初期パスワードが不明の場合は、管理者にお問い合わせください。
ログアウト
ログアウトする際は、ページ右上の「ログアウト」ボタンをクリックしてください。
ログイン後の画面
ログイン後の画面では、診断に必要な設定や診断の実行、診断結果の確認が可能です。
所有者確認待ち
メニューの「Webアプリケーション診断」-「所有者確認待ち」をクリックすると、「所有者確認待ち プロファイル一覧」が表示されます。
診断を実施するには指定されたドメインがユーザの所有物であるかを確認する必要があります。
確認するには以下のどちらかを実施します。
サーバにファイルを置くことによる確認
- 「トークン」ボタンをクリックします。
- 「トークンファイルをダウンロード」をクリックし、ダウンロードします。
- 診断対象ドメインにダウンロードしたトークンファイルを配置します。
- 「ファイル確認実行」ボタンをクリックし、「確認」ボタンをクリックします。
- トークンが一致した場合、所有者確認が完了し、診断メインページの表示が可能になります。
DNSよる確認
- 「トークン」ボタンをクリックします。
- 表示されたトークンを確認します。
- 診断対象ドメインのDNSのTXTレコードに確認したトークンを設定します。
- 「DNS確認実行」ボタンをクリックし、「確認」ボタンをクリックします。
- トークンが一致した場合、所有者確認が完了し、診断メインページの表示が可能になります。
診断メインページ表示
メニューの「Webアプリケーション診断」-「プロファイル一覧」をクリックすると、「プロファイル一覧」が表示されます。
「プロファイル一覧」より、診断を実施するプロファイル名をクリックすると、「登録サブプロファイル」が表示されます。
「登録サブプロファイル」より、診断を実施するサブプロファイル名をクリックすると、診断メインページに遷移します。
Info
診断メインページへの遷移は、「Webアプリケーション診断」-「サブプロファイル一覧」からも可能です。
サブプロファイル管理
「登録サブプロファイル」にて、サブプロファイルの登録や編集を行うことができます。
サブプロファイルは、パートナー管理者もしくは管理者によるプロファイル作成・登録の際に一つ作られますが、ユーザにて追加登録する事ができますので、診断対象URLを変更しての再度の診断や、名称の変更、また、時系列での診断結果を確認等に有用となります。
Warning
各サプロファイルでの診断実行により、プロファイルに登録されているライセンスの診断回数が一つ消費されることとなりますので、サブプロファイルを複数登録しての診断実行の際は、ライセンスの残数にご注意ください。
サブプロファイルの登録
「サブプロファイル登録」ボタンをクリックすると、「サブプロファイル登録」ダイアログが表示されます。
作成するサブプロファイルの名前を入力し、「登録」ボタンをクリックします。
サブプロファイルの編集
サブプロファイルの「編集」ボタンをクリックすると、「サブプロファイル編集」ダイアログが表示されます。
各項目の編集が終了したら「更新」ボタンをクリックします。
サブプロファイルのコピー
サブプロファイルの「コピー」ボタンをクリックすると、「サブプロファイルコピー」ダイアログが表示されます。
問題が無ければ「コピー」ボタンをクリックします。
サブプロファイルの削除
削除するサブプロファイルの「削除」ボタンをクリックすると、「サブプロファイル作治」ダイアログが表示されます。
問題が無ければ「削除」ボタンをクリックします。
Warning
サブプロファイルを削除した場合、そのサブプロファイルで実行した診断結果も削除されます。
Info
診断済みのサブプロファイルを削除しても、消費したライセンスが回復することはありません。
ログイン設定
診断メインページにて、「ログイン設定」をクリックすると、「ログイン設定」画面が表示されます。
ログインが必要なWebサイトを診断する際に、必要となるログイン設定を行います。
診断対象のWebサイトで、ログイン以降の画面も診断対象としたい場合には、以下で設定したログイン情報が使用されます。
ベーシック認証設定
「ベーシック認証」タブにて、ベーシック認証の設定を行います。
Info
サイト全体にベーシック認証が必要なサイトの場合は、「対象ディレクトリ」に「/」を設定してください。
Info
ディレクトリ毎に異なるベーシック認証が設定されている場合は、対象に合わせて複数の設定を登録してください。
ベーシック認証設定が不要になった場合は、「削除」ボタンをクリックして既存の設定を削除してください。
フォーム認証設定
診断対象のURLにログイン後の画面を含む場合フォーム認証設定が必要になります。
「フォーム認証」タブにて設定を行います。
「ログイン画面URL」に、ログイン画面のURLを入力し、「フォーム自動取得」ボタンをクリックしてください。
取得したパラメータにログインに必要な情報を入力し、「ログイン情報保存」ボタンをクリックしてください。
ログイン情報が保存されると、「ログイン確認」や「ログイン情報削除」が行えるようになります。
フォーム認証設定を再度行う場合は、「ログイン情報削除」ボタンをクリックして既存の設定を削除してから、再設定を行ってください。
ログインフォームを自動取得できない場合
ログインフォーム情報を自動で取得できない場合は、「手動設定」ボタンをクリックし、手動でログイン設定を行います。
下記の情報を入力し、「登録」ボタンをクリックしてください。
- ログイン画面URL:ログインフォーム画面URL
- ログイン送信先URL:ログインリクエストを送信するURL
表示される画面で、ログインに必要となる「パラメータ名」と「値」を手動で入力して、「ログイン情報保存」をクリックします。
ログインファイルアップロード
ログイン後に追加認証や画面遷移が必要な場合にログインファイルアップロードで対応が可能な場合があります。
「アップロード」ボタンをクリックすると「アップロード」ダイアログが表示されます。ログインリクエストを含めたログインファイルをアップロードし、「保存」ボタンをクリックしてください。
Note
ログインファイルの作成方法は本マニュアル記載のアップロード用ファイル作成方法をご参照ください。
診断カテゴリ設定
診断実行時に指定のカテゴリのみを診断したい場合には、必要なカテゴリだけを選択する事が可能です。
診断メインページにて、「診断カテゴリ設定」をクリックすると、「診断カテゴリ設定」」画面が表示されます。
診断カテゴリ内容において、「全選択」されている状態で一番上のチェックボックスをクリックすると全てのカテゴリが解除されます。「全解除」されている状態で一番上のチェックボックスをクリックすると全てのカテゴリのチェックが選択されます。必要カテゴリをチェック後、「保存」ボタンをクリックしてください。
また、任意のルール設定を選択後、「設定」をクリックすることで、既存のルールに合わせた診断カテゴリ内容に変更できます。
オプション設定
必要に応じて詳細なオプションを設定する事が可能です。必要が無い場合は設定する必要はありません。
診断メインページにて、「オプション設定」をクリックすると、「オプション設定」画面が表示されます。
必要な項目を入力し「保存」ボタンをクリックしてください。
設定 | 備考 |
---|---|
アクセス遅延時間(秒) | 自動クローリングや診断時に1リクエスト送信毎に待機する秒数 例:0.10秒 |
リクエストタイムアウト(秒) | レスポンスを待つ秒数の設定 例:10秒 |
同時実行数 | 診断時に多重で送信するリクエスト数を設定します。 デフォルトでは3重で診断を実施します。 |
プロキシサーバURL | 診断の際にプロキシサーバへの接続が必要な場合にここにURL、もしくはIPアドレスを指定します。 例: http://proxy.xxxxx.co.jp/ 例:212.132.42.xx |
プロキシポート | 接続するプロキシサーバのポートを指定します。 例:8080 |
一回の自動クローリングで収集するURLの上限 | 自動クローリングを実施したときに収集するURLの上限を変更できます。 例:1000 |
Cookieの診断を実施しない | Cookieに対して診断を行わないように設定します。通常はオフになっています。 |
トークン | パラメータにトークンを使用しているサイトの場合はここにトークンとなるパラメータ名をセットしてください。「,」区切りで複数指定可能です。 |
カスタムヘッダ設定 | クローリングや診断時のリクエストヘッダに、特定の設定を追加したい時に設定します。リクエストヘッダに同じキーがある場合、カスタムヘッダ設定が利用されます。 例:UserAgent: DoCoMo/2.0 P903i |
固定パラメータGET | 診断時、リクエストに指定したGETパラメータがある場合に値を上書きして送信します。 例:SEARCH=3,page=top |
固定パラメータPOST | 診断時、リクエストに指定したPOSTパラメータがある場合に値を上書きして送信します。 例:POPUP=1,action=register |
キーパラメータ | パラメータによってページの制御を行うサイトの場合、制御を行っているキーパラメータを設定します。自動クローリングや手動クローリングのURL重複判定の際、キーパラメータの値を参照するようになり、パラメータ値違いのページが一つにまとめられてしまうことを抑制できます。 例:action,do,page |
文字コード | 診断対象サイトの文字コード(空白の場合、自動認識された文字コードを使用) 例:utf-8 |
クローリング
診断実施の事前準備としてクローリングを行い、診断対象となるURL情報を収集します。
クローリングには、以下のように2種類の手法があります。
手法 | 説明 |
---|---|
手動アップロード | HARファイルやFiddlerログをアップロードすることにより、検査対象ページを登録する方式です。 |
自動クローリング | 自動で検査対象ページを登録する方式です。 パスとパラメータが同一のURLは一つにまとめ、URLの重複登録を防止します。その為、パラメータの値でページを切り替えるサイトの場合は「オプション設定」の「キーパラメータ」にキーとなるパラメータを設定する必要があります。 手動アップロード方式に比べて以下の制限があります。 ・ 文法的に問題のあるHTMLを出力する検査対象では、正しく検査対象ページを登録出来ない場合があります。 ・ JavaScript、ActiveX等、Webブラウザ内で動的に解釈される機能を必要とする検査対象については対応出来ません。 ・ Webブラウザとは異なる処理を行っているため、Webブラウザで問題無くアクセス可能であっても、自動クローリングでは正しくアクセスできない場合があります。 |
Note
クローリングの注意事項
・手動アップロードでは、アップロードファイルのサイズが大きい場合には処理に時間がかかる場合があります。
・手動アップロードでは、アップロードファイルを手動で編集をした場合など、正しく取り込めない場合があります。
・診断対象ページとして登録されるのは、診断対象として登録されているサイト下のページのみになります。対象URL以外のホストについても検査対象ページに登録する場合には、許可ホストの設定を本システムのシステム管理者にご依頼下さい。
収集したURLは、「URL確認」から確認できます。また、同画面より、収集したURLを診断対象から除外することができます。
手動アップロード
診断メインページにて、「手動クローリングファイルアップロード」をクリックすると、「手動クローリングファイルアップロード」ダイアログが表示されます。
「Browse」ボタンをクリックしてファイルを選択し、「アップロード」ボタンをクリックしてください。
アップロード用ファイル作成方法
HARファイル
各ブラウザでHARファイルを作成する方法を説明致します。
Google Chrome及びMicrosoft Edge
- ブラウザを起動します。
- F12キーを押し、「デベロッパーツール」を開きます。
- 「Network(ネットワーク)」タブを選択します。
- 「Preserve log(ログの保存)」チェックボックスをオンにします。
- 記録は自動的に開始していますので、診断対象にアクセスし、対象としたい各画面を遷移して回ります。
- 巡回が終了しましたら、「Network(ネットワーク)」タブ内で右クリックメニューを出し、「Save all as HAR with content(コンテンツを含むすべてをHARとして保存する)」を選択します。
- HARファイルを適当な場所に保存します。
Mozilla FireFox
- ブラウザを起動します。
- F12キーを押し、「デベロッパーツール」を開きます。
- 「ネットワーク」タブを選択します。
- 「Preserve log(ログの保存)」チェックボックスをオンにします。
- 「ネットワーク設定」(歯車アイコン)の「永続ログ」を選択して有効化します。
- 記録は自動的に開始していますので、診断対象にアクセスし、対象としたい各画面を遷移して回ります。
- 巡回が終了しましたら、「ネットワーク」タブ内で右クリックメニューを出し、「HAR形式ですべて保存」を選択します。
- HARファイルを適当な場所に保存します。
Fiddlerログ
Fiddler を使用した手動アップロード用のファイルの作成方法を説明致します。
-
Fiddler のインストール
下記サイトよりFiddler Classicをダウンロード後、インストールをして下さい。
-
プロキシサーバとしての受信ポートの確認・設定を行います。
- メニューから、Tools-->Options...を選択し、Options画面を開きます。
- Connectionsタブを選択します。
- Fiddler listens on portの入力欄に、Fiddlerがリッスンをする為に使用するポート番号が表示されていますので確認をして下さい。(デフォルトでは、8888となってい ますが、他のポート番号に変更する場合は、こちらの値を変更して下さい。)
-
イメージファイル及び、HTTPSコネクションのログのフィルタ設定
Fiddlerがキャプチャするパケットの中には、診断に必要の無いものも含まれます。以下の手順で、それらをフィルタリングするように設定してください。
- メニューから、Rules-->Hide Image Requestsを選択し、有効化します。
- メニューから、Rules-->Hide CONNECTSsを選択し、有効化します。
-
HTTPSトラフィック設定
Fiddlerのデフォルト設定ではHTTPS通信パケットをキャプチャしません。以下の手順で、それらをキャプチャできるよう設定してください。
- メニューから、Tools-->Options...を選択し、Options画面を開きます。
- HTTPSタブを選択します。
- Capture HTTPS trafficのチェックをオンにします。
- Dycrypt HTTPS trafficのチェックをオンにします。
- Actionボタンをクリックし、Trust root Certificateを選択し、Fiddlerのルート証明書をインストールします。
- OKボタンをクリックし、設定内容を保存します。
-
Fiddlerの再起動
Fiddlerの設定の一部は再起動によって活性化されます。設定の変更後は、必ずFiddlerの再起動を行ってください。
-
ブラウザのプロキシ設定
ブラウザには、Fiddlerをプロキシとして使用するための設定が必要となります。
ブラウザのプロキシ設定に、Fidderのアドレス(127.0.0.1)と、先に確認したポート番号を指定し、ブラウザのリクエストをキャプチャできるようにします。
Note
各ブラウザにおけるプロキシ設定方法に関しては、ブラウザのヘルプ等をご参照ください。
-
ブラウザで診断対象となるサイトを表示すると、Fiddlerにトラフィックのログが記録されていきます。
-
診断対象としたい画面全てにアクセスし、ログを残します。
-
メニューから、Edit-->Select Allでログの全てを選択します。
-
メニューから、File-->Save-->Selected Sessions-->as Test...を選択し、テキスト形式で保存します。
自動クローリング
診断メインページにて、「自動クローリング」をクリックすると、自動クローリングが開始できます。
クローリングの起点となるURLを「開始URL」に設定し、「実行」をクリックしてください。
自動クローリング実行中は「自動クローリング中」とステータス表示され、処理が終了すると「クローリング完了」と表示されます。
URLの除外・削除
クローリングにより収集したURLは、「URL確認」でご確認いただけます。
アップロードされたURLの中で、不要なURLが存在する場合は、該当の除外したいURLの一番左端にあるチェックボックスのチェックを外し「保存」ボタンをクリックする事で診断対象から除外する事が可能です。又、列名をクリックする事で、その列の値をキーとした診断結果のソートを行うことができます。
クローリングをやり直すため、既存の収集URLを削除したい場合は、「URL確認」から「全削除」ボタンをクリックしてください。
URL確認
診断メインページにて、「URL確認」をクリックすると、「URL確認」画面が表示されます。
Note
参照ユーザはこの操作を実行できません
診断対象一覧
診断対象のURLの一覧が表示されています。 URLのリンクをクリックすると、「リクエストURL詳細」画面に移動します。
リクエストURL詳細
「ステータスコード」「リクエストURL」「リクエストヘッダ」「リクエストボディ」を確認できます。
「リクエストURL」「リクエストヘッダ」「リクエストボディ」に関しては、内容を編集し「更新」ボタンをクリックする事で、診断時に送信するURLやヘッダー、パラメータ等を変更できます。
アクセス除外設定
クローリングや診断時に、対象から除外するURLを設定することができます。
「アクセス除外登録」をクリックすると、「アクセス除外・追加」ダイアログが表示されます。
「対象URL」に除外するURLを入力し、「登録」ボタンをクリックします。
Tip
この設定には正規表現を使用することができます。正規表現は<>内に記述してください。
【例 1】 ワイルドカード「*」同様の使用例http://localhost/info/<.*>/news.html
【例 2】数値6桁のパスにマッチする正規表現の設定例http://localhost/info/<\d{6}>/news.html
URL一覧ダウンロード
「URL一覧ダウンロード」をクリックすると、診断対象URLをタブ区切り形式ファイルとしてダウンロードできます。
ダウンロードしたファイルの「有効:1 除外:空白」列を変更してアップロードすることで、除外設定の一括変更を行うことができます。アップロード同ページ内の「手動クローリングファイルアップロード」より行ってください。
Note
ダウンロードしたファイルは、登録されているURLの除外設定を一括して行うためのものであり、このファイルに対象URLを記述しても手動クローリングファイルの代わりとすることはできません。
スケジュール設定
診断を指定時間に開始したい場合、「スケジュール設定」から設定を行います。
スケジュール一覧から「スケジュール登録」をクリックすると、「スケジュール登録」ダイアログが表示されます。
必要な項目を入力し「登録」ボタンをクリックしてください。
設定 | 備考 |
---|---|
開始日 | スケジューリングした診断を開始する日を設定します。「YYYY-MM-DD」のフォーマットで入力します。入力欄をクリックすることでカレンダーが表示されて、カレンダーから日付を挿入できます。 |
終了日 | スケジューリングした診断を終了する日を設定します。「YYYY-MM-DD」のフォーマットで入力します。入力欄をクリックすることでカレンダーが表示されて、カレンダーから日付を挿入できます。 |
開始時間 | 診断を開始する時間を設定します。「HH:MM:SS」のフォーマットで入力します。入力欄をクリックすることで時刻を選択し挿入できます。 |
スケジュール種別 | 診断を実行するタイミングを設定します。項目によっては別途入力、値の選択が必要になります。 毎日:毎日診断を行います。 毎週:選択した曜日に、毎週診断を行います。新しく追加されるメニューから、診断する曜日を選択してください。 毎月:選択した日に、毎月診断を行います。新しく追加されるメニューから、診断日を選択してください。 月末:毎月末に診断を行います。 指定日:指定した日に診断を行います。診断を行う日を入力してください。 |
Note
スケジューラは5分おきに実行されるため、開始時間は5分以上先の時刻を設定してください。
診断の開始
診断開始には、診断トップページから「スキャン開始」ボタンをクリックする事によって直接実行する「即時診断」と、あらかじめ登録したスケジュールに沿って定期的に診断をおこなう「スケジュール診断」があります。
「即時診断」はすぐに診断したい場合に使用し、「スケジュール診断」は公開中のサイトに対する定期チェックを行いたい場合などに使用します。
Note
診断元IPは「133.242.59.231」です。このIPに対して、アクセスを制限をしないようにしてください。
即時診断
診断トップページにて、「スキャン開始」をクリックすると、「診断開始」ダイアログが表示されます。
「実行」をクリックすると診断が始まります。
診断実行中は「Webアプリケーション診断中」と表示されます。
スケジュール実行
「スケジュール登録」によって登録されたスケジュールに従い、自動的に診断が開始されます。
診断実行中は「Webアプリケーション診断中」と表示されます。
診断結果の確認
実行した診断結果の確認をします。
履歴一覧の確認
診断トップページから「履歴一覧」をクリックすると、「診断履歴一覧」が表示されます。
過去に実行した診断のステータス、診断日時(開始~終了日時)、レベル別検出件数一覧等が確認できます。
診断結果の確認
「診断履歴一覧」から、診断結果を確認したい履歴の診断日時をクリックすると診断結果が表示されます。
カテゴリ別診断結果の確認
診断結果から、確認したいカテゴリをクリックすると、カテゴリ別の診断結果が表示されます。
カテゴリの説明と、検知対象に関する情報が確認できます。
診断結果詳細の確認
カテゴリ別診断結果から、詳細を確認したい検知対象をクリックすると、診断結果の詳細が表示されます。
診断結果の詳細なログ等が確認できます。
診断結果詳細には下記の情報が表示されています。
項目 | 説明 |
---|---|
HTTPメソッド/URL | 脆弱性が検出されたURL、及びHTTPメソッドが表示されます。 |
パラメータ | 脆弱性が検出されたパラメータです。 |
診断用文字列 | 脆弱性の検出に使用した文字列です。 |
レスポンスコード | HTTPレスポンスステータスによって脆弱性があると判断した場合にデータが表示されます。 |
ヘッダー | HTTPレスポンスヘッダによって脆弱性があると判断した場合にデータが表示されます。 |
コンテンツ | HTTPレスポンスボディによって脆弱性があると判断した場合にデータが表示されます |
response time | 診断サイトからレスポンスが返ってくるまでの時間です。 |
リクエストライン | 診断サイトに送信されたリクエストです。 |
リクエストヘッダ | 診断サイトに送信されたリクエストのヘッダーです。 |
リクエストボディ | 診断サイトに送信されたリクエストのボディです。 |
レスポンスコード | 診断サイトからのステータスコードです。 |
レスポンスヘッダ | 診断サイトからのレスポンスヘッダです。 |
レスポンスボディ | 診断サイトからのレスポンスボディです。このデータが Web ページの描画に使用されます。 |
対応状況設定
診断結果には攻撃可能な脆弱性以外に、実際には問題にならないと判断できるものや、明らかな過検知と判断できるものが含まれる場合があります。また、診断結果を受けて改修を行う際には、対応状況の管理も必要になります。
診断結果からカテゴリ別診断結果画面において、検知対象毎の対応状況セレクトボックスを選択することによって、「問題無し」「対応済」「過検知」の設定をすることが可能です。
Info
最新の診断結果に関しては、診断トップページに対応状況のとりまとめが掲載されます。
診断処理の緊急停止
処理中の診断は、診断トップページから緊急停止することができます。
診断トップページから、画面左上にある「緊急停止」ボタンをクリックすると、「緊急停止」ダイアログが表示されます。
緊急停止する場合は、「実行」ボタンをクリックしてください。
緊急停止後は、新たの操作を行うまで「緊急停止中」と表示されます。
管理メニュー
Note
ユーザ管理者以外のユーザは管理メニューを操作することは出来ません。
管理メニューからはユーザの登録やライセンスの管理等が行えます。
ユーザ
メニューから「管理」-「ユーザ管理」をクリックすると、「ユーザ管理」画面が表示されます。
ユーザ登録
「ユーザ登録」ボタンをクリックすると、「ユーザ登録」ダイアログが表示されます。
必要な情報を入力し、「登録」ボタンをクリックします。
ユーザタイプには下記4種類が存在します。
ユーザタイプ | 説明 |
---|---|
ユーザ管理者 | 診断設定や管理メニューへのアクセスが出来る管理者ユーザです。 |
ユーザ | 診断設定・診断実行・診断結果の閲覧ができるユーザです。 |
参照ユーザ | 診断結果の参照のみができるユーザです。 |
トライアルユーザ | 試用のためのユーザです。 |
ユーザ情報変更
ユーザ一覧から変更したいユーザの「編集」をクリックすると、「ユーザ編集」ダイアログが表示されます。
情報を編集したら「更新」ボタンをクリックします。
ライセンス
メニューから「管理」-「ライセンス管理」をクリックすると、ライセンス管理画面が表示されます。
自分が属しているグループに割り当てられているライセンス数と残実行ライセンス数、有効期間が確認できます。