Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20250116_JAWS_Osaka

 20250116_JAWS_Osaka

Takuya Yonezawa

January 11, 2025
Tweet

More Decks by Takuya Yonezawa

Other Decks in Technology

Transcript

  1. 1 © 2025 Japan Digital Design, Inc. Takuya Yonezawa 2025.01.16

    サーバレスアプリケーションを セキュアにするために考える 12 のコト JAWS-UG大阪 決してエントリー枠 間違えたわけじゃないです!
  2. 2 CONFIDENTIAL © 2025 Japan Digital Design, Inc. 米澤 拓也

    Software Engineer Technology & Development Div. 前職ではCCoE、現職ではSoftware Engineer フロント/バックエンドの実装からインフラ構築など何でもやってます JAWS DAYS2025/ JAWS DAYS2024 / PANKRATION2024 の運営(WEB) Fin-JAWSの運営もやってます 奈良 大阪の2拠点生活 好きなAWSサービスは CloudFront、Lambda プロフィール ダウンタウンで買った某Cap 実家は奈良の米農家 よねざわです
  3. 3 © 2025 Japan Digital Design, Inc. [SVS307] Building secure

    serverless applications 現地で受けた↑のワークショップがとても良かったのでご紹介
  4. 4 © 2025 Japan Digital Design, Inc. 1. Cognitoによる認証認可 誰でもアクセスできるとマズイのでCognitoでAPI-GWに認証をつけよう

    認証前後にカスタムロジックをいれる場合はLambda Authorizer Lambda API-GW Cognito DynamoDB Authorizer
  5. 5 © 2025 Japan Digital Design, Inc. 2. Lambdaに過剰な権限はダメ Lambda

    Role IAM Access Analyzerの自動ポリシー生成機能 ABAC(リソースタグ)を用いたIAMロールのアクセス制限 Permission Boundaryも有用
  6. 6 © 2025 Japan Digital Design, Inc. 3. Verified Permissionsを用いたAPIアクセス制御

    Verified Permissionsを使ってAPIパスごとにアクセス権限の分離 Lambda API-GW Cognito Verified Permissions DynamoDB Permission Policy Lambda Company A Group Company B Group /api/company/A/xxx /api/company/B/xxx /api/company/C/xxx
  7. 7 © 2025 Japan Digital Design, Inc. 4. SecretManager使おうぜ アプリケーションコードにシークレット情報ベタ書きはダメよ

    Secrets Magerの値をキャッシュしてコスト削減もしようね Lambda Secrets Manager Aurora user: xxx password: hogehoge
  8. 8 © 2025 Japan Digital Design, Inc. 5. API Gatewayでの入力バリデーション

    変なリクエストは前段(API-GW)でブロック 正規表現やクエリパラメータ、ヘッダーも検証できるよ API-GW name: aaa birth: bbb address: ccc name: string birth: string address: string age: integer Lambda name: aaa birth: bbb address: ccc age: 100
  9. 9 © 2025 Japan Digital Design, Inc. 6. アプリケーションの依存ライブラリ脆弱性 npm

    auditコマンドでライブラリ脆弱性のチェックを ソフトウェアサプライチェーン攻撃 流行ってるからね npm audit
  10. 10 © 2025 Japan Digital Design, Inc. 7. InspectorによるLambdaの脆弱性スキャン Lambdaが使っているライブラリの脆弱性スキャン

    + Lambdaコードがベストプラクティスに沿っているかチェック Lambda Inspector 継続スキャン
  11. 11 © 2025 Japan Digital Design, Inc. 8. 通信の暗号化 Private

    Subnet内通信でも、規制要件によってはSSL通信が必要 みなさんやってます?? Lambda Aurora Private subnet VPC SSL 非SSL
  12. 12 © 2025 Japan Digital Design, Inc. 9. API Gatewayの実行計画

    APIキー(使用量プラン)を利用して、利用者ごとのAPI利用量を制御 Noisy Neighbor問題対策にも Lambda API-GW Cognito Authorizer Company A Group Company B Group Company B APIキー Company A APIキー req/min:10 req/sec:1 req/min:300 req/sec:20
  13. 13 © 2025 Japan Digital Design, Inc. 10. WAFで悪意のあるリクエストからガード 悪いことは言わないので、

    インターネットに接地するリソースにはWAFをアタッチしましょう URL特定されたらめっちゃアタックっぽいのが来ます API-GW WAF
  14. 14 © 2025 Japan Digital Design, Inc. 11. GuardDutyでLambdaのアクティビティ検知 GuardDutyは嫁

    と言ってる人もいるくらい重要 GuardDuty Lambda Protectionでネットワーク観点での保護 GuardDuty Lambda 不審なアクティビティを 検出 C&Cサーバへの通信 コインマイニング通信 ブラックホールIPへの通信 etc…
  15. 15 © 2025 Japan Digital Design, Inc. 12. X-Rayを用いたトレース アプリケーションの可観測性はSecurityの観点からも重要

    X-Rayはアプリケーション開発時にポチッと有効にするのを大原則に Lambda API-GW X-Ray X-Ray