利用者が実施する AWS上でのセキュリティ対策 初心者向けWebinarシリーズ アマゾン データ サービスジャパン株式会社 プロフェッショナルサービス本部 セキュリティコンサルタント 高田智己 2015.04.23 1 ご質問を受け付け致します! 質問を投稿することができます! • Adobe Connectのチャット機能を使って、質問を書き込んでく ださい。(書き込んだ質問は、主催者にしか見えません) • Webinarの最後に、可能な限り回答させていただきます。 • 終了時刻となった際は、割愛させていただく場合がございます。 ①画面右下のチャッ トボックスに質問を 書き込んでください 2 ②吹き出しマークで 送信してください 初心者向けWebinarのご紹介 • AWSについてこれから学ぶ方向けのWebinarです。 • 過去のWebinar資料 – AWSクラウドサービス活用資料集ページにて公開 http://aws.amazon.com/jp/aws-jp-introduction/ • イベントの告知 – 国内のイベント・セミナースケジュールページにて告知 http://aws.amazon.com/jp/about-aws/events/ (オンラインセミナー枠) 3 Introduction • 今回のAWS初心者向けWebinarでは、利用者が 実施すべきAWS上でのセキュリティ対策をご紹 介します。 • 特にAWSが提供する便利なセキュリティ機能の 活用の仕方をご紹介しますので、是非ご参考に して頂ければと思います。 4 Agenda • • • • • • • 5 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ Agenda • • • • • • • 6 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ セキュリティは大丈夫? 本当に大丈夫? やっぱり不安… 7 セキュリティは大丈夫?(セキュリティの考え方) =シェアード・レスポンシビリティ・モデル(共有責任モデル) Webサイト/アプリケーション これまでと同様の セキュリティを お客様、SI様で実現 = インフラ 高レベルの セキュリティをAWSが提供 8 Your Apps 第三者認証 < DC、電源、専用線、ネットワーク冗長化 セキュリティは大丈夫?(グローバルインフラ) GovCloud US West (US ITAR Region) (Northern California) US West US East (Oregon) AWS Regions AWS Edge Locations 9 Asia Asia Asia China South EU EU America (Ireland)(Frankfurt) Pacific Pacific Pacific (Beijing) (Northern Virginia) (Sao Paulo) (Singapore)(Tokyo) (Sydney) ※2015/04時点 詳細 http://aws.amazon.com/jp/about-aws/global-infrastructure/ セキュリティは大丈夫? (物理セキュリティ) • • Amazonは数年間にわたり、大規模なデータセンター を構築 重要な特性: – – – – • • • 10 場所の秘匿性 周囲の厳重なセキュリティ 物理アクセスの厳密なコントロール 2要素認証を2回以上で管理者がアクセス 完全管理された、必要性に基づくアクセス 全てのアクセスは記録され、監査対象となる 職務の分離 AWSコンプライアンス http://aws.amazon.com/jp/compliance/ AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701 セキュリティは大丈夫? (ネットワーク) 11 • Distributed Denial of Service (DDoS)対策: • 効果的かつ標準的な緩和対策を実施 • 中間者攻撃対策: • 全エンドポイントはSSLによって保護 • 起動時に新しいEC2ホストキーを生成 • IPなりすまし対策: • ホストOSレベルで全て遮断 • 許可されていないポートスキャニング対策: • AWSサービス利用規約違反に該当 • 検出され、停止され、ブロックされる • インバウンドのポートはデフォルトでブロックされているた め、事実上無効 • パケットの盗聴対策: • プロミスキャスモードは不許可 • ハイパーバイザ―レベルで防御 AWSコンプライアンス http://aws.amazon.com/jp/compliance/ AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701 セキュリティは大丈夫?(論理的セキュリティ) • ハイパーバイザー(ホストOS) – AWS管理者の拠点ホストからの個別のログイン – 全てのアクセスはロギングされ、監査されます • ゲストOS(EC2インスタンス) – お客様による完全なコントロール – お客様が生成したいキーペアを使用 • Firewall機能の標準提供 – AWS標準機能としてInbound/Outboundに対する Firewall – AWSのお客様の権限、責任で設定 12 AWSコンプライアンス http://aws.amazon.com/jp/compliance/ AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701 セキュリティは大丈夫?(データセキュリティ) • データを配置する物理的なリージョンはお客様が指定 • AWSは、法令遵守等やむをえない場合を除き、お客様のデータ を指定されたリージョンからお客様への通告なしに移動しない • お客様のデータが 権限のない人々に流出しないようにするスト レージ 廃棄プロセスを保持 • • • 13 DoD 5220.22-M(米国国防総省方式) – – 3回の書き込みでの消去を実施 固定値→補数→乱数 – – 情報処分に対する体制、運営やライフサイクルに関するガイドライン 情報処分に対しする組織的に取り組み NIST 800-88(メディアサニタイズのための ガイドライン) 上記の手順を用い ハードウェアデバイスが廃棄できない場合、 デバイスは業界標準の慣行に従って、消磁するか、物理的に破 壊する AWSコンプライアンス http://aws.amazon.com/jp/compliance/ AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701 セキュリティは大丈夫?(第三者認証) 多数の第三者認証の取得や保証プログラムへの準拠をしています。 14 AWSコンプライアンス http://aws.amazon.com/jp/compliance/ AWSのセキュリティとコンプライアンス http://www.slideshare.net/AmazonWebServicesJapan/aws-23722701 AWSセキュリティセンターとAWSコンプライアンス aws.amazon.com/jp/security aws.amazon.com/jp/compliance • セキュリティやコンプライアンス関する多くの質問に対する回答 • • • • セキュリティWhitepaper リスクとコンプライアンス Whitepaper セキュリティプロセス概要 Whitepaper “Security at Scale” whitepaper シリーズ • Security bulletins • 侵入テスト申請フォーム • Securityベストプラクティス • 詳しい情報のお問い合わせ先 15 では、どのようにAWSの機能を使用すればいいの? Webサイト/アプリケーション これまでと同様の セキュリティを お客様、SI様で実現 = インフラ 高レベルの セキュリティをAWSが提供 16 Your Apps 第三者認証 < DC、電源、専用線、ネットワーク冗長化 では、どのようにAWSの機能を使用すればいいの? AWSが提供するセキュリティ関連機能の使い方にフォーカス Webサイト/アプリケーション これまでと同様の セキュリティを お客様、SI様で実現 = インフラ 高レベルの セキュリティをAWSが提供 17 Your Apps 第三者認証 < DC、電源、専用線、ネットワーク冗長化 AWS上に構築した典型的な3層Webシステム 権限管理 18 NAT Public Subnet (DMZ) Public Subnet (DMZ) Private Segment (Web) NAT Web Private Segment (DB) Public Segment データ暗号化 Lo g Web Private Subnet Private Subnet Availability Zone Web 操作ログ Web Private Subnet Private Subnet Availability Zone リソース監視 通知 本セッションで取り扱うセキュリティ対策エリア ドメイン 内容 1 ネットワークセキュリティ ネットワーク設計(セグメンテーション等) Firewall等のACL実装 2 論理アクセス管理 IAMユーザーおよびIAMロールによる権限付与 パスワードポリシー 3 データの保護 データの暗号化 4 ログ・監視 ログの取得・管理 システム監視 注意)AWSで実装が可能なセキュリティ対策の範囲は上記に限りません。 AWSにおけるセキュリティの全容に関しては資料の最後にまとめた参考資料をご参照ください。 19 本セッションで取り扱うセキュリティ対策エリア Public Segment 【アクセス管理】 AWSアカウント・IAMユー ザーの管理。AWSリソース へのアクセス制御 Private Segment (Web) 【サブネット】 外部からアクセスできるサブ ネットと、外部からはアクセ スできないサブネットの作成 Private Segment (DB) 【ネットワークアクセス制御】 SecurityGroup及びNetwork ACLを使ってアクセス制御を実 施 20 権限管理 データ暗号化 NAT NAT Public Subnet (DMZ) Public Subnet (DMZ) Web Web Private Subnet Web 操作ログ Web Private Subnet リソース監視 Lo g Private Subnet Availability Zone Private Subnet Availability Zone 通知 【保管するデータの暗号化】 S3やEBS、RDSといったスト レージサービス上のデータを暗 号化 【AWS操作ログ】 AWS操作ログの取得(管理コン ソールやCLI含む) 【AWSサービス監視】 各種AWSサービス(ELB、RDS、 EC2等)のリソース監視 アジェンダ • • • • • • • 21 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ AWSアカウント登録について • Webフォーム上で数分程度の登録作業をするだけで、すぐさまAWS を利用可能 • AWSアカウント作成の流れ http://aws.amazon.com/jp/register-flow/ • AWSアカウント作成方法についての動画(日本語字幕付き) http://aws.amazon.com/jp/getting-started/ 22 AWSマネージメントコンソールにログイン • アカウント登録後にAWSのTopページへアクセス http://aws.amazon.com/jp/ • 登録したメールアドレス、パスワードでログインする 23 ログインが成功すると以下のサービスの一覧画面が表示される 今回主に紹介す るサービス 24 Amazon VPC(Virtual Private Cloud) • クラウド内にPrivateネットワークを構築可能 • 企業イントラの延長/1拠点としてAWSを利用 • リージョン内でAZをまたがって構築可能 リージョン VPN接続 専用線 イントラ 25 VPC Private Subnet 分離したNW 領域を作成 Public Subnet ゲートウェイ インターネット EC2 Amazon EC2(Elastic Compute Cloud) リージョン アベイラビリティ ゾーン A EC2 • • • 26 任意のゾーンに 1 分散配置可能 • 数分で起動可能な仮想サーバ 1時間ごとの従量課金で利用可能 スケールアップ/ダウン、アウト/インが • 即座に可能 アベイラビリティ ゾーン B EC2 Windows, Linuxなどx86-64アーキテ クチャのOS利用可能 – Windowsライセンスも従量課金 OS以上はお客様の自由 – お手持ちのソフトをそのまま利用 Amazon EBS(Elastic Block Store)ボリューム Region Availability Zone - a Availability Zone - b EC2 EC2 EBS EBS EBS EBS EBS EBS Snapshot Amazon Simple Storage Service (S3) 27 EC2インスタンスに仮想外付けされた ブロックレベルのストレージ サイズは1GB単位で~16TBまで サイズ/期間/IOで課金される 複数EBSを1 EC2インスタンスにアタッチ可能 1つのEBSを同時に複数のEC2インスタンスに attach不可 データは永続的に保存される アベイラビリティゾーン(AZ) に存在 他のEC2インスタンスに付け替え可能 暗号化オプション Amazon S3(Simple Storage Service) リージョン EC2 データを 自動複製 Availability Zone 低コスト セキュリティ アップロード無料 格納料金 1GB/月4円 (100円換算、2015/04時点) 耐久性 99.999999999%の耐久性 3か所以上への自動複製保存 インテグリティチェックおよび自動復旧 28 データ転送はすべてSSL通信 同一リージョン内のみでの保管 サーバサイド暗号化オプション(AES256) 柔軟性 格納容量無制限 多くの3rdベンダー製品がサポート Amazon Elastic Load Balancing (ELB) ~ AWSクラウド上のロードバランシングサービス ~ EC2 ELBで実現できるシステム スケーラブル : 複数のEC2インスタンスに負荷分散 高い可用性 : 複数のアベイラビリティゾーンにある複数のEC2インスタンス の中から正常なEC2インスタンスにのみ振り分け ELB自身の特徴 29 スケーラブル 安価な従量課金 運用管理が楽 豊富な連携機能 : : : : ELB自体も負荷に応じてキャパシティを自動増減 従量課金で利用可能 マネージドサービスなので管理が不要 Auto Scaling, Route 53, Cloud Formation… などと連携 EC2 Amazon RDS(Relational Database Service) • マネージドRDBMSサービス • バックアップやフェイルオーバーに対応したDBを数クリックで利用可能 • サポートRDBMS 30 AWS IAM (Identity and Access Management) • AWS操作をよりセキュアに行うための認証・認可の仕組み • AWS利用者の認証と、アクセスポリシーを管理 AWS操作のためのグループ・ユーザー・ロールの作成が可能 グループ、ユーザーごとに、実行出来る操作を規定できる ユーザーごとに認証情報の設定が可能 開発チーム 31 運用チーム AWS Key Management Service • 暗号鍵の作成、管理、運用サービス AWS管理コンソール、または API を使用した暗号化キーの一元管理 S3, EBS, Redshift, RDS等のAWSサービスとの統合 SDKとの連携でお客様の独自アプリケーションデータをも暗号化 AWS CloudTrail と連動したログの生成による組み込み型監査 可用性、物理的セキュリティ、ハードウェアの管理をAWS が担当す る完全マネージド型サービス – 低コストで使用可能 – 暗号化キーを保存および使用するための安全なロケーションを提供 – – – – – 32 Amazon CloudWatch AWSの各種リソースをモニタリングするためのWebサービス 状況を レポート CloudWatch 33 AWS CloudTrail ユーザによる APIの発行 34 各リージョンの AWSリソースの 呼び出し CloudTrailが APIコールを ロギング ユーザの操作 を管理 アジェンダ • • • • • • • 35 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ VPCで作成されるネットワーク例 Internetに出るための Gatewayや、専用線・ もしくはVPN接続する ためのGatewayを構成 可能 Internetにアクセスできる PublicなSubnetや、internet からはアクセスできない PrivateのSubnetを自由に構 成可能 Private Subnet Public Subnet Availability Zone Internet gateway VPCで利用するアドレ スレンジ(/16~/28)を 自由に指定 Public Subnet Private Subnet Availability Zone 36 初心者向けWebinar AWS上でのネットワーク構築 http://www.slideshare.net/AmazonWebServicesJapan/webinar-aws-43351630 複数のAZをまたがるネット ワーク構成にすることで高 可用性を維持できるように する。 セキュリティグループによるアクセスコントロール 各リソース間のアクセス制限にはセキュリティグループを利用しトラフィックを制限します。 • • • • • • • 37 個別の仮想サーバへのトラフィックを制限します。 インバウンドの制御、アウトバウンドの制御が可能です。 デフォルトは全拒否。 必要な受信アクセスに対してアクセスルールを定義します。 – プロトコル( TCP/UDP) – 宛先ポート – アクセス元IP / Security Group ルールをひとまとめにしたものをセキュリティグループと 呼びます。 後から仮想サーバに異なるセキュリティグループに変更したり、 複数のセキュリティグループを付与可能。即時反映されます。 システムの通信要件を確認し、全公開(0.0.0.0/32)は極力避け るようにします。 VPC のセキュリティグループ http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html ネットワークACLによるアクセスコントロール サブネット単位でベースラインとなるポリシーを設定する場合にはネットワークACLを適用します。 (データベース群を設置するサブネット間の通信などでは、ACLで通信を相互に許可します) • • • ポート25 (SMTP) EC2 • • VPC Subnet 38 サブネットに一つだけ適用するACL インバウンドの制御、アウトバウンドの制御が可能です。 ベースラインのポリシーを設定するのに適しています • 例)このサブネットからはTFTPやSMTPのトラフィックは 出ていかない サブネット間の通信のコントロールに適しています • 例)DMZとなるサブネットから直接DBが置かれているサブ ネットには通信できない シンプルなルール作りのためにはVPCから出ていく方向のポリシー に使用を検討します。 ネットワークACL http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_ACLs.html セキュリティグループとNACL セキュリティグループは、個別に許可するポート、Source、宛先を設定します。 拒否ルールをセキュリティグループで設定することはできないためその場合NACLの使用を検討します。 ネットワークACL 39 セキュリティグループ 各サブネットに設定 各インスタンス(ENI)に設定 ステートレス ステートフル AllowとDenyが設定可能(BlackListの作成が可能) Allowのみ設定(WhiteListの作成が可能) デフォルトDeny ルール順番通りに処理される 全てのルールが検証される • ベースラインのポリシーを設定するのに適している 例)このサブネットからはTFTPやSMTPのトラフィックは 出ていかない • サブネット間の通信のコントロールに適している 例)DMZとなるサブネットから直接DBが置かれているサブ ネットには通信できない • ネットワーク担当とサーバー担当の権限分掌にも利用可能 • サーバーの機能に応じたルールの作成 例)SMTPサーバー向けのSG • 用途に応じたルールの作成 例)管理用トラフィックのためのSG ログ機能はない ログ機能はない VPC のセキュリティ http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_Security.html 2つ以上のAZを持つAWSのリージョン Availability Zone 40 Availability Zone 2つのAZを跨いだVPCの作成 VPCのアドレスレンジの設定が可能 • 自身のプライベートな、隔離さ れたAWS上のネットワークの 作成 • 全てのVPCはプライベートアド レススペースを所有 • 例) 10.0.0.0/16 VPC A - 10.0.0.0/16 IPアドレッシングの戦略 • VPCのアドレス空間は設定後 は変更不可 • 既存環境のアドレス空間と重 ならないような考慮が必要 • アドレス空間を無駄にしない ように、しかし将来的な拡張 も考慮に入れる必要があり Availability Zone 41 Availability Zone 複数のサブネットでVPC内をセグメント化 作成したVPCの内部に自由にサブ ネットを作成可能 • アドレスレンジは設定後は変更 不可能 • VPCと同じように、将来の拡張 も考慮して設定する必要あり VPC A - 10.0.0.0/16 10.0.1.0/24 10.0.2.0/24 10.0.3.0/24 10.0.4.0/24 10.0.5.0/24 Availability Zone 42 10.0.6.0/24 Availability Zone EC2やAWSサービスの配置 ELB • ロードバランサー • Internetからのリクエストを Webサーバーに分散 VPC A - 10.0.0.0/16 NAT NAT 10.0.1.0/24 Web Web 10.0.3.0/24 10.0.2.0/24 Web Web 10.0.4.0/24 Lo g 10.0.5.0/24 Availability Zone 43 10.0.6.0/24 Availability Zone NATサーバー • WebサーバーがInternetに出 る際に経由するサーバー Webサーバー • ELB配下のWebサーバー • アクセスリクエストはELBを経 由するため直接Internetからア クセスできる必要はない RDS • DBサービス • 直接インターネットからはアク セスされない ルーティングによるセグメント化 VPC A - 10.0.0.0/16 Route Table A Destination Target 10.0.0.0/16 local 0.0.0.0 Internet Gateway Internet Gateway NAT NAT Public Subnet (DMZ) Public Subnet (DMZ) Route Table B Destination Target 10.0.0.0/16 local 0.0.0.0 i-XXXXXX (NAT) Route Table C Destination Target 10.0.0.0/16 local 44 Web Web Private Subnet Web Web Private Subnet Lo g Private Subnet Availability Zone Private Subnet Availability Zone ルーティングの設定 • トラフィックをコントロール するためのルーティングテー ブルをサブネットに追加 • Internet Gatewayにルーティ ングされるものはPublic Subnetに • デフォルトゲートウェイに NATを指定することで、 Private SubnetもNAT経由で Internetにアクセス可能 • インターネットゲートウェイ によるルーティングには Elastic IPかPublic IPがインス タンスにつけられている必要 がある セキュリティグループでサーバーを保護 Public Segment VPC A - 10.0.0.0/16 NATサーバーはWebサー バーからのみ利用可能 Private Segment (Web) WebサーバーはELBからの port80/443のみ接続可能 Private Segment (DB) DBにはWebサーバーからの み接続可能 45 Internet Gateway NAT NAT Public Subnet (DMZ) Public Subnet (DMZ) Web Web Private Subnet Web Web Private Subnet Lo g Private Subnet Availability Zone Private Subnet Availability Zone セキュリティグループ • インスタントレベルでの操作 • ALLOWルールのみのサポート • ステートフル • 各セキュリティグループで最 大50ルールまで • 必要なトラフィックのみ許可 し、極力どこからでもアクセ スできるというルールは使わ ない ネットワークACLによるVPC内の制御 VPC A - 10.0.0.0/16 Publicサブネット からの直接的な DBサブネットへ のアクセスの拒否 46 Internet Gateway NAT NAT Public Subnet (DMZ) Public Subnet (DMZ) Web Web Web Web Private Subnet Private Subnet Private Subnet Availability Zone Private Subnet Availability Zone NACLはオプション的な利用 • サブネットレベルでの適用 • ALLOW および DENY • ステートレス • サブネット内の全てのインス タンスに適用 • セカンドラインでの防御とし て利用 47 NAT Public Subnet (DMZ) Public Subnet (DMZ) Private Segment (Web) NAT Web Private Segment (DB) Public Segment ネットワークのセグメンテーションとアクセス制御の例 Lo g Web Private Subnet Private Subnet Availability Zone Web Web Private Subnet Private Subnet Availability Zone ネットワークセキュリティのまとめ 48 基本は自身のリソースの外部への不必要な露出を避けるネットワーク構成 サブネットとルーティングによるネットワークのセグメンテーションを行う PublicとPrivate Subnetの特徴と使い分け Security GroupとNetwork ACLの特徴と使い分け Security GroupやNetwork ACLを用いる際は不必要に全開放はせず、 Source/Destinationが絞れるか確認する アジェンダ • • • • • • • 49 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ IAMの機能 アカウントごとのユーザとグループの作成 セキュリティクレデンシャル(認証情報) – アクセスキー – ログイン/パスワード – 多要素認証デバイス(オプション) AWS account owner (master) Network management Security management AWS APIを使ったポリシーコントロールアクセス AWSマネージメントコンソールのユーザログオンサポート OSやアプリケーションレベルのログインではない。 50 AWS Black Belt Techシリーズ AWS IAM http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-iam Server management Storage management IAM動作イメージ 全操作可能 S3はすべて 操作可能 S3参照だけ 51 APIやマネジメントコンソールからの アクセスに対して、権限をチェック IAMでやっていただきたいこと AWSルートアカウントは極力使用しない AWSルートアカウントや特権を持つIAMユーザーアカウントにはMFAを利用する 利用者に対して個別のIAMユーザーを作成し、IAMグループで管理 強度の高いパスワードポリシーを設定する 認証情報は定期的に更新する EC2インスタンスにはIAM Roleを利用する 52 IAMのベストプラクティス http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/IAMBestPractices.html AWSルートアカウントは極力利用しない 53 AWSルートアカウントはIAMで設定するアクセ スポリシーが適用されない強力なアカウント 十分に強度の強いパスワードを設定した上、通 常は極力利用しないような運用を Security CredentialのページからAccess Keyの 削除(ただしAccess Keyを使用していないか確 認を行ってください) MFAによる高い権限を持つアカウントの保護 多要素認証(MFA)によるなりすましの防止 AWSルートアカウントはMFAで保護し通常利用しない運用に ハードウェア 54 ソフトウェア 製品 Gemalto Google Authenticator Authenticator AWS Virtual MFA 形式 トークン型/カード型 スマホアプリ コスト 有料(2,000円程度) 無料 保管 持ち歩くことも可能だし、金庫など に厳重に保管も可能 常に持ち歩く 交換 紛失/故障時は、再登録 交換時のために予備の準備が必要 紛失/機種変更時は、再登録 セキュリティ デバイス内に閉じているため一般的 に高い 複数デバイス登録できたりもするため、 登録時のセキュリティ担保が必要 Multi-Factor Authentication http://aws.amazon.com/jp/iam/details/mfa/ 個別のIAMユーザーを作成し、IAMグループで管理 利用者に対しては個別のIAMユーザーを作成し、共有するような運用は極力避けてください。 IAMユーザーはIAMグループに所属させ、権限の付与はIAMグループに対して行うと便利です。 • IAMユーザー:AWS操作用のユーザー • IAMグループ:IAMユーザーをまとめるグループ • IAMポリシー:AWSのサービスの操作に対する権限設定、IAMユーザーやIAMグループ等に 対して付与する IAMユーザー IAMポリシー ①直接IAMポリシーを付与するパ ターン 55 IAMユーザー IAMグループ IAMポリシー ②IAMグループにIAMポリシーを付与し、IAMユーザーがそれ に属するパターン IAMポリシー IAMグループ ③IAMポリシーを複数のオブジェクトに 付与するパターン 強度の強いパスワードポリシーの利用 AWSの管理コンソールにログインするために必要となるIAMユーザーのパスワードには以下のような パスワードポリシーを持たせることが可能です。 • Minimum password length(パスワードの最小文字数) • Require at least one uppercase letter(大文字英字の要求) • Require at least one lowercase letter (小文字英字の要求) • Require at least one number(数字を含めることの要求) • Require at least one non-alphanumeric character (特殊文字の要求) • Allow users to change their own password (ユーザー自身によるパスワード変更の許可) • Enable password expiration (パスワードの有効期限の設定) • • Password expiration period (in days) Prevent password reuse (パスワードの再利用の制限) • Number of passwords to remember • Password expiration requires administrator reset (パスワードが期限切れになった場合管理者によるリセットの有無) 本ポリシーはAWSルートアカウントには適用されないので注意が必要です。 56 認証情報の定期的なローテーション IAMユーザーのパスワードやAccess Key/Secret Access Keyは定期的にローテー ションすることを推奨 認証情報の利用状況はIAMのCredential Report 機能で確認可能 57 ユーザーの作成日時 最後にパスワードが使われた日時 最後にパスワードが変更された日時 MFAを利用しているか Access KeyがActiveか Access Keyのローテートした日時 Access Keyを最後に使用した日時 Access Keyを最後に利用したAWSサービス 証明書はActiveか 証明書のローテートした日時 IAMユーザーのパスワードローテーション 58 IAMのパスワードポリシーでユー ザーがパスワードを変更できるよ うに設定 パスワードに有効期限を設けるこ とで利用者が自分で定期的にパス ワードをローテーションできるよ うにする Access Keyのローテーション 59 IAMユーザーのSecurity CredentialのAccess KeysからManage Access Keysを選択 Create Access Keyで新しい認証情報の作成 (2つまで) 新しい認証情報でテストを行い、古 いAccess KeyはInactiveにする 万が一問題が起きた時は再び Activateすることが可能 認証情報の更新 http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/Using_RotatingCredentials.html Access Keyに関する注意点 • Access Key/Secret Access Keyは以下の場所に は決しておかないこと – GitHub – Pastebin – カスタムAMIの中 – ドキュメント中 (プリントしないように) – メールのような暗号化できない電子メディア 60 EC2にはIAMロールの利用 EC2のようなAWSサービスに対してAWS操作権限を付与するための仕組み。IAMユーザーの認証情報のようなものをOS/アプ リケーション側に持たせる必要がなく、認証情報の漏えいリスクが低くなります。IAMロールによる認証情報はAWSが自動的 にローテーションされます。 IAMユーザー利用 IAMロール利用の利点 • EC2上のアクセスキーの管理が容易 • 自動的に認証情報のローテーション が行われる • EC2上のアプリケーションに最低権 限を与えることに適している • AWS SDK及びAWS CLIのサポート • IAMユーザーの認証情報を外部に漏 えいしてしまうリスクを低減させる 認証情報をEC2内に持た せる。認証情報の保管・ ローテーション等の検討 が必要 プログラム メタデータ IAMロール利用 プログラム IAMロールによる権限は EC2上に恒久的に保管され るものではなくテンポラ リ。ローテーション等は 自動で行われる。 メタデータ IAM Role 61 論理アクセス管理のまとめ IAMの機能はAWSのサービスの中でも最重要の一つ 強力な権限を持つAWSルートアカウントは極力使用せず安全な運用を IAMユーザーに与える権限は最小権限の原則を守り、パスワードやAccess Key 等の認証情報は安全な管理を EC2に権限を与える場合には極力IAMロールの利用の検討を IAMのベストプラクティスは是非参照ください http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/IAMBestPractices.html 62 アジェンダ • • • • • • • 63 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ 様々な暗号化手法 暗号化手法は様々な観点からのリスク考慮により、必要な手法を選択する必要があります。AWSには下記 の様な様々な暗号化のソリューションが用意されており利用者が選択することができます。 暗号化 暗号化 暗号化 暗号化 鍵の保管 鍵の保管 鍵の保管 鍵の保管 鍵の管理 鍵の管理 鍵の管理 鍵の管理 KMI KMI KMI KMI KMI:鍵管理インフラ 64 利用者が管理 AWSが管理 暗号化手法の特徴と選択肢 暗号化処理 鍵の保管 鍵の管理 管理負荷 AWSサービス 利用者環境 (CSE) 利用者 利用者 最高 クライアント側で全て実施する ため特に限定なし 利用者環境 (CSE) AWS環境 (SSE) AWS環境 (SSE) AWS 利用者 高 CSE with KMS CSE with CloudHSM ユースケース • End to Endで暗号化と鍵の統制を完全 に利用者の統制下に置く必要のある データの保護 • 鍵の保管についてはAWSが提供する サービスの利用を許容できる 暗号/復号化できる利用者を限定するな ど,暗号鍵管理の統制は利用者側で実 施 • • AWS AWS 利用者 AWS 中 SSE with KMS SSE with CloudHSM 低 SSE (S3, EBS, RDS, Redshift, Glacier) • • • • 65 AWSのDCからのストレージ盗難・紛 失というリスクには対応可能 暗号鍵の生成やローテーションといっ た管理はユーザー側で統制を行いたい 場合 AWSのDCからのストレージ盗難・紛 失というリスクには対応可能 AWSが鍵管理を実施することを許容で きる 暗号に関する利用者の負荷は最も軽い 暗号化手法の特徴と選択肢 暗号化処理 鍵の保管 鍵の管理 管理負荷 AWSサービス 利用者環境 (CSE) 利用者 利用者 最高 クライアント側で全て実施する ため特に限定なし 利用者環境 (CSE) AWS環境 (SSE) AWS環境 (SSE) AWS 利用者 高 CSE with KMS CSE with CloudHSM ユースケース • End to Endで暗号化と鍵の統制を完全 に利用者の統制下に置く必要のある データの保護 • 鍵の保管についてはAWSが提供する サービスの利用を許容できる 暗号/復号化できる利用者を限定するな ど,暗号鍵管理の統制は利用者側で実 施 • • AWS AWS 利用者 AWS 中 SSE with KMS SSE with CloudHSM 低 SSE (S3, EBS, RDS, Redshift, Glacier) • • • • 66 AWSのDCからのストレージ盗難・紛 失というリスクには対応可能 暗号鍵の生成やローテーションといっ た管理はユーザー側で統制を行いたい 場合 AWSのDCからのストレージ盗難・紛 失というリスクには対応可能 AWSが鍵管理を実施することを許容で きる 暗号に関する利用者の負荷は最も軽い AWSのサーバーサイド暗号化(SSE) アプリケーション アプリケーション HTTPS AWS Storage Services EBS • • • 67 S3 Glacier Redshift RDS for Oracle RDS for MS-SQL S3, EBS and Redshift・・・サーバーサイド暗号化のオプションあり Glacier・・・全てのデータが標準で暗号化 RDS for Oracle and Microsoft SQL・・・TDE(Transparent Data Encryption)機能で暗号化 AWSのSSE – Amazon S3 68 オブジェクトのアップロード時に指定 CLI/SDKでの利用も可能 KMSを用いたサーバーサイド暗号化 暗号化され たデータ データキー 暗号化されたデータキー AWS KMS + AWSサービス 1. 2. 3. 4. 利用者で鍵の生成や ローテーション、 Enable/Disableや権限 設定等の管理ができる アカウント下の マスターキー AWSサービスはデータを暗号化するための暗号鍵を要求します。 AWSサービスからの要求は認証を受け、マスターキーを利用する権限があるか確認されます。 新しいデータ暗号化用の鍵が生成され、そのコピーはマスターキーによって暗号化されます。 データ暗号化用の鍵(データキー)とマスターキーによって暗号化されたデータキーがAWSサービスに渡され ます。データの暗号化にはデータキーが用いられ、使用後に鍵は消去されます。 5. 暗号化されたデータキーは後で利用するときのために保管され、元のデータを復号する必要があるときには KMSに戻されます。 69 AWSサービスとの統合 • KMSをサポートするサービス(2015/4現在) カテゴリ データベース サービス 対応機能 Amazon Redshift クラスターキー管理 Amazon RDS (MySQL, PostgreSQL, Oracle, MS SQL) データベースストレージの暗号化 サーバサイド暗号化(SSE-KMS) ストレージ・コンテ ンツ配信 アプリケーション サービス 70 Amazon Simple Storage Service S3 Encryption Clientを利用したクライアントサイ ド暗号化 Amazon Elastic Block Store(EBS) ボリューム暗号化 Elastic Transcoder トランスコードデータ暗号化 WorkMail 保存データ(メール、コンタクト、添付ファイル、 メタデータ)の暗号化 http://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/services.html AWSサービスのKMS利用法 - Amazon EBS ボリューム作成時にマスターキーを指定 • AWSコンソール – • EBSボリューム作成時にEncrypt this volumeにチェックを入れ、KMSのカスタ マーマスターキーを指定 CLIの例 – aws ec2 create-volumeコマンドにて以下 のオプションを付与 • --encrypted • --kms-key-id <マスターキーのARN> DISK I/O,ディスクに書き込まれたデータ, ス ナップショットも暗号化 71 AWSサービスのKMS利用法 - Amazon S3 オブジェクトアップロード時に指定 • • AWSコンソール – Set Details画面でKMSのマスターキーを選択 – 既に保存済みのオブジェクトはKMSでの暗号化は できない APIでの指定 – Put/Post/Copy/Initiate Multipart Upload実行時 に以下のヘッダーを指定 • x-amz-server-side-encryption:aws:kms • x-amz-server-side-encryption-aws-kmskey-id バケットポリシーでSSE-KMSの強制が可能 72 KMS with AWSサービス TIPS • 各サービス共通 – 他リージョンへのデータ移行の際はDecrypt/Encryptが必須 • – • キーのDisableは影響を鑑みて慎重に実施する Amazon EBS – – サポートされているインスタンスタイプに注意 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSEncryption.html Attach/Detach時にキーやりとりが行われるため、意図した挙動と異なる場合がある • • デバイスをアタッチ中にキーをDisableすると・・・ – OSリブート→データのアクセスが可能 – Stop/Start→アクセス不可 Amazon S3 – KMSで暗号化されたオブジェクトに対する操作はVersion4署名が必要 – バケットポリシーでSSE-KMSの強制化が可能 • 73 KMSのキーはリージョンごと s3:PutObjectに対して、“s3:x-amz-server-side-encryption”:“aws:kms”の条件を利用 データの保護のまとめ 74 AWSではお客様の要件に応じた様々な暗号化方式を利用可能 方式により、満たせる要件や利用者側の負荷が変わるため、特徴をおさえて 選択を。 AWSでは利用者側の負荷の少ないAWSによるSSEや、鍵管理環境をお客様に 提供するKMS等のサービスも利用可能 利用するAWSサービスの暗号化機能のサポート状況を確認し、安全なデータ 保護対策を。 アジェンダ • • • • • • • 75 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ AWSでの監視の概要 アプリ性能/死活監視 リソース監視 死活監視 (ログ,プロセス,OS) アプリ チェック Middleware Agent経由等の 情報収集 CloudWatch/ API/SDK 76 Service Status監視 リソース監視 Event監視 Application Alarm OS CloudWatchができること • 各AWSサービスのメトリクス監視 – – メトリクス = 監視項目(例:CPU使用率) メトリクスはあらかじめ定義され、構成済み • • – メトリクスを追加定義も可能 • – • メトリクス値を時系列にグラフ表示 しきい値を設定(例:CPU使用率60%以上) メトリクス値がしきい値を越えたら起こすアクションを定義(例:メールで通知) EC2上のログ監視 ・・・Amazon CloudWatch Logs – 77 カスタムメトリクス 各メトリクスに対してアラームを作成可能 – – • サービス開始時から監視開始 EC2ではハイパーバイザーから監視できる項目 メトリクスとアラームも作成可能 CloudWatch利用イメージ:メトリクス監視 対象インスタンス を検索 アラーム状態 の表示 i-xxxxxxxx i-xxxxxxxx メトリクスを 選択 グラフ表示期間 の指定 78 CloudWatchができること:アラーム • アラーム設定 – メトリクス(e.g. CPU使用率)としきい値(e.g. 60%以上)で構成 – 3つのアラーム状態を管理 • OK – メトリクスの値が、定義されたしきい値を下回っている • ALARM – メトリクスの値が、定義されたしきい値を上回っている • INSUFFICIENT_DATA – アラームが開始直後であるか、メトリクスが利用できないか、データが不足していていアラー ムの状態を判定できない – 各アラーム状態に対してアクションを定義可能 • 通知(Notification) – Amazon Simple Notification Service(SNS)を使って通知 – メール送信やHTTP(S)送信、Amazon Simple Queue Service(SQS)への送信が可能 • Auto Scalingアクション – Auto Scaling GroupのScaling Policyを指定し、インスタンスのスケールアウト/インが可能 • EC2アクション – EC2インスタンスの停止およびTerminateが可能 79 CloudWatch利用イメージ:アラーム設定 アラーム設定 アクション定義 しきい値として、 CPU使用率70%以上が 3期間(ここでは1期間=5分)以上 AutoScalingGroup 80 AWS環境の操作ログの取得について AWS CloudTrailはAWSアカウントで利用されたAPI Callを記録し、S3上にログを保存するサービスです。 AWSのリソースにどのような操作が加えられたか記録に残す機能ですので必ず有効化してください。 特別な問題がない限りは全リージョンで有効化することを推奨します。 記録される情報には以下のようなものが含まれます。 • APIを呼び出した身元(Who) • APIを呼び出した時間(When) • API呼び出し元のSource IP(Where) • 呼び出されたAPI(What) • APIの対象となるAWSリソース(What) • 管理コンソールへのログインの成功・失敗 (rootアカウントの失敗は2015年4月現在未サポート) 81 CloudTrail対応サービスの確認 2015年4月現在CloudTrailは下記のサービスをサポートしています。十分なサービスがサポートされてい るか確認をしてください。S3等サポートされていない機能に関してはアクセスログの有効化など必要な 代替コントロールを利用する必要があります。 対応サービス: • Amazon EC2 • Amazon VPC • Auto Scaling • ELB • Amazon EBS • AWS Storage Gateway • Amazon Glacier • Amazon CloudFront • Amazon RDS • Amazon Redshift • Amazon Elasticache • AWS DirectConnect • Amazon Kinesis • EMR • AWS Data Pipeline 82 • • • • • • • • • AWS AWS AWS AWS AWS AWS AWS AWS AWS IAM STS Key Management Service CloudHSM CloudTrail CloudFormation OpsWorks CodeDeploy Elastic Beanstalk • • • • • • • • • • Amazon CloudWatch Amazon SQS Amazon SNS Amazon Simple Workflow Amazon Cloudsearch Amazon Elastic Transcoder Amazon WorkDocs AWS Config Amazon EC2 Container Service AWS Lambda CloudTrailによるログのサンプル CloudTrailによるログイン失敗のサンプルログ {"eventVersion":"1.01", "userIdentity":{ 誰が "type":"IAMUser", "principalId":"AIDAJCU6NXINSWTC4S2J6", いつ “accountId”:“************", "accessKeyId":"", “userName”:“*********“ }, "eventTime":"2014-09-02T02:39:01Z", "eventSource":"signin.amazonaws.com", "eventName":"ConsoleLogin", "awsRegion":"us-east-1", "sourceIPAddress":"54.240.xxx.xx", "userAgent":"Mozilla/5.0, "errorMessage":"Failed authentication", "requestParameters":null, "responseElements":{"ConsoleLogin":"Failure"}, "additionalEventData":{ "MobileVersion":"No", "LoginTo":"https://console.aws.amazon.com/console/home?state, "MFAUsed":"No“ }, "eventID":"0013812b-3941-44c2-87d0-0cdbc2dde0d5“ }, 83 何を どこから どうした CloudTrailの有効化 各リージョンで有効化する必要があります。 ログをためるS3のバケットは集約が可能です。 S3バケットを新規作成するかどうか S3バケット名の入力 SNS通知の設定をするかどうか 使用するSNS Topicの選択 グローバルサービスのログを取得するか(IAM、STSなど) 84 管理コンソールからも直近7日のイベントが確 認できます。 CloudTrailにて監視すべきイベント例 CloudTrailではサポートしているAWSサービスの操作のために使われた全てのAPIログを取得しますが、ど のようなログを監視するかについては監視要件に依存します。下記は代表的な重要イベントの例です。 Event 85 想定ケース AttachInternetGateway AssociateRouteTable CreateRoute DeleteCustomerGateway DeleteInternetGateway DeleteRoute DeleteRouteTable DeleteDhcpOptions DisassociateRouteTable • • • 意図せぬネットワーク構成の変更 未承認のインターネットゲートウェイの作成 ルーティングの変更による未承認の経路の作成 CreateNetworkAcl CreateNetworkAclEntry DeleteNetworkAcl DeleteNetworkAclEntry ReplaceNetworkAclEntry ReplaceNetworkAclAssociation • • 意図せぬNetworkACLの変更 許されないポートの解放 RunInstances CreateInstances LaunchInstances TerminateInstances • • 未承認のEC2の作成 意図せぬEC2のTerminate CloudTrailにて監視すべきイベント例 Event 86 想定ケース AuthorizeSecurityGroupIngress AuthorizeSecurityGroupEgress RevokeSecurityGroupIngress RevokeSecurityGroupEgress CreateSecurityGroup DeleteSecurityGroup • • 意図せぬSecurity Groupの変更 許されないポートの解放 StopLogging DeleteTrail UpdateTrail • • • CloudTrailの停止 CloudTrailの削除 CloudTrailの設定変更 DeleteGroupPolicy DeleteRole DeleteRolePolicy DeleteUserPolicy PutGroupPolicy PutRolePolicy PutUserPolicy • • 許可されていないIAMポリシーの削除 許可されていないIAMポリシーの付与 Unauthorized* errorCode AccessDenied Failed authentication • • 許可されない操作の試行 エラー "type":"Root" • AWSルートアカウントでのログイン 参考:CloudTrailのCloudWatch Logsとの連携 • CloudTrailのログをCloudWatch Logsに転送できるようになりました どのようなログを監 視するか、閾値をど うするか等の設定が 可能 ログ連携 CloudTrail CloudWatch Logs 下記のURLで紹介されているサ ンプルでは以下に関わる10の監 視用フィルタを設定 ・ネットワーク ・SG、NACL ・インターネットゲートウェイ ・サイズの大きいEC2インスタ ンスの作成、削除、および更新 ・CloudTrail自体の変更 ・IAMポリシー ・認証の失敗 ・管理コンソールへのログイン CloudTrailによるAPI コールのログ(操作ロ グ)の集約 アラーム 87 SNS http://aws.typepad.com/aws_japan/2015/03/cloudtrail-integration-with-cloudwatch-in-four-more-regions.html 参考:AWS Configの利用 • • AWSリソースのレポジトリ情報を取得し、リソースの設定履歴を監査、リ ソース構成の変更を通知することができるフルマネージドサービス サポートリージョン: • • US West (Oregon), US West (Northern California) , US East (N.Virginia), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney) ,Asia Pacific (Tokyo), Asia Pacific (Singapore) , South America (Brazil) 対象サービス、2015年4月時点 • 作成・変更・削除オペレーション情報の取得 Amazon EC2 Instance, ENI... 88 Amazon VPC VPC, Subnet... Amazon EBS Volumes AWS CloudTrail AWSでは他にも様々なサービスのログが取得できます 89 Service Data Method CloudTrail API Call Log S3 ELB Access Log S3 S3 Object access S3 Auto Scaling Event Logs CLI, Console, API CloudFront Access logs, cookies S3 Glacier Retrieval jobs only SNS notifications Redshift Connections/Event logs/status S3, CLI RDS Service Events Database log CLI, Console, API, SNS Console, CLI ElastiCache Events SNS OpsWorks Chef logs CLI CloudFormation Event logs/status CLI, Console, API Elastic Beanstalk Event logs/status CLI, Console, API Data Pipeline Pipeline events Task runner log S3 SES Feedback Notification SNS notifications SNS Messages sent SNS notifications EMR Hadoop logs S3, Console, Master Node 監視・ログのまとめ AWSのサービスに関する様々なリソースはCloudWatchで監視が可能 AWSの操作ログはCloudTrailで必ず取得を CloudTrail以外でもAWSサービス固有のログが取得できるため、必ずマニュアル で確認を CloudTrailを始めとするログをモニターすることで予期せぬ変更等の検知が可能 90 アジェンダ • • • • • • • 91 セキュリティに関する不安 AWSに関する簡単なおさらい ネットワークセキュリティ 論理アクセス管理 データの保護 監視・ログ まとめ AWS Trusted Advisorによる確認 構成終了後、その後も定期的にTrusted Advisorにより、把握していない未達のチェック項目がないか確認 をしてください。Notificationの設定も行うことができます。 2013年よりサービス開始 コスト最適化、セキュリティ、可用性、 パフォーマンスの4つのカテゴリから AWSの利用状態を評価 170万のベストプラクティス 3億ドルを超えるコスト削減を通知 2014/7/31より、33のチェック項目中、 4項目をすべてのユーザに開放 92 https://aws.amazon.com/jp/premiumsupport/trustedadvisor/ まとめ 責任共有モデルに基づき、基盤のセキュリティ・統制はAWSが責任を持って実施 AWS上に構築するシステムの構成・設定に関するセキュリティ・統制はお客様の 責任により実施 AWSはお客様を助ける様々なセキュリティ関連機能を提供 更に固有のセキュリティ要件がある場合はAPNパートナーの製品の利用も検討を 93 Q&A AWS Summit Tokyo 2015 参加登録受付中! http://www.awssummit.tokyo/ 94 参照リンク • AWSアカウント作成の流れ – • AWS コンプライアンス – • http://aws.amazon.com/jp/aws-jp-introduction/ 国内のお客様のAWS活用事例 – 95 http://aws.amazon.com/jp/security/ AWSクラウド活用資料集 – • http://aws.amazon.com/jp/compliance/ AWSセキュリティ – • http://aws.amazon.com/jp/register-flow/ http://aws.amazon.com/jp/solutions/case-studies-jp/ AWSをより深く理解したい方向けに クラスルームトレーニングを提供しています。 96 詳細: aws.amazon.com/training 認定資格試験 公式Twitter/Facebook AWSの最新情報をお届けします 検索 @awscloud_jp もしくは http://on.fb.me/1vR8yWm 最新技術情報、イベント情報、お役立ち情報、 お得なキャンペーン情報などを日々更新しています! 97 AWS初心者向けWebinar 2015 • AWSをこれからご使用になる方向け、ソリューションカットのオ ンラインセミナー • 今後の配信予定 – 5/12(火) 基本から理解する、AWS 運用監視 – 5/19(火) AWS 料金の見積り方法 • 申し込みサイト http://aws.amazon.com/jp/about-aws/events/ 98 AWS Black Belt Tech Webinar 2015 • AWS中上級者向け、サービスカット • 今後の配信予定 – 5/13(水) Elastic Load Balancing (ELB) – 5/20(水) Amazon Elastic Compute Cloud Windowsインスタンス – 5/27(水) Amazon Relational Database Service(Amazon RDS) • 申し込みサイト http://aws.amazon.com/jp/about-aws/events/ 99 100
© Copyright 2024 ExpyDoc