認証を使用すると、Web アプリケーションの詳細な評価を実行し、脆弱性を検出して評価できます。
Web アプリケーションの中には、その機能の主要な部分にアクセスするために認証が必要なものがあります。認証スキャンはログインページのような HTML フォーム認証、およびサーバベースの認証(HTTP Basic、Digest、NTLM、または SSL クライアント証明書)に対して設定することができます。巡回が完了するまで認証スキャンが認証された状態を維持できるように、セッション状態が監視されます。
Swagger/Open API ファイル認証用に Oauth2 もサポートされています。Oauth2 認証では、「Authorization Code」、「Implicit」、「Client Credentials」、「Resource Owner Password Credentials」の 4 つのグラントタイプがサポートされています。認証スキャンには、フォーム認証とサーバ認証または Oauth2 認証とサーバ認証のいずれかを組み合わせることができます。
同じ Web アプリケーションに対するスキャンを、異なる資格情報を使用して複数回行うことができます。例えば、異なる資格情報を使用して実行されたスキャンを区別する必要がある場合があります。これを行うために、“ Anonymous ”、“ User ”、“ Admin ”など各種の権限レベルに対処するための複数のレコードを定義できます。例えば“ User ”レコードは 300 件のリンクと 10 件の脆弱性を検出できますが、“ Anonymous ”レコードでは 100 件のリンクしか検出できず、脆弱性は検出できないことがあります。
フォーム/OAuth2 認証とサーバ認証の両方がサポートされています。認証レコードを作成するときに、フォームレコードまたは OAuth2 レコード(Swagger/Open API ファイル認証で使用)のいずれかを指定できます。認証レコードを作成するときに、フォームレコードではなく Oauth2 レコードを設定する場合は、フォームレコードタイプを「NONE」に設定します。Oauth2 レコードではなくフォームレコードを設定する場合は、OAuth2 レコードグラントタイプを「NONE」に設定します。
次のタイプのフォーム認証がサポートされます。
- HTML フォームベースの認証(標準ログイン)
- カスタムフォームフィールド(フォームにログインとパスワード以外のフィールド(顧客 ID など)が含まれる場合、カスタムフォームフィールドを使用できます)詳細
- ユーザのファイルシステムからアップロードされた Selenium スクリプト
OAuth2 では、1)「Authorization Code」、2)「Implicit」、3)「Client Credentials」、4)「Resource Owner Password Credentials」のグラントタイプがサポートされます。
サーバ認証のタイプでは、「Basic」、「Digest」、「NTLM」がサポートされます。
データに対する好ましくない効果や潜在的な悪影響を避けるために、アプリケーションへのアクセスが読み取り専用に限られた資格情報を使用することをお勧めします。
Web アプリケーションの設定と認証レコードへのアップロードで、Selenium スクリプトの使用がサポートされています。アップロードされたスクリプトは、Web アプリケーションのスキャン中に再生されます。具体的には次のことが可能です。
- 特定の知識やユーザとのやり取りが必要になるユーザ入力の組み合わせといった、複雑な手順を必要とする Web アプリケーションをスキャンするために記録された手順を再生できます。
- 一連のボタンのクリックやフォームへの記入など、記録された手順を再生できます。
- ログインと認証の要件を完了するために記録された手順を再生できます。
Selenium スクリプトを作成するには、Qualys Browser Recorder を使用します。
ログインフォームで使用されるユーザ名とパスワードをパラメータ化できるようになったため、ログインフォームのユーザ名とパスワードが変更されるたびにスクリプトを手動で編集する必要がありません。これにより、ユーザ名とパスワードの管理が簡素化されます。
認証レコードにタグを適用すると、他のユーザがそのレコードを使用できるようになります。認証レコードに適用されるタグと一致するタグがスコープ内にあるユーザは、Web アプリケーションでそのレコードを選択できるようになります。
マネージャユーザには、認証レコードの管理に関するすべての権限があります。それ以外のユーザについては、割り当てられるロールとパーミッションによって WAS 認証レコードのパーミッション(つまり作成、更新、削除の権限)が付与されるかどうかが決まります。ユーザに割り当てられているロールを表示するには、Administration ユーティリティに移動(アプリケーションピッカーから選択)して、対象となるユーザを表示/編集します。