Open2
APIのセキュリティについて(主にWeb)
経験領域の整理
OAuth認証
- リソースサーバーをAWSを利用して実装した
- クリティカルなシステムでは無い(予算の問題)ため、インスタンスを分けることはなかった
- その時利用したもの
- Microsoft ID プラットフォームと OAuth 2.0 認証コード フロー
- Spring Security を用いたが、当時は上記との連携については情報が不足していた
- JWTの解析とエラーログを中心に実装を完了させる
セキュリティトークンを利用
- 利用していたプラットフォームの仕組みを利用
- 主に CSRF 対策となる
- データ登録用のURLなどへの不正実行を防ぐ
- サーバー側でのトークンとの検証を行うことで不正なアクセスを許可しない仕組み
暗号化による対策
- 通信そのものを暗号化する
- データを暗号化する
- APIキーの盗難対策となる
- 相互認証TLS(mTLS)
- 一般的ではない?
APIの持つ脆弱性
- 用意されたプログラムの脆弱性を特定する必要がある
- 利用している周辺の情報に中止することが重要
- 行われる攻撃
- データの改竄
- 方法:スキーマの検証
- APIに対するリクエスト及びレスポンスの適切な検証
APIの利用制限、レート制限
- クウォータを利用して実行回数を制限
- スロットリング <ー 調査
- DOS、DDOS対策
APIゲートウェイ
- 認証の仕組みを外部に任せる
FAPI
- 金融でのセキュリティ標準仕様
- 調査
Oaths 2.0
-
調査参考にしたサイトの誤字だと思われる
認証のタイムアウト、無効化
- 端末を盗難された場合などへの対策
- パスワード認証の無効化
認可の適切な設定
ハードウェア、サーバ構成による対策
- WAFによるアクセス制御