開発者データのセキュリティのベストプラクティス

開発者としてプラットフォームを使用する場合、データの機密性を考慮して、業界標準を満たすかそれを上回る方法でプラットフォームデータを保護する責任があります。以下に、開発者がプラットフォームデータのセキュリティ対策を決定する際に役立つと思われる重要な原則と業界のベストプラクティスを示します。これらのベストプラクティスはガイダンスとしてのみ提供されており、考えられるすべてのシナリオを網羅しているわけではない(また、網羅できない)ため、Metaのプラットフォーム利用規約に基づく義務を果たしていることを保証するものではありません。業界標準を満たしているまたはそれを上回っているかどうかは、アクセスする、または処理するプラットフォームデータの機密性と、各開発者の技術的状況によって異なります。

原則ベストプラクティス

通信(転送中のデータ)の安全を確保する

  • 信頼できる認証局(CA)を使用する
  • 認定資格が適切に設定されていることを確認する
  • 可能な限り最新バージョンのTransport Layer Security (TLS)を使用する
  • すべてのネットワーク接続に暗号化を強制適用する
  • ネットワーク接続で誤って平文データが送信されていないことを確認するためのテストを実施する
  • HTTPヘッダーのメタデータに個人情報が含まれていないことを確認する

保存中のデータの安全を確保する

  • 規定の暗号化を使用する。独自の暗号化を使用したりデータのエンコードや難読化に頼ったりしない
  • 利用可能なプラットフォームレベルのコントロールを有効にする
  • データが暗号化されていることを確認する
  • すべてのシステムをマルウェアから保護する

キーとパスワードを管理する

  • パスワードを平文のまま保存したり、コードに埋め込んだりしない
  • システムパスワードにベンダー提供のデフォルトを使用しない
  • 利用可能な場合はキー管理システムを使用する
  • キーのメンテナンス(割り当て、撤回、ローテーション、削除)用のシステムを用意する
  • 利用可能な場合は二段階認証を活用する
  • ユーザーに二段階認証をオプションとして提供する

アクセス制御とアカウント管理を実装する

  • 異なるアカウントと認証情報を使用して役割と機能を分離する
  • アカウントのメンテナンス(割り当て、撤回、アクセスと権限の確認、削除)用のシステムを用意する

アップデートとパッチを適用する

  • システムコードと環境を最新の状態に維持するためのシステムを用意する(サーバー、仮想マシン(VM)、ディストリビューション、ライブラリ、パッケージ、ウイルス対策ソフトウェア/プログラムなど)
  • 本番稼働向けのシステムのメンテナンスとパッチ適用のためのシステムを用意する。例:
    • コアライブラリ
    • ウェブサービス
    • 外向きサービス

モニタリングとログ

  • ユーザーデータへのアクセスを記録し、ユーザーデータの送信先と保存先を追跡するためのシステムを用意する
  • ユーザーデータがシステム(例: サードパーティやパブリックエンドポイント)から離れる場合の、ユーザーデータとキーポイントの転送をモニタリングする

アプリケーションセキュリティとAPIの保護

  • 以下の基本的なアプリセキュリティ対策に精通する
    • アクセス許可とデータのニーズを評価する(データアクセスを使用目的に合わせる)
    • APIとエンドポイントにデータ漏洩がないかテストする
    • サードパーティとの通信にデータ漏洩がないかテストする
    • デプロイ前にアプリとコードをスキャンして、一般的なセキュリティ上の欠陥がないかチェックする
  • 基本的なセキュリティ上の懸念に対処するための基本的なコーディング手法に精通する
  • セキュリティシステムとプロセスを定期的にテストする