この記事では、アクセス制御メカニズムが機能しなくなった場合のガイダンスを提供することに焦点を当てます。このガイダンスは、OWASP (Open Web Application Security Project) に基づいています。
安全でないオブジェクトの直接参照防止チートシート
-
Web オブジェクトのパラメーターは暗号化する必要があります。
-
セキュリティスキャナーは、ケースコード #100、#105、#107 でこのシナリオを検出するのに役立ちます。
-
すべてのオブジェクトが承認を検証することを確認します。
-
デプロイ時に既定のパラメーター暗号化キーを変更します。
AJAX セキュリティ チート シート
-
GeneXus Evolution 1 を使用する場合は、 [ Ajax Request Security ] プロパティが High に設定されていることを確認します。
-
GeneXus Evolution 2 を使用する場合は、 [ Javascript Debug Mode ] プロパティが No に設定されていることを確認します。
-
セキュリティスキャナーは、ケースコード #106 でこのシナリオを検出するのに役立ちます。
-
カスタムユーザーコントロールを使用する場合、AJAX リクエストのセキュリティを手動で高めます。
パスのトラバース
-
機密データを中間ファイルに格納することを避けます。HttpResponse データタイプを使用して、直接データを書き込んで送信することを検討してください。避けられない場合は、送信後にそれらのファイルがサーバーから消去されることを確認します。
-
必要最低限のアクセス許可でアプリケーションサーバーを構成し、HTTP/HTTPS で Temp メディアディレクトリーやその他の一時ディレクトリーを公開しないようにします。
-
外部ディレクトリー上でファイルを生成し、GeneXus プロシージャーでそれを返すことで、パスを避け、ファイルを取得する前に承認チェックを実行します。このプロシージャーは、パスを返さないようにするために、サーバー上のテーブル上でファイルに関連付ける識別子を受け取る必要があります。
-
アプリケーション上のファイル管理を確認します。
-
セキュリティスキャナーは、ケースコード #104、#109、#111、#112、#129、#132 でこのシナリオを検出するのに役立ちます。
-
GeneXus はクライアント側でデータを検証し、サーバー側で再度データを検証します。
-
GAM は、Web オブジェクトに対する承認を検証します。
-
各オブジェクトが、オブジェクトと各イベントに対して承認を検証することを確認します。
-
クライアント側でデータに対するアクセス制御を確認します。
GeneXus 18 Upgrade 1 以降で使用できます。