Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【勉強会資料】ネットワークアクセス制御(管理編) for PCI DSS

1,740 views

Published on

【勉強会資料】ネットワークアクセス制御(管理編) for PCI DSS

Published in: Technology
  • Be the first to comment

【勉強会資料】ネットワークアクセス制御(管理編) for PCI DSS

  1. 1. ネットワークアクセス制御 管理編 クラスメソッド株式会社 AWS事業本部 2019/08/05 Nobuhiro Nakayama 1
  2. 2. 2目次 AWSによる構成管理 サードパーティサービスによる構成管理(Dome9の場合) まとめ
  3. 3. 3 AWSによる構成管理
  4. 4. 4AWSによる構成管理 関連サービス一覧 • CloudTrail • Config • CloudWatch Events • Config Rules • Security Hub • CloudFormation • (IAM)
  5. 5. 5CloudTrail API CallによるAWSリソースへの操作ログを取得できるサービス {"Records": [{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn:aws:iam::123456789012:user/Alice", "accessKeyId": "EXAMPLE_KEY_ID", "accountId": "123456789012", "userName": "Alice" }, "eventTime": "2014-03-06T21:22:54Z", "eventSource": "ec2.amazonaws.com", "eventName": "StartInstances", "awsRegion": "us-east-2", "sourceIPAddress": "205.251.233.176", "userAgent": "ec2-api-tools 1.6.12.2", "requestParameters": {"instancesSet": {"items": [{"instanceId": "i-ebeaf9e2"}]}}, "responseElements": {"instancesSet": {"items": [{ "instanceId": "i-ebeaf9e2", "currentState": { "code": 0, "name": "pending" }, "previousState": { "code": 80, "name": "stopped" } }]}} }]}
  6. 6. 6Config AWSリソースに加えられた変更を取得できるサービス • 特定のリソースの構成情報(他のAWSリソースとの関係を含む)を取得 • 構成情報の変化を取得 • Security Groupを含む多くのリソースの構成管理をサポート • https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/resource- config-reference.html • 要件1.1.1.cに寄与?
  7. 7. 7Config 変更の時系列を確認可能
  8. 8. 8Config 変更前 変更後
  9. 9. 9CloudWatch Events イベントをトリガーに様々なアクションを実行可能 • 例:Security Groupの変更を通知 • 計画外の変更であれば、CloudTrail / Configから作業実施者や作業内容を特定
  10. 10. 10Config Rules AWSリソースが基準から外れていることを検知・是正できるサービス • 多数のマネージドルール(Lambdaで独自のルールを実装することも可能) • SecurityHubを有効化するといくつかのルールが自動作成 • Systems Manager Automationによる自動是正も可能
  11. 11. 11Config Rules マネージドルールの例 • vpc-default-security-group-closed • 「いずれの Amazon Virtual Private Cloud (VPC) のデフォルトのセキュリティグルー プでもインバウンドとアウトバウンドのいずれのトラフィックも許可しないことを確認 します。」 • https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/vpc-default-security-group- closed.html • 要件1.2.1および1.1.6に寄与?
  12. 12. 12Config Rules 是正処理の例(Systems Manager Automation) • AWS-DisablePublicAccessForSecurityGroup • 「このドキュメントは、すべての IP アドレスに対して開かれているデフォルトの SSH および RDP ポートを無効にします。」 • https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/automation-aws- disablepublicaccessforsecuritygroup.html
  13. 13. 13Config Rules(評価) 違反を検出
  14. 14. 14Config Rules(是正) 是正アクションを指定
  15. 15. 15Security Hub セキュリティリスクの評価、セキュリティリスク情報を集約 • AWSのセキュリティサービスおよびサードパーティーサービスとの連携して セキュリティイベントを集約 • CIS Benchmarkに対応したセキュリティリスク評価 • 例:「4.3 – すべての VPC のデフォルトセキュリティグループがすべてのトラフィック を制限するようにします。」 • https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub- standards.html#securityhub-standards-checks-4.3 • 要件1.2.1に寄与?
  16. 16. 16Security Hub
  17. 17. 17CloudFormation AWSリソースの構成をコードとして管理できるサービス • JSONもしくはYAMLでインフラのあるべき「状態」を定義(テンプレート) • 定義に従ってAWSリソースをプロビジョニング(要件1.1.4に寄与) • プロビジョニングの手順は(基本的には)気にしなくてよい • プロビジョニング前にコードレビューすることが可能(要件1.1.1.aおよび 1.1.1.bに寄与?) • 本番環境と全く同じ環境を容易に構築可能(同上) • コードと実際の設定のズレ(ドリフト)を検出可能(要件1.1.7に寄与?)
  18. 18. 18CloudFormation(テンプレート) InstanceSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Allow http to client host VpcId: Ref: myVPC SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 CidrIp: 0.0.0.0/0 SecurityGroupEgress: - IpProtocol: tcp FromPort: 80 ToPort: 80 CidrIp: 0.0.0.0/0
  19. 19. 19CloudFormation(ドリフトの検出) 差分を検出
  20. 20. 20IAM AWSリソースに対する操作権限および認証情報を管理できるサービス • IAM Policyで管理に必要な権限を定義 • IAM GroupもしくはIAM RoleにPolicyをアタッチ • IAM UserをIAM Groupにアタッチ もしくはIAM UserをIAM Roleで信頼 • 要件1.1.5に寄与?
  21. 21. 21AWSサービスでできること(管理) 変更の承認およびテストをしやすいようにインフラをコード化できる (1.1.1.aおよび1.1.1.b) • コードレビューとして構成の正しさを評価できる • 本番環境と全く同じ環境をテスト環境として復元できる コード化された構成情報に基づいてSecurity Groupを含むAWSリ ソースをプロビジョニングできる(1.1.4) コード化していれば構成基準との差を検出できる(1.1.7) 実際に適用された構成変更を追跡もしくはニアリアルタイムで認識でき る(1.1.1.c) 管理者の役割に基づいて必要な権限だけを付与できる(1.1.5)
  22. 22. 22AWSサービスでできないこと(管理) ネットワーク図/データフロー図の作成(1.1.2および1.1.3) • マネージメントコンソールではリソース単体の設定を参照するのは容易 • ただし、システムの全体像を把握することが非常に困難 安全ではないプロトコル利用の把握/排除(1.1.6) • アクセス制御自体は可能だが、設定のリスク評価は独自実装が必要(Config Rulesのカスタムルールなど) • SSHおよびRDPを任意のIPアドレスから利用/(一部の)暗黙的な許可設定などの検出 はConfig Ruleのマネージドルール/Security Hub等で可能
  23. 23. 23 サードパーティサービスによる構成管理 (Dome9の場合)
  24. 24. 24Dome9ができること リスクの発見(是正を支援) & リスク発生の予防 / 統制
  25. 25. 25Dome9の主な機能 Cloud Inventory • リソースおよびポリシーの一覧の取得、フィルタリング Compliance & Governance • AWS環境のリスクを評価 Network Security • Security Groupの可視化および集中管理 IAM Safety • IAM Userに対して時限的に特権を付与 Log.ic(NEW) • AWS環境のアクティビティに対するリスクの評価および検知
  26. 26. 26 ネットワーク図/データフロー図の作成 (Clarity)
  27. 27. 27これが・・・ Security Group×2をアタッチ • 任意のIPアドレスからHTTP/HTTPSアクセスを許可 • 特定のIPアドレスからSSHアクセスを許可 Security Group×1をアタッチ • 前段のEC2インスタンスに割り当てたSecurity Group(1つ目)からTCP/3306アクセスを許可
  28. 28. 28こう見えます
  29. 29. 29データフローの確認にも Security Groupを選択 関連するインスタンスや ルールを確認 関連するIPアドレスやSecurity Groupが ハイライトされる
  30. 30. 30 安全でないプロトコル利用の把握/排除
  31. 31. 31Compliance & Governance 様々なセキュリティフレームワークが公開されている • Dome9は以下のフレームワークに基づくルールセットを提供 • CIS, NIST 800-53, PCI-DSS 3.2, HIPAA, GDPR, ISO27001, SOC2, NIST CSF v1.1, CSA CCM v3.0.1, Serverless Security • CLOUD SECURITY POSTURE REPOSITORY (CSPR) で評価ルールが公開 • https://gsl.dome9.com/ Compliance Engine Bundles & Rules https://helpcenter.dome9.com/hc/en-us/articles/360003963114-Compliance-Engine-Bundles-Rules
  32. 32. 32特定の要件に関連する評価ルールの絞り込み 要件による絞り込み ルールと関連する要件の表示 (1.3, 1.3.1, 1.3.2, 1.2.1)
  33. 33. 33Dome9で提供される評価ルール 要件1.1.6に関連するルールは以下の4つ • Ensure no security groups allow ingress from 0.0.0.0/0 to ALL ports and protocols • Ensure no security groups allow ingress from 0.0.0.0/0 to RDP (TCP:3389) • Ensure no security groups allow ingress from 0.0.0.0/0 to SSH (TCP:22) • Security Groups - with admin ports too exposed to the public internet SecurityGroup should not have inboundRules with [ scope='0.0.0.0/0' and portTo=0] SecurityGroup should not have inboundRules with [scope = '0.0.0.0/0' and port<=3389 and portTo>=3389] SecurityGroup should not have inboundRules with [scope = '0.0.0.0/0' and port<=22 and portTo>=22] SecurityGroup should not have inboundRules with [scope = '0.0.0.0/0' and port in (20, 21, 22, 23, 115, 137, 138, 139, 2049, 3389)]
  34. 34. 34 まとめ
  35. 35. 35まとめ AWSのサービスだけでもセキュアな構成を維持しやすくなる サードパーティのサービスを活用することで、もっと簡単に要件に対応 できるようになる • そもそも、そういったサービスを活用しなくてもいいようなシンプルな設計 を心がけるべき(人間に早すぎない設計を)
  36. 36. 36 実際の画面を見ながらディスカッション
  37. 37. 37

×