そこが知りたい!
AWS
クラウドのセキュリティ
でAWS Cloud Roadshowに参加しよう!
公式アカウント
@awscloud_jp
最新技術情報、イベント情報、お得なクーポン情報など日々更新中!
#AWSRoadshow
皆さんのご意見聞かせてください!
名前:鈴木 宏昌
(スズキ ヒロアキ)
所属:AWSテクニカルトレーナー
好きなAWSのサービス:Amazon CloudWatch
前職:国内SIerでクラウドサービスの企画~運営を担当
自己紹介
Agenda
AWS
でのネットワークアクセス制御
VPC
(仮想プライベートクラウド)
サブネット
セキュリティグループ、ネットワークACL
AWS
リソースのアクセス制御
IAM
ユーザ
IAM
ロール
AWS
監査機能
CloudTrail
、AWS Config
Amazon Inspector
ネットワーク制御とAWSリソース制御
不要なトラフィックを遮断してセキュアな環境を構築
VPC
やセキュリティグループによりネットワークを制御
EC2
インスタンス(仮想サーバ)へのアクセスを遮断することは
できる
EC2
インスタンスの起動や停止などの、AWSリソース操作を
制御する機能ではない
セキュアな運用にはAWSリソースの制御も重要
AWS Identity and Access Management (IAM)
EC2
の起動や停止などのAWSリソース操作の制御が可能
AWS
利用におけるセキュリティ確保の全体像
コマンドライン/ SDK
キーペア
による認証
セキュリティグループによる
インスタンスの通信保護
仮想デスクトップ
ターミナル
アクセスキーID
シークレットキー
によるAPIの認証
マネジメントコンソール
EBS
EBS
EC2
(Linux)
EC2
(Windows)
IAMユーザID
Password
による認証
AW
S A
PI
マ
ネ
ジ
メ
ン
ト
コ
ン
ソ
ー
ル
VPC・サブネットによる
SSL
SSL
SSH
RDP
IA
M
ネットワーク制御によるセキュリティ確保の全体像
キーペア
による認証
仮想デスクトップ
ターミナル
EBS
EBS
EC2
(Linux)
EC2
(Windows)
SSH
RDP
VPC
・サブネットによる
ネットワークの通信保護
セキュリティグループによる
インスタンスの通信保護
Amazon Virtual Private Cloud (VPC)
AWS
上に仮想的なプライベートネットワーク空間を構築
EC2
やRDSなどのサービスはVPC内で起動
VPC
は他の仮想ネットワークなどからも論理的に隔離
VPN
の利用より社内からの閉域網でAWSを利用可能
社内インフラの拡張として利用できる
従来のネットワーク環境と同様の環境を構築できる
ルートテーブル
ネットワーク
ACL
ルートテーブル
ネットワーク
ACL
インターネット
ゲートウェイ
VPN
ゲートウェイ
VPC
の構成概要
サブネット
セキュリティグループ
インス
タンス
インス
タンス
サブネット
セキュリティグループ
インス
タンス
インス
タンス
Amazon
VPC
サブネット
VPC
内は大きく次の2つの領域に分割可能
パブリックサブネット
•
インターネットからアクセス可能な領域
•
ロードバランサーなどのサービスを配置
プライベートサブネット
•
インターネットから直接アクセスができない領域
•
インターネットから直接アクセスする必要がないリソースを配置し
保護
※
ロードバランサーを利用した場合、Webサーバーもプライベートサブネッ
トに配置可能
VPC
構成例1:Web3層システム
Web
踏み台
Web
NAT
パブリックサブネット
Internet
プライベートサブネット
AP
AP
アベイラビリティゾーンA
アベイラビリティゾーンA
アベイラビリティゾーンB
アベイラビリティゾーンB
Amazon
VPC
インターネット ゲートウェイVPC
構成例2:オンプレミス環境との連携
VPN接続
専用線
自社データセンター
アベイラビリティゾーンA
アベイラビリティゾーンA
アベイラビリティゾーンB
アベイラビリティゾーンB
Amazon
VPC
仮想プライベート
ゲートウェイ(
VGW)
VPC
構成例3:ワークロードごとのVPC分割
人事
営業
会計
VPC1
VPC2
VPC3
自社ネットワーク
社外ネットワーク
(インターネット)
VPC
エンドポイントによるアクセス
Web
踏み台
Web
NAT
パブリックサブネット
プライベートサブネット
AP
AP
S3
DynamoDB
アベイラビリティゾーンA
アベイラビリティゾーンA
アベイラビリティゾーンB
アベイラビリティゾーンB
Amazon
VPC
VPC
エンドポイント
Internet
VPC
エンドポイント
VPC
とAWSサービスをプライベートに接続
VPC
エンドポイントがない場合は、インターネット経由で
アクセス
プライベートサブネットからもアクセス可能
以下のサービスに対応(2017/09/27時点)
S3
DynamoDB
セキュリティグループとネットワークACL
EC2
サブネット
サブネット
ネットワーク
ACL
(サブネットの境界を保護)
セキュリティグループ
(インスタンスを保護)
Amazon
VPC
Internet
セキュリティグループ
インスタンスの仮想ファイアウォールとして機能
複数のインスタンスをグルーピング可能
デフォルトですべてのインバウンド通信は禁止
ステートフル
Web
Web
Web
多層セキュリティグループ
Web
Web
AP
AP
AP
サーバー
ロード
バランサー
内部
ロードバランサー
sg-0000001
sg-00000002
sg-00000003
sg-00000004
タイプ:HTTP
ソース:
sg-00000001
タイプ:HTTP
ソース:sg-00000003
タイプ:
HTTP
ソース:0.0.0.0/0
Web
サーバー
セキュリティグ
ループID
sg-00000001からの
HTTP通信を許可
ネットワークACL
サブネット毎に設定するパケットフィルタ機能
サブネット毎にインバウンド、アウトバウンド通信を制御
デフォルトはすべて許可
セキュリティグループとネットワークACL
セキュリティグループ
ネットワークACL
対象
サーバレベルで効果
サブネットレベルで効果
タイプ
ホワイトリスト型
AllowのみをIN・OUTで指定可能
ブラックリスト型
Allow/DenyをIN・OUTで指定可能
ステート
制御
ステートフルなので、戻りのトラ
フィックを考慮しなくてよい
ステートレスなので、戻りのトラ
フィックも明示的に許可設定する
適用順
全てのルールを適用
番号の順序通りに適用
適用範囲
インスタンス管理者がセキュリティグ
ループを適用すればその管理下になる
サブネット内のすべてのインスタン
スがACLの管理下に入る
AWS
利用におけるセキュリティ確保の全体像
コマンドライン/ SDK
キーペア
による認証
セキュリティグループによる
インスタンスの通信保護
仮想デスクトップ
ターミナル
アクセスキーID
シークレットキー
によるAPIの認証
マネジメントコンソール
EBS
EBS
EC2
(Linux)
EC2
(Windows)
IAMユーザID
Password
による認証
AW
S A
PI
マ
ネ
ジ
メ
ン
ト
コ
ン
ソ
ー
ル
VPC・サブネットによる
ネットワークの通信保護
SSL
SSL
SSH
RDP
IA
M
IAM
によるセキュリティ確保の全体像
コマンドライン/ SDK
アクセスキーID
シークレットキー
によるAPIの認証
マネジメントコンソール
EBS
EBS
EC2
(Linux)
EC2
(Windows)
IAMユーザID
Password
による認証
AW
S A
PI
マ
ネ
ジ
メ
ン
ト
コ
ン
ソ
ー
ル
SSL
SSL
IA
M
AWS Identity and Access Management (IAM)
AWS
リソースの操作をセキュアに行うための
認証・認可の仕組み
AWS
利用者の認証と、アクセスポリシーを管理
AWS
操作のためのユーザー・グループ・ロールの作成が可能
グループ、ユーザーごとに、実行出来る操作を規定できる
ユーザーごとに認証情報の設定が可能
AWS
における認証の種類
種類
説明
メールアドレス&パスワード
root
ユーザ
※
として
AWS
にアクセス
IAM
ユーザ名&パスワード
IAM
ユーザとして
AWS
マネージメントコンソールに
アクセス
アクセスキー
ID
&シークレットアクセスキー
CLI
や
API
などのプログラムによる
AWS
へのアク
セスに利用
※
root
ユーザ
•
アカウント取得時に作成されるユーザ
• AWS
リソースのフルアクセス権を持つユーザ
IAM
ユーザ/グループ
IAM
ユーザ
AWS
管理などを行うユーザ
アプリケーションからの接続用など必
ずしも人の操作用とは限らない
IAM
グループ
IAM
ユーザーの集合
グループ全体の権限を指定する
root
ユーザ
管理者
グループ
開発
グループ
TAKAHASHI
TANAKA
WATANABE
KURODA
IAM
ユーザ
AWS
アカウント
IAM
ユーザ
IAM
ポリシー
権限を記述している JSON ドキュメント
IAM
ユーザ・グループなどに割り当てる
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::example_bucket"
}
}
開発グループ
IAM
ポリシー
IAM
動作イメージ
管理者グループ
開発グループ
IAMポリシー
S3
TAKAHASHI
TANAKA
WATANABE
KURODA
EC2
AWSの全操作権限
S3の全操作権限
マ
ネ
ジ
メ
ン
ト
コ
ン
ソ
ー
ル
AW
S A
PI
IA
M
IAMポリシー
IAM
ポリシー例
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "ec2:*",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ec2:Region": "<REGION>"
}
}
}
]
}
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:TerminateInstances" ], "Resource": [ "*" ] }, { "Effect": "Deny", "Action": [ "ec2:TerminateInstances" ],"Condition": {"NotIpAddress": {"aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24" ]}}, "Resource": [ "*" ] } ] }