📗
owasp-asvs-ja
  • OWASP Application Security Verification Standard ja
  • OWASP アプリケーションセキュリティ検証標準 5.0 日本語版
    • ヘッダ
    • 口絵
    • 序文
    • ASVS とは何か?
    • 監査と認証
    • バージョン 4.0 ユーザ向けのガイダンス
    • V1: エンコーディングとサニタイゼーション
    • V2: バリデーションとビジネスロジック
    • V3: Web フロントエンドセキュリティ
    • V4: API と Web サービス
    • V5: ファイル処理
    • V6: 認証
    • V7: セッション管理
    • V8: 認可
    • V9: 自己完結型トークン
    • V10: OAuth と OIDC
    • V11: 暗号化
    • V12: 安全な通信
    • V13: 構成
    • V14: データ保護
    • V15: セキュアコーディングとアーキテクチャ
    • V16: セキュリティログ記録とエラー処理
    • V17: WebRTC
    • 付録 A: 用語集
    • 付録 B: 参考情報
    • 付録 V: 暗号化標準
    • 付録 X: 推奨事項
  • OWASP アプリケーションセキュリティ検証標準 4.0 日本語版
    • ヘッダ
    • 口絵
    • 序文
    • ASVS の使い方
    • 監査と認証
    • V1: アーキテクチャ、設計、脅威モデリング
    • V2: 認証
    • V3: セッション管理
    • V4: アクセス制御
    • V5: バリデーション、サニタイゼーション、エンコーディング
    • V6: 保存時における暗号化
    • V7: エラー処理とログ記録
    • V8: データ保護
    • V9: 通信
    • V10: 悪意あるコード
    • V11: ビジネスロジック
    • V12: ファイルとリソース
    • V13: API と Web サービス
    • V14: 構成
    • 付録 A: 用語集
    • 付録 B: 参考情報
    • 付録 C: Internet of Things の検証要件
Powered by GitBook
On this page
  • 管理目標
  • V13.1 構成ドキュメント
  • V13.2 バックエンド通信構成
  • V13.3 シークレット管理
  • V13.4 意図しない情報漏洩
  • 参考情報

Was this helpful?

  1. OWASP アプリケーションセキュリティ検証標準 5.0 日本語版

V13: 構成

管理目標

箱から出してそのままのアプリケーションの構成がインターネット上で安全であるべきです。

この章ではアプリケーションの開発時に適用する構成とビルドおよびデプロイ時に適用される構成の両方を含む、これを実現するために必要なさまざまな構成に関するガイダンスを提供します。

これには、データ漏洩の防止、さまざまなコンポーネント間の通信の安全な管理、シークレットの保護方法などのトピックを含みます。

V13.1 構成ドキュメント

このセクションでは、アプリケーションが内部および外部のサービスと通信する方法についてと、これらのサービスにアクセスできないことによる可用性の損失を防ぐために採用する必要がある技法についてのドキュメント要件を提供します。また、シークレットに関する文書化も考慮します。

#
説明
レベル
#v5.0.be

13.1.1

アプリケーションのすべての通信が文書化されている。これには、アプリケーションが依存する外部サービスや、アプリケーションが接続する外部ロケーションをエンドユーザが提供できる可能性がある場合を含む必要がある。

2

v5.0.be-1.14.7

13.1.2

アプリケーションが使用する各サービスについて、ドキュメントでは同時接続最大数 (接続プールの制限など) と、その制限に達した際のアプリケーションの動作 (フォールバックやリカバリのメカニズムを含む) を定義し、サービス拒否状態を防いでいる。

3

v5.0.be-1.14.8

13.1.3

アプリケーションドキュメントでは、使用するすべての外部システムやサービス (データベース、ファイルハンドル、スレッド、HTTP 接続) のリソース管理戦略を定義している。これには、リソース解放手順、タイムアウト設定、障害処理、再試行ロジックが実装されている場合、再試行制限、遅延、バックオフアルゴリズムの指定を含む。同期 HTTP リクエストレスポンス操作では、短いタイムアウトを義務付け、再試行を無効にするか、再試行回数を厳しく制限して、連鎖的な遅延やリソース枯渇を防ぐ必要がある。

3

v5.0.be-1.14.9

13.1.4

アプリケーションのドキュメントでは、組織の脅威モデルとビジネス要件に基づいて、アプリケーションのセキュリティにとって重要なシークレットとそれらを入れ替えるスケジュールを定義している。

3

v5.0.be-1.14.10

V13.2 バックエンド通信構成

アプリケーションは、API、データベース、その他のコンポーネントを含む複数のサービスとやり取りする必要があります。これらはアプリケーションの内部とみなされるかもしれませんが、アプリケーションの標準アクセス制御メカニズムに含まれていないか、完全に外部かもしれません。いずれの場合も、これらのコンポーネントと安全にやり取りするようにアプリケーションを構成し、必要に応じて、その構成を保護する必要があります。

「安全な通信」の章では転送時の暗号化に関するガイダンスを提供していることに注意してください。

#
説明
レベル
#v5.0.be

13.2.1

API、ミドルウェア、データレイヤなど、アプリケーションの標準ユーザセッションメカニズムをサポートしていないバックエンドアプリケーションコンポーネント間の通信は認証されている。認証は、パスワード、API キー、特権アクセスを備えた共有アカウントなどの不変のクレデンシャルではなく、個別のサービスアカウント、短期トークン、証明書ベースの認証を使用する必要がある。

2

v5.0.be-14.7.1

13.2.2

ローカルまたはオペレーティングシステムのサービス、API、ミドルウェア、データレイヤなどのバックエンドアプリケーションコンポーネント間の通信は最小限の権限が割り当てられたアカウントで実行されている。

2

v5.0.be-14.7.5

13.2.3

サービス認証にクレデンシャルを使用する必要がある場合、コンシューマが使用するデフォルトクレデンシャル (root/root や admin/admin など) ではない。

2

v5.0.be-14.7.2

13.2.4

許可リストを使用して、アプリケーションが通信 (アウトバウンドリクエスト、データロード、ファイルアクセスなど) を許可される外部のリソースやシステムを定義している。この許可リストは、アプリケーション層、Web サーバ、ファイアウォール、または複数の層の組み合わせで実装できる。

2

v5.0.be-14.7.3

13.2.5

Web サーバまたはアプリケーションサーバはサーバがリクエストを送信したり、データやファイルをロードできるリソースやシステムの許可リストで構成されている。

2

v5.0.be-14.7.4

13.2.6

アプリケーションが個別のサービスに接続する場合、最大並列接続数、最大許容接続数に達した際の動作、接続タイムアウト、再試行戦略など、各接続について文書化された構成に従っている。

3

v5.0.be-14.7.6

V13.3 シークレット管理

シークレット管理は、アプリケーションで使用されるデータの保護を確保するために不可欠な構成タスクです。暗号に関する具体的な要件は「暗号化」の章にありますが、このセクションではシークレットの管理と取り扱いの側面に焦点を当てています。

#
説明
レベル
#v5.0.be

13.3.1

key vault などのシークレット管理ソリューションは、バックエンドシークレットを安全に作成、保管、アクセス制御、破棄するために使用している。これには、パスワード、鍵マテリアル、データベースやサードパーティシステムとの統合、時間ベースのトークンのための鍵やシード、その他の内部セキュリティ、API キーなどを含む。シークレットはアプリケーションのソースコードやビルド成果物に含めてはいけない。L3 アプリケーションでは、これには HSM などのハードウェア支援のソリューションを含む必要がある。

2

v5.0.be-14.8.1

13.3.2

シークレット資産へのアクセスは最小権限の原則に従っている。

2

v5.0.be-14.8.4

13.3.3

すべての暗号操作は、隔離されたセキュリティモジュール (vault やハードウェアセキュリティモジュールなど) を使用して実行され、鍵マテリアルがセキュリティモジュールの外部へ漏れないように安全に管理および保護している。

3

v5.0.be-14.8.2

13.3.4

シークレットはアプリケーションのドキュメントに基づいて有効期限が切れて入れ替えるように構成されている。

3

v5.0.be-14.8.3

V13.4 意図しない情報漏洩

不要なデータの開示を避けるために、本番用の構成を堅牢化する必要があります。これらの問題の多くは重大なリスクとして評価されることはほとんどありませんが、他の脆弱性と連鎖します。これらの問題がデフォルトで存在しない場合、アプリケーションを攻撃するハードルが上がります。

たとえば、サーバサイドコンポーネントのバージョンを非表示にしても、すべてのコンポーネントにパッチを適用する必要性がなくなるわけではありませんし、フォルダの一覧表示を無効にしても、認可コントロールを使用したり、パブリックフォルダからファイルを遠ざける必要性がなくなるわけではありませんが、ハードルを引き上げます。

#
説明
レベル
#v5.0.be

13.4.1

アプリケーションは .git や .svn フォルダなどのソース管理メタデータなしでデプロイされるか、またはこれらのフォルダが外部からもアプリケーション自体からもアクセスできない方法でデプロイされる。

1

v5.0.be-14.1.11

13.4.2

デバッグ機能の露出や情報漏洩を防ぐため、本番環境ではすべてのコンポーネントでデバッグモードが無効になっている。

2

v5.0.be-14.3.2

13.4.3

Web サーバは、明示的に意図されていない限り、ディレクトリリストをクライアントに公開していない。

2

v5.0.be-14.3.4

13.4.4

潜在的な情報漏洩を避けるため、本番環境では HTTP TRACE メソッドの使用はサポートされない。

2

v5.0.be-14.3.6

13.4.5

ドキュメント (内部 API など) および監視エンドポイントは明示的に意図されない限り公開していない。

2

v5.0.be-14.1.6

13.4.6

アプリケーションはバックエンドコンポーネントの詳細なバージョン情報を公開していない。

3

v5.0.be-14.3.3

13.4.7

意図しない情報、構成、ソースコードの漏洩を防ぐために、Web 層が特定のファイル拡張子を持つファイルのみを処理するように構成されている。

3

v5.0.be-14.3.5

参考情報

詳しくは以下の情報を参照してください。

PreviousV12: 安全な通信NextV14: データ保護

Last updated 10 days ago

Was this helpful?

OWASP Web Security Testing Guide 4.1: Configuration and Deployment Management Testing