もた日記

くだらないことを真面目にやる

APIセキュリティチェックリスト(APIの設計, テスト, リリース時における、重要なセキュリティ対策チェックリスト)

API Security Checklist


github.com

GitHubのトレンドリポジトリを眺めていたらAPIセキュリティチェックリストというものがあった。

日本語訳も最近追加されたみたい。

API-Security-Checklist/README-jp.md at master · shieldfy/API-Security-Checklist · GitHub


内容は、

API Security Checklist

これはAPIの設計, テスト, リリース時における、重要なセキュリティ対策チェックリストです。


認証(Authentication)

  • Basic認証を使用してはならない。標準的な認証を使う。(例 JWT, OAuth)
  • 認証, トークン生成, パスワードの保管において車輪の再発明をしてはならない。
  • 最大ログイン試行回数 (Max Retry) と、jail featuresを使用する。
  • 全ての秘匿情報を暗号化する。

JWT (JSON Web Token)

OAuth

  • サーバサイドで常にredirect_uriを検証し、ホワイトリストに含まれるURLのみを許可する。
  • tokenではなく、codeでのやり取りを心がける。(response_type=tokenを許可しない)
  • OAuthの認証プロセスでのCSRFを防ぐため、stateパラメータはランダムなハッシュと合わせて使用する。
  • デフォルトのscopeを指定し、各アプリケーションでscopeパラメータを検証する。

…省略…

みたいなことが書いてあるので参考になるかも。