web-dev-qa-db-ja.com

WebサイトをテストするためにユーザーIDとパスワードは必要ですか?

私たちはASP.NETで開発された多くのWebアプリケーションを持っている会社です。私たちのインターネットサービスプロバイダー(Telefonica)は、脆弱性を探すためにWebサイトをテストしたいと考えています。そのため、彼らは私たちに各Webサイトの資格情報(読み取り専用アクセス)を提供するように求めています。

Webサイトの脆弱性をテストするには、そのような情報をISPに提供する必要があると聞いたのは初めてです。脆弱性をテストするには、その貴重な情報を知らずにWebサイトを破壊またはハッキングする必要があるといつも思っていました。たぶん私は間違っています。

EDIT:

最後に、私は彼らがどのような種類の脆弱性テストを実行するのかを知っています。 Qualys Guard Scanを使用して、「認証済みスキャン」を実行します。初めて聞いたことがあります。 Qualys社によると、セキュリティの脆弱性を見つけるのに非常に役立ちます。

https://community.qualys.com/thread/11562

この種のスキャンの経験はありますか?

8
Delmonte

はい、ペンテスターが資格情報を要求するのは正常です(ただし、ISPはそれほどではありません)。

資格情報にアクセスしないと、アプリケーション全体を実際にテストすることはできません。資格情報を持たないユーザーは、1つのインターフェース(ログイン画面)とのみ対話できる必要があります。ただし、テスト資格情報があれば、すべてのフォーム、すべてのアップロード、アプリケーションのすべてのデータエントリポイントをテストできます。ユーザーがSQL挿入またはコマンドシェル呼び出しを実行できるかどうかを知りたいですか?

実際、ペンテスターは複数のアカウントを要求することが多く、サイトが異なる特権レベル(「管理者」と「ユーザー」)をサポートしている場合は、それぞれ1つずつ要求します。これにより、さまざまなレベルのアプリケーションアクセスをテストし、あるアカウントが別のアカウントに影響を与える何かを実行できるかどうかをテストできます。

さて、ISPがこれを実行している場合、資格情報なしで脆弱性スキャンが行われることを期待します。彼らが実際に適切なペンテストを行うために必要なお金を使っているのではないかと思います。これが定期的な自動テストである場合は、おそらく拒否します。これはペンテストではありません。しかし、おそらく何らかの形でそれを明らかにするかもしれないあなたの状況について知っておくべき多くがもっとあります。

16
gowenfawr

@gowenfawrが回答したように、プロのペンテスターがユーザーパスワードを要求するのは通常のことですが、次の質問をする必要があります。

  1. これらのユーザーに対してどのテストを実行しますか? (あなたは彼らが何をしているのか正確に知っています)。
  2. 私が提供する資格情報をどのように管理しますか? (したがって、資格情報を適切に保護するかどうかを知ることができます。
  3. これらの資格情報にはどのような特権が必要ですか? (そのため、可能な限り最小限の権限を与えることができます)。

次に、あなたは彼らに何を与えているのかを知っておくべきです:

  1. ペンテスター用の新しいユーザーを作成し、これらのユーザーを適切に監視する必要があります(何が起こっているかを把握できるようにするため)。
  2. テストを開始したらすぐにユーザーを利用できるようにする必要があります。ユーザーと調整する必要があります。
  3. テストの終了が報告されたらすぐにアカウントを削除する必要があります。
  4. 他?

また、侵入テスト、特にこれらのテストについての説明を追加して、あなたが言うように、一部のユーザーを取得したり、サービスなしでサービスにアクセスしたりできるように脆弱性を見つけようとします。しかし、彼らはまた、さまざまな種類のユーザーに対して禁止されているはずの操作を実行しようとする必要があります。つまり、通常のユーザーは管理特権を取得できません。そのため、Webアプリケーションでさまざまなユーザープロファイルをすべてテストする必要があります。

8
kiBytes