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

GuardDuty RDS Protection について/about-GuardDuty-RDS-Protection

emi
July 19, 2023

GuardDuty RDS Protection について/about-GuardDuty-RDS-Protection

2023/7/19 の JAWS-UG朝会 #47 で発表したスライドです。
https://jawsug-asa.connpass.com/event/274703/

[登壇レポート]「GuardDuty RDS Protection について」という内容で登壇してきました #jawsug_asa
https://dev.classmethod.jp/articles/jawsug-morning-47-report-about-guardduty-rds-protection/

emi

July 19, 2023
Tweet

More Decks by emi

Other Decks in Technology

Transcript

  1. GuardDuty RDS Protection について
    2023 年 7 月 19 日
    JAWS-UG 朝会 #47

    View Slide

  2. 2
    目次
    • Amazon GuardDuty とは(おさらい)
    • GuardDuty RDS Protection とは
    • GuardDuty RDS Protection の検出(finding)タイプに
    ついて
    • 検出後の対応
    • まとめ・所感
    AWS アーキテクチャアイコンが
    新旧入り混じってます
    すみません!

    View Slide

  3. 3
    Amazon GuardDuty とは
    (おさらい)

    View Slide

  4. 4
    Amazon GuardDuty とは
    • AWS アカウント内の異常なアクティビティを自動的に検出する
    • 様々なログを GuardDuty 側で自動収集
    • 利用者側でログを別途有効化する必要はない

    View Slide

  5. 5
    Amazon GuardDuty とは
    AWS アカウント内の異常なアクティビティを自動的に検出する
    →ふるまい検知
    いつもと違う動きを
    している奴がいるぞ…!

    View Slide

  6. 6
    Amazon GuardDuty とは
    AWS アカウント内の異常なアクティビティを自動的に検出する
    →ふるまい検知
    いつもと違う動きを
    している奴がいるぞ…!
    3rd Party 製品だと
    Acronis Cyber Protect、Cybereason EDR、CrowdStrike、Trend Micro Apex One、FFRI yarai など
    Amazon GuardDuty

    View Slide

  7. 7
    Amazon GuardDuty とは
    GuardDuty は検出に特化したサービスのため、検知した後は
    利用者自身が該当のリソースを停止・隔離したり被害範囲を特定して
    修復する必要がある 検出したので
    あとは頼む!
    うわ~
    今止めます~
    急げ~
    Amazon GuardDuty

    View Slide

  8. 8
    (余談)Amazon Inspector とは
    • Amazon Inspector とは
    • ソフトウェアの脆弱性や意図しないネットワーク露出がないか
    継続的にスキャンする脆弱性管理サービス
    攻撃されたら突破されそうな
    穴があるぞ…!
    Amazon Inspector

    View Slide

  9. 9
    (余談) GuardDuty or Inspector ?
    Amazon GuardDuty Amazon Inspector
    パッチは最新バージョンが適用されていて
    脆弱性はないけど、
    なんだか怪しいアクセスを繰り返しているぞ
    通常通り稼働しているけど、
    パッチが古くて脆弱性があるぞ

    View Slide

  10. 10
    Amazon GuardDuty とは
    • 検出には脅威インテリジェンスフィードや機械学習を使用する
    • 脅威インテリジェンスフィード
    • インターネット上で収集された脅威に関する情報を集めたデータベース
    やサービスのこと
    • 新しい脅威や攻撃方法、マルウェアの詳細、攻撃者の振る舞い、既知の
    悪意ある IP アドレスなどの情報が含まれる
    新しい脅威
    攻撃方法
    マルウェアの詳細
    攻撃者の振る舞い
    既知の悪意ある
    IP アドレス
    :
    脅威インテリジェンスフィード 機械学習
    通常と違うログを検出した
    今までにないアクセスがあった
    大量のログイン試行があった

    View Slide

  11. 11
    Amazon GuardDuty とは
    • 検出結果はコンソールの [Findings] (検出結果) ページ、AWS CLI、
    API を使用して表示および管理
    • 検出結果タイプ(finding types)
    • GuardDuty が検出した脅威の種類を表す分類
    検出結果タイプ

    View Slide

  12. 12
    (余談)Amazon GuardDuty とは
    • GuardDuty(ガードデューティ)
    • Guard:守り、見張り、監視、警護、保護、守衛、番人
    • a coast guard:沿岸警備隊
    • guardian:守護神、守護者
    • Duty:義務、義理、敬意、務め、職務、責務
    • call of duty:任務遂行
    • duty as a human:人間としての義務
    • I‘ll take over your duties.:君の職務を引き継ごう。

    View Slide

  13. 13
    Amazon GuardDuty とは
    GuardDuty

    View Slide

  14. 14
    GuardDuty RDS Protection とは

    View Slide

  15. 15
    GuardDuty RDS Protection とは
    • RDS に対するログインアクティビティを監視し、不審なログイン
    試行を検知する機能

    View Slide

  16. 16
    GuardDuty RDS Protection とは
    • GuardDuty RDS Protection を有効化するだけ、追加のリソース
    の作成等は不要
    • データベースのパフォーマンスに影響を与えない
    • 30 日間は無料で試用できる

    View Slide

  17. 17
    GuardDuty RDS Protection とは
    • 以下の場合、通常のログイン動作のベースラインを設定するため
    GuardDuty 側の学習期間が最大 2 週間必要
    • 最大 2 週間は異常なログインの結果が検出されない場合がある
    • 初めて GuardDuty RDS Protection を有効にする場合
    • 新しく作成されたデータベース インスタンスがある場合
    • 現時点で Aurora MySQL と Aurora PostgreSQL のみの対応とな
    っており、他の RDS DB エンジンは未対応
    • クエリ発行そのもの(不審なクエリ発行など)を検知する機能では
    ない

    View Slide

  18. 18
    GuardDuty RDS Protection とは
    • サポートされるデータベースエンジン
    • Provisioned インスタンスも Serverless インスタンスもサポート
    サポート対象エンジンバージョン
    Amazon Aurora DB エンジン
    2.10.2 以降
    3.2.1 以降
    Aurora MySQL
    10.17 以降
    11.12 以降
    12.7 以降
    13.3 以降
    14.3 以降
    Aurora PostgreSQL
    • 未サポートリージョン
    • Hyderabad、Spain、Zurich、UAE

    View Slide

  19. 19
    GuardDuty RDS Protection の
    検出(finding)タイプについて

    View Slide

  20. 20
    GuardDuty RDS Protection の検出(finding)タイプについて
    概要
    検出(finding)タイプ
    クレデンシャルアクセス 異常動作
    ログイン成功
    CredentialAccess:RDS/AnomalousBehavior.SuccessfulLogin
    AnomalousBehavior
    1
    クレデンシャルアクセス 異常動作
    ログイン失敗
    CredentialAccess:RDS/AnomalousBehavior.FailedLogin
    2
    クレデンシャルアクセス 異常動作
    ブルートフォース成功
    CredentialAccess:RDS/AnomalousBehavior.SuccessfulBruteForce
    3
    クレデンシャルアクセス
    悪意のある IP 発信者 ログイン成功
    CredentialAccess:RDS/MaliciousIPCaller.SuccessfulLogin
    MaliciousIPCaller
    4
    クレデンシャルアクセス
    悪意のある IP 発信者 ログイン失敗
    CredentialAccess:RDS/MaliciousIPCaller.FailedLogin
    5
    検出 悪意のある IP 発信者
    Discovery:RDS/MaliciousIPCaller
    6
    クレデンシャルアクセス
    Tor IP 発信者 ログイン成功
    CredentialAccess:RDS/TorIPCaller.SuccessfulLogin
    TorIPCaller
    7
    クレデンシャルアクセス
    Tor IP 発信者 ログイン失敗
    CredentialAccess:RDS/TorIPCaller.FailedLogin
    8
    検出 Tor IP 発信者
    Discovery:RDS/TorIPCaller
    9

    View Slide

  21. 21
    GuardDuty RDS Protection の検出(finding)タイプについて
    • Anomalous Behavior:異常動作、異常なふるまい
    • 通常と違うアクセス
    • Malicious IP Caller:悪意のある IP 発信者
    • Malicious:悪意がある、悪質な
    • 既知の悪意のある IP アドレスからのアクセス
    • Tor IP Caller:Tor の IP 発信者
    • Tor 出口ノードの IP アドレスからのアクセス
    • Tor については後ほど!

    View Slide

  22. 22
    GuardDuty RDS Protection の検出(finding)タイプについて
    CredentialAccess:RDS/AnomalousBehavi
    or.SuccessfulLogin(クレデンシャルアクセス
    異常動作 ログイン成功)
    ユーザーが異常な方法で RDS データベースに正
    常にログインしました。
    • 検出結果に関連する異常な動作に応じて重大
    度が変わる
    • 低–ユーザーがプライベート IP アドレスから
    ログインした場合
    • 中–パブリック IP アドレスからログインした
    場合
    • 高– パブリック IP アドレスからログイン試行
    失敗の一貫したパターンの後ログインが成功

    View Slide

  23. 23
    GuardDuty RDS Protection の検出(finding)タイプについて
    CredentialAccess:RDS/AnomalousBehavior
    .FailedLogin(クレデンシャルアクセス 異常動作
    ログイン失敗)
    異常なログイン試行の失敗が 1 回以上観察されま
    した。

    View Slide

  24. 24
    GuardDuty RDS Protection の検出(finding)タイプについて
    CredentialAccess:RDS/AnomalousBe
    havior.SuccessfulBruteForce(クレデン
    シャルアクセス 異常動作 ブルートフォース
    成功)
    異常なログイン試行の失敗の一貫したパター
    ンの後、異常な方法でパブリック IP アドレ
    スから RDS データベースに正常にログイン
    しました。

    View Slide

  25. 25
    GuardDuty RDS Protection の検出(finding)タイプについて
    CredentialAccess:RDS/MaliciousIPCaller.
    SuccessfulLogin(クレデンシャルアクセス 悪
    意のある IP 発信者 ログイン成功)
    ユーザーが既知の悪意のある IP アドレスから
    RDS データベースに正常にログインしました。

    View Slide

  26. 26
    GuardDuty RDS Protection の検出(finding)タイプについて
    CredentialAccess:RDS/MaliciousIPCaller.F
    ailedLogin(クレデンシャルアクセス 悪意のあ
    る IP 発信者 ログイン失敗)
    悪意のある IP アドレスから RDS データベース
    へのログインに失敗しました。

    View Slide

  27. 27
    GuardDuty RDS Protection の検出(finding)タイプについて
    Discovery:RDS/MaliciousIPCaller(検出
    悪意のある IP 発信者)
    悪意のある IP アドレスが RDS データベースを
    探査しましたが、認証は試みられませんでした。

    View Slide

  28. 28
    (補足)Tor の概要
    • Tor(トア、The Onion Router)
    • 匿名通信を可能にするソフトウェア
    • トラフィックを複数の中間ノードを経由してルーティングすることで
    通信元を特定することを困難にする
    • Tor ネットワークを経由して最終的に通信相手となる Web サーバーや
    ネットワーク機器を Tor 出口ノードという

    View Slide

  29. 29
    (補足)Tor の概要
    • Tor(トア、The Onion Router)
    • 匿名通信を可能にするソフトウェア
    • トラフィックを複数の中間ノードを経由してルーティングすることで
    通信元を特定することを困難にする
    • Tor ネットワークを経由して最終的に通信相手となる Web サーバーや
    ネットワーク機器を Tor 出口ノードという

    View Slide

  30. 30
    GuardDuty RDS Protection の検出(finding)タイプについて
    CredentialAccess:RDS/TorIPCaller.Succe
    ssfulLogin(クレデンシャルアクセス Tor IP
    発信者 ログイン成功)
    ユーザーが、Tor 出口ノードの IP アドレスから
    RDS データベースに正常にログインしました。

    View Slide

  31. 31
    GuardDuty RDS Protection の検出(finding)タイプについて
    CredentialAccess:RDS/TorIPCaller.Failed
    Login(クレデンシャルアクセス Tor IP 発信者
    ログイン失敗)
    Tor IP アドレスが RDS データベースへのログ
    インに失敗しました。

    View Slide

  32. 32
    GuardDuty RDS Protection の検出(finding)タイプについて
    Discovery:RDS/TorIPCaller(検出 Tor IP
    発信者)
    Tor 出口ノードの IP アドレスがアカウントの
    RDS データベースをプローブしましたが、認証
    の試行は行われませんでした。

    View Slide

  33. 33
    GuardDuty RDS Protection の検出(finding)タイプについて
    ここまでの検出タイプを見て
    何か気づきましたか?

    View Slide

  34. 34
    GuardDuty RDS Protection の検出(finding)タイプについて
    • RDS Protection で検出される場合、
    かなりセキュリテイ的に脆弱なアーキテクチャになっている可能性
    • セキュリテイグループのインバウンド通信は
    必要なポート・必要な IP アドレス範囲からのみ
    許可する
    • プライベートサブネットに配置する

    View Slide

  35. 35
    検出後の対応

    View Slide

  36. 36
    検出後の対応
    • ログインされていない(FailedLogin、Discovery)
    • 通信経路はあるが、まだクレデンシャルは漏洩していない
    • 通信経路の遮断
    • 必要なソースからのトラフィックのみを許可するように
    セキュリティグループルールを制限する
    • データベースを VPC 内のプライベートサブネットに配置する
    すぐできる!
    すぐやろう!

    View Slide

  37. 37
    検出後の対応
    • ログインされてしまった(SuccessfulLogin)
    • 通信経路があり、クレデンシャルも漏洩、データも侵害された可能性あり
    • 通信経路の遮断
    • クレデンシャルの変更
    • データがどこまで侵害されたか調査
    • 必要なソースからのトラフィックのみを許可するように
    セキュリティグループルールを制限する
    • データベースユーザーのパスワードを変更する
    • データベースを VPC 内のプライベートサブネットに配置する
    • 異常なユーザーによって実行されたアクティビティの利用可能な
    監査ログを確認する
    すぐできる!
    すぐやろう!

    View Slide

  38. 38
    検出後の対応
    • ログインされてしまった(SuccessfulLogin)
    • 通信経路があり、クレデンシャルも漏洩、データも侵害された可能性あり
    • 通信経路の遮断
    • クレデンシャルの変更
    • データがどこまで侵害されたか調査
    • 必要なソースからのトラフィックのみを許可するように
    セキュリティグループルールを制限する
    • データベースユーザーのパスワードを変更する
    • データベースを VPC 内のプライベートサブネットに配置する
    • 異常なユーザーによって実行されたアクティビティの利用可能な
    監査ログを確認する
    バックアップから新しい RDS DB インスタンスを
    プライベートサブネットに作成する方法もありますが、
    マルチ AZ 構成をうまく利用してフェイルオーバーさせるやり方がより簡単です。
    • Amazon RDS DB インスタンスをパブリックサブネットから同じ VPC 内のプライベ
    ートサブネットに移動する方法を教えてください。
    • https://repost.aws/ja/knowledge-center/rds-move-to-private-subnet
    • パブリックサブネットにあるRDSをプライベートサブネットに移動してみた
    • https://dev.classmethod.jp/articles/lim-rds-change-subnetgroup2-jp/
    ※通信断が発生します

    View Slide

  39. 39
    検出後の対応
    • ログインされてしまった(SuccessfulLogin)
    • 通信経路があり、クレデンシャルも漏洩、データも侵害された可能性あり
    • 通信経路の遮断
    • クレデンシャルの変更
    • データがどこまで侵害されたか調査
    • 必要なソースからのトラフィックのみを許可するように
    セキュリティグループルールを制限する
    • データベースユーザーのパスワードを変更する
    • データベースを VPC 内のプライベートサブネットに配置する
    • 異常なユーザーによって実行されたアクティビティの利用可能な
    監査ログを確認する
    検出されてからでは遅いので、
    あらかじめ監査ログの保存設定をしておくことを推奨します。
    • 既存の Aurora MySQL 互換クラスターの監査ログを有効化し CloudWatch Logs に出
    力して CloudWatch Logs Insights でログを抽出する(クエリする)方法
    • https://dev.classmethod.jp/articles/aurora-mysql-cluster-audit-logs-cloudwatch-logs-
    and-query-logs-with-cloudwatch-logs-insights/
    データベースの内容がクエリされたか?どのデータベースにクエリが実行された
    か?データを書き換えられていないか?新しいユーザーを作成されていないか?
    パスワードを変更されていないか?…など、影響範囲を確認

    View Slide

  40. 40
    まとめ・所感

    View Slide

  41. 41
    まとめ・所感
    • GuardDuty の概要をおさらい
    • Amazon Inspector のこともついでにちょっとおさらい
    • GuardDuty の名前の由来はちょっとかっこいい
    • GuardDuty RDS Protection は RDS へのアクセスを監視して
    異常なログインアクティビティを検知するもの
    • クエリ発行そのもの(不審なクエリ発行など)を検知する機能ではない
    • プライベートサブネットに RDS が配置されていれば
    RDS Protection の出番はあまりなさそう

    View Slide

  42. 42
    まとめ・所感
    • Tor についての概要
    • セキュリティは攻撃 First!
    (by パロアルトネットワークス CTO アジェイ ミスラ氏)
    • セキュリティ対策はどんな攻撃があるのか知ることから始まる
    • 今後みなさんが Tor を使うことが一生ないとしても、こういう攻撃がある
    ということを知ったので一歩前進しました

    View Slide

  43. 43
    ありがとうございました

    View Slide

  44. 44
    参考
    • Amazon GuardDuty とは
    • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/what-is-guardduty.html
    • GuardDuty RDS Protection
    • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/rds-protection.html
    • GuardDuty RDS Protection の検出結果タイプ
    • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/findings-rds-protection.html
    • 侵害されたデータベースの修復
    • https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty-remediate-compromised-database-rds.html
    • The Tor Project
    • https://www.torproject.org/
    • 入門Tor: Torのしくみと企業へのリスク
    • https://unit42.paloaltonetworks.jp/tor-traffic-enterprise-networks/
    • Tor 出口ノードの IP アドレス一覧
    • https://check.torproject.org/exit-addresses
    • Amazon GuardDuty RDS Protection の具体的な検出タイプを調査しました
    • https://dev.classmethod.jp/articles/guardduty-rds-protection-finding-types/
    • Amazon GuardDuty RDS Protection で Tor IP 検出タイプと Malicious IP 検出タイプを検知しました~その他の検出タイプはサンプルを出力しました
    • https://dev.classmethod.jp/articles/guardduty-rds-protection-torip-finding-types-maliciousip-finding-types-sample/

    View Slide