機密情報や重要なデータを扱うアプリケーションでは、情報の漏洩やデータが意図せずに更新されてしまうようなリスクを避けるためのセキュリティの強化が必要です。
ここでは、アプリケーションレベルでのセキュリティ強化として、注意すべき実装方法やセキュリティを高めるための設定について紹介します。
Forguncy Buildeの[アプリケーション設定]にはセキュリティを強化するためのオプション設定が用意されています。
セキュリティリスクを回避するために、以下のような機密情報をフロントエンドで保持する設計や実装は避けてください。
認証情報やAPIキーなどをリストビューやセルに表示する
認証情報やAPIキーなどをJavaScriptで操作する
データベース管理している機密情報(セッション情報やログイン情報など)をリストビューやセルに表示する
業務上取り扱う機密情報(顧客情報や社内機密データなど)をリストビューやセルに表示する
フロントエンドで扱うデータは必要最小限に留めるために、クエリー条件等を使用してページ上には必要なデータのみ表示されるようにします。
ユーザーが入力する値には、適切なデータの入力検証を設定します。また、テキストボックス型セルの[文字種の制限]を利用して、入力値を制限することも有効です。
サーバーサイドコマンドはURLを介して外部からも呼び出すことが可能です。そのため、悪意のあるアクセスを防ぐために適切に権限等の設定を行います。
データベースの更新や削除処理を行うサーバーサイドコマンドは、特定のユーザーのみが実行できるように、[アクセス許可の設定]から実行可能ユーザーの設定を行います。
サーバーサイドコマンドがアプリケーション内の他のサーバーサイドコマンドからのみ呼び出される場合、[非公開]に設定します。非公開に設定することで、URLを介して外部から呼び出されることを防ぎます。
サーバーサイドコマンドがURLを介して外部から呼び出される場合、[公開]に設定します。意図しないアクセスを防ぐためにOAuthによる認証設定を行うことを推奨します。設定はサーバー管理ポータルの[設定]-[セキュリティ]-[外部連携]-[新しいOAuthクライアント]で行います。