AWS セキュアデザイン(IAM) Deep Dive

AWS セキュアデザイン(IAM)
Deep Dive
アマゾン データ サービス ジャパン株式会社
ソリューションアーキテクト 瀧澤 与一
■Gold Sponsors
■Global Sponsors
■Silver Sponsors
2
■Bronze Sponsors
■Global Tech Sponsors
■Logo Sponsors
3
ハッシュタグ #AWSSummit
で、皆さんのツイートが展示エリア
の大画面に表示されます
公式アカウント@awscloud_jp
をフォローすると、ロゴ入り
コースターをプレゼント
4
【コースター配布場所】
メイン展示会場、メイン会場1F受付、デベロッパーカンファレンス会場
Agenda
1. AWSのセキュリティ
2. IAM(アカウント管理)
5
Agenda
1. AWSのセキュリティ
2. IAM(アカウント管理)
6
AWSはお客様の要求に応じて、
継続的にイノベーションし、サービスを提供
516
セキュリティ、コンプライアンス、
ガバナンス、監査に関するアップデート
280
159
2007
7
2008
48
61
2009
2010
82
2011
2012
2013
2014
AWSのセキュリティ・コンプライアンス方針
• AWSクラウドのセキュリティ/コンプライアンス
– AWSにおいて最優先されるべき事項
– セキュリティ/コンプライアンスに対する継続的な投資
– 専門部隊の設置
• 責任共有モデルの採用
– AWSと利用者の2者で確保
8
AWS責任共有モデル
お客様のアプリケーション・コンテンツ
お客様
ネットワーク
セキュリティ
サーバー(OS)
セキュリティ
データ
セキュリティ
アクセス
コントロール
お客様自身で
クラウドを
コントロール可能
AWS 基本サービス
コンピュート
ストレージ
AWS
グローバルインフラストラクチャ
データベース
アベイラビリティゾーン
エッジロケーション
リージョン
9
ネットワーク
AWSが
クラウドの
セキュリティを
担当
AWSは主要な、
規制/標準/ベストプラクティスに準拠
10
金融機関向け『Amazon Web Services』対応
セキュリティリファレンス
• http://aws.amazon.com/jp/aws-jp-fisclist/
• 2013年10月、FISC安全対策基準(第8追補版)へのAWSの準拠状況を調査した資料を
SI/ISV 8社(現在は9社)が共同で調査して一般公開
• AWSと利用者で責任分担することで、FISC安対基準を満たせるとの見解を一般公開
安心・安全かつ、機動性の高い金融サービスの実現
金融事業者(銀行、証券、保険等)
支援
クラウドを活用したシステム
システム構築・運用
SCSK
ISID
NRI
各金融事業者のセキュリティ指針・監査指針
TIS
MKI
FISC
安全対策基
準
設備:138
項目
運用:115
項目
技術: 53
項目
11
TrendMicro
CAC
調査・対応案検討
Amazon Web Services対応
セキュリティリファレンス
各基準に
対応
サマリー
版
セキュリティ対応
調査協力
詳細版
作成/
更新
Amazon Web
Services
ホワイトペーパーでAWSの統制を確認可能
•
•
•
AWS リスクとコンプライアンス
(日本語)
AWS の使用に際してのセキュリティ監査
チェックリスト
AWセキュリティプロセスの概要
など
12
AWSを活用する際の
セキュリティ対策/監査のポイント
•
OS以上は既存のセキュリティ対策/監査と同様に対応可能
–
–
–
–
–
•
OSやアプリケーションの認証ログ、アクセスログ
ファイヤーウォールの設定確認
アンチウィルスの導入やパッチバージョンの確認
システム/リソースの監視
ユーザー管理・パスワードポリシー
重要なデータに対する暗号化と鍵管理
– AWSが提供する暗号化機能の利用
– 利用者で任意の暗号鍵を使用することも可能
•
13
第三者認証の活用、AWSセキュリティホワイトペーパの評価
AWS責任共有モデル
お客様のアプリケーション・コンテンツ
お客様
ネットワーク
セキュリティ
サーバー(OS)
セキュリティ
データ
セキュリティ
アクセス
コントロール
お客様自身で
クラウドを
コントロール可能
AWS 基本サービス
コンピュート
ストレージ
AWS
グローバルインフラストラクチャ
データベース
アベイラビリティゾーン
エッジロケーション
リージョン
14
ネットワーク
AWSが
クラウドの
セキュリティを
担当
AWSのセキュリティツール・機能
お客様のアプリケーション・コンテンツ
お客様
ネットワーク
セキュリティ
サーバー(OS)
セキュリティ
データ
セキュリティ
アクセス
コントロール
お客様自身で
クラウドを
コントロール可能
AWSとAWSのパートナーは、700以上のセキュリティサービスや、ツール、機
能を提供。
既存の環境で実施していたことと同じコントコントロールを実現可能。
15
ネットワーク
セキュリティ
Security-group
Network Access Control List
S3バケットポリシー、S3エンドポイント
SSLや、通信の暗号化
16
Private
Segment
Private
Segment
Public
Segment
ネットワークセキュリティ
NAT
NAT
NAT
Public Subnet (DMZ)
Public Subnet (DMZ)
操作ログ
Srv
Srv
Private Subnet
Private Subnet
リソース監視
通知
Private Subnet
Private Subnet
Availability Zone
Availability Zone
region
17
データ暗号化
権限管理
Amazon
Route 53
新機能:S3のVPCエンドポイント
S3 Prefix
pl-xxxxxxxx
vpc
endpoint
vpce-xxxxxxxx
Private Subnet:
10.1.10.0/24
Route Table
Destination
Target
10.1.0.0/16
local
pl-xxxxxxxx
vpce-xxxxxxxx
Availability Zone A
VPCエンドポイントをVPCに
作成すると、プライベートサ
ブネットからS3バケットにア
クセスが可能
サーバ(OS)
セキュリティ
独自の仕様にEC2インスタンスを設定し強化
ホストベースの保護ソフトウェアの使用
ユーザ管理
改ざん検知
マルウェア対策
Administratorユーザーの管理
脆弱性管理
職務分離や権限の最小化
監査・ロギング
SIEM, パッチ管理など、既存のサービスとの接続
要塞化
OS
EC2
Template catalog
19
Running instance
Your instance
AWSマーケットプレイスで提供するセキュリティツール
脅威分析
20
アプリケー
ションセキュ
リティ
アクセス管理
エンドポイン
トプロテク
ション
ネットワーク
セキュリティ
暗号化・
暗号鍵管理
脆弱性診断
Public /DMZ
Segment
WAFとWeb/AP/DB構成例
NAT
NAT
WAF
NAT
Private
Segment
WAF
Private
Segment
Web/AP
Private
Segment
操作ログ
DB
Web/AP
DB
リソース監視
通知
Availability Zone
Availability Zone
region
21
データ暗号化
権限管理
Amazon
Route 53
データ
セキュリティ
データの分類(機密度・漏洩した時の損害額)
暗号化
暗号鍵の管理(保管場所、権限)
データの削除
22
重要なデータの暗号化
CloudHSMを用いた
暗号化
AWS
Userによる暗号鍵の
S3、EBS等に実装され
Key Management
持ち込みによる
たAWSによる暗号化
Service
暗号化
(AWSによる鍵管理)
暗号化の範囲指定、
ユーザが暗号化鍵
暗号化鍵のローテ
に対するコント
ション等、実行管
ロールをもってい
理がユーザで実施
ない
暗号鍵はAWS上に
Secureに保管、管理は
専用ハードウェア
Userにて実施
アプライアンス
高いコンプライア
ンス要求に対応
SDKと連携することで、
3rd Party製ソフトにも
適応可能
オンプレミスからの利用
も可能
23
KMSのセキュリティ
鍵の管理はお客様が実施
マスターキーには誰もアクセスできない
幅広い堅牢化技術を使用してマスターキーを保護するように設計
サービス内でソフトウェアをアップデートするためのアクセスは
複数段階の承認プロセスによって管理
Amazonの独立したグループによって監査およびレビューを実施
キーは作成されたリージョンにのみ保存。他のリージョンに移動
できない。
一年おきのマスターキーの自動ローテーションが可能
AWS CloudTrailによる管理操作、暗号化操作の記録
24
Nasdaq データ分析基盤の暗号化
オンプレミスにHSMを
構築。
暗号鍵をHSMで管理。
S3上のデータの暗号化
EMR利用時のみ復号化
25
アクセス
コントロール
誰が、いつ、なんのために、何を、
という観点でアクセス制御が可能。
AWSクラウドへのアクセスを完全に
制御するための、MFAデバイス
Active Directoryとの連携に
よるシングルサインオンも可能
AWS
アカウント
ネットワーク
管理者
26
セキュリティ
管理者
サーバ
管理者
ストレージ
管理者
Agenda
1. AWSのセキュリティ
2. IAM(アカウント管理)
27
AWS Identity & Access Management(IAM)
サービスインターフェイス
AWS
マネジメント
コンソール
コマンドライン,
PowerShell
SDK
その他
AWSサービスから
IAMをサポートするサービス
IAMのサポート
アクションレベルの
権限
リソースレベルの
権限
対応状況
ほとんど全てのAWSサービスでサポート。
タグベースの
アクセス権限
下記のみサポート。
EC2, RDS, VPC, Data Pipeline, SWF
一時的なセキュリティ
認証のサポート
ほとんど全てのAWSサービスでサポート。
(AWS Supportを除く)
多くのAWSサービスに対応。下記はサポートしていない。
ECS, Auto Scaling, CloudFront, Import/Export, ElastiCache,
Direct Connect, Directory Service, CloudTrail, Config,
CloudWatch, CloudHSM, EMR, AppStream, SES, Cognito,
Mobile Analytics, WorkDocs
(Cloud HSMを除く)
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/Using_SpecificProducts.html
29
IAM Top10ベストプラクティス
1. AWSアカウントのアクセスキーをロック
2. 個々にIAMユーザを作成
3. 特権ユーザにはMFA
4. 強度の高いパスワード
5. 最小限の特権
6. EC2で動作するアプリにはIAMロール
7. ポリシー条件を使いこなす
8. ローテーション
9. アカウント履歴の監査
10. 不要な認証情報の削除
30
AWSアカウントのアクセスキーをロック
Last Usedをチェック
できるだけ使用しない。
なぜなら
全てのリソースにアクセス可能
万が一、流出した際のリスクが大
きい。
31
個々にIAMユーザを作成
AWSルートアカウントを使用しない・貸し借りしない。
代わりに、IAMユーザを作成。
必要に応じて、IAMユーザに、管理者特権を与える。
IAMユーザを作成する際には、下記の3点に注意。
特権ユーザにはMFA
最小限の特権
強度の高いパスワード
32
MFAによる高い権限を持つアカウントの保護
 多要素認証(MFA)によるなりすましの防止
 AWSルートアカウントはMFAで保護し通常利用しない運用に
ハードウェア
3333
ソフトウェア
製品
Gemalto
Google Authenticator
Authenticator
AWS Virtual MFA
形式
トークン型/カード型
スマホアプリ
コスト
有料(数千円程度)
無料
保管
持ち歩くことも可能だし、金庫な
どに厳重に保管も可能
常に持ち歩く
交換
交換時のために予備の準備が必要
ー
セキュリィ
一般的に高い
登録時のセキュリティ担保が必要
個別のIAMユーザーを作成し、IAMグループで管理
利用者に対しては個別のIAMユーザーを作成し、共有は極力避ける。
IAMユーザーはIAMグループに所属させ、権限の付与はIAMグループに対して行うと
便利。
•
IAMユーザー:AWS操作用のユーザー
•
IAMグループ:IAMユーザーをまとめるグループ
•
IAMポリシー:AWSのサービスの操作に対する権限設定、IAMユーザーやIAMグループ等
に対して付与する
IAMユーザー
3434
IAMポリシー
IAMユーザー
IAMグループ
IAMポリシー
IAMポリシー
IAMグループ
強度の強いパスワードポリシーの利用
AWSの管理コンソールにログインする
ために必要となるIAMユーザーのパス
ワードには以下のようなパスワードポリ
シーを持たせることが可能。
•
•
•
•
•
•
•
•
•
3535
パスワードの最小文字数
大文字英字の要求
小文字英字の要求
数字を含めることの要求
特殊文字の要求
ユーザー自身によるパスワード変更の許可
パスワードの有効期限の設定
パスワードの再利用の制限
パスワードが期限切れになった場合管理者に
よるリセットの有無
大規模な組織で、マネジメントコンソールの
アカウント管理を効率化するためには?
36
Active Directory連携
大規模なエンタープライズ環境ではおすすめ
•
•
•
IAMのSAML連携、ADFS(Active Directory
Federation Service)の使用
既存のActive Directory(AD)のユーザを利用
ADのグループとIAMロールを対応付け
権限
開発
本番
監査
37
Active-Directory
グループ
AWS-Test
AWS-Production
AWS IAM
ロール
ADFS-Test
ADFS-Production
AWS-Audit
ADFS-Audit
ADFSログインページ
38
ADFS経由でのマネジメントコンソールアクセス
39
Active DirectoryとADFS
①ブラウザでアクセス
③認証レスポンス
ブラウザ
④
サインイン
URL
40
⑤アクセス
②ユーザ認証
ADFS
Active
Directory
ADFS側での要求規則の編集
c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"]
=> issue(
Type = "https://aws.amazon.com/SAML/Attributes/Role",
Value = RegExReplace(c.Value, "AWS-",
"arn:aws:iam::123456789012:samlprovider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));
41
マネジメントコンソールアクセスの
Active Directory連携
アカウント管理が統合され、リスクが低減する
既存のユーザ情報をそのまま利用
既存の権限ベースでの管理が可能
既存と同様のポリシーの利用が可能
アカウントロックポリシーや、パスワード管理ポリシー
入退社など一元的な管理が可能
イントラネットからのみアクセス可能なログイン画面
49
EC2にはIAMロールの利用
EC2のようなAWSサービスに対してAWS操作権限を付与するための仕組み。
IAMユーザーの認証情報のようなものをOS/アプリケーション側に持たせる必要がなく、認証情報の
漏えいリスクを低減可能。IAMロールによる認証情報はAWSが自動的にローテーション。
IAMロール利用の利点
• EC2上のアクセスキーの管理が容易
• 自動的に認証情報のローテーションが行われる
• EC2上のアプリケーションに最低権限を与える
ことに適している
• AWS SDK及びAWS CLIのサポート
• IAMユーザーの認証情報を外部に漏えいしてし
まうリスクを低減させる
IAMユーザー利用
認証情報をEC2内に持た
せる。認証情報の保管・
ローテーション等の検討
が必要
プログラム
メタデータ
IAMロール利用
プログラム
IAMロールによる権限は
EC2上に恒久的に保管され
るものではなくテンポラリ。
ローテーション等は自動で
行われる。
メタデータ
IAM Role
5050
IAM ポリシー
IAM ユーザーがリソースを作
成または変更、およびタスク
を実行できるようにするには、
IAM ポリシーを作成。
デフォルトでは、何の権限も
ない
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
{
}
"Statement
{
"Effect": "Allow",
"Action": [
" s3:ListBuckets ",
" s3:Get * "
],
"Resource": [
" arn:aws:s3:::mybucket "
],
"Condition": {
"IpAddress": {
"aws:SourceIP": [“176.32.92.49/32“]
}
}
}
]
アクセス条件の記述
{
}
"Effect": "Allow",
"Action": [
" s3:ListBuckets ",
" s3:Get * "
],
"Resource": [
"arn:aws:s3:::mybucket"
],
"Condition": {
"IpAddress": {
"aws:SourceIP":
[“176.32.92.49/32“]
}
}
Effect:
許可の設定なら”Allow”
拒否の設定なら”Deny”
Action:
対象となるAWS操作を指定
Resource:
対象となるAWSリソースを指定
Condition:
このアクセス制御が有効になる
条件の設定
新機能:IAM Policy Validator
ポリシー言語の
文法チェック、
自動フォーマッ
トを実施。
ポリシードキュ
メントは最大5
バージョン分管
理可能。
53
新機能:IAM Policy Simulator
• IAMロールの
アクセスコントロールポリシーをテスト、確認が容易に。
–
54
既存のポリシーを選択し、AWSサービス、評価するActionを選択し、「Run Simulation」を実行
すると、アクセス可能か否かの結果を一覧表示。
Web アイデンティティフェデレーション
(AssumeRoleWithWebIdentity)
7
Mobile App
3
Id トークン
S3
AWS サービス
6
ウェブアイデンティ2
ティプロバイダ
4
トークン認証
5
ポリシー
の確認
AWS IAM
Amazon SQS
region
Amazon
DynamoDB
region
1
US-EAST-1
認証要求
監査
IAM認証情報レポート
アクセスキーのローテーション
AWS CloudTrail
AWS Config
AWS CloudWatch, AWS CloudWatch Logs
各サービスのログ
S3, ELB, CloudFront, RDS, Redshiftなど
OS, アプリケーションのログ
56
IAM認証情報レポート
•
•
認証情報レポート
57
パスワードやアクセスキーの
ローテーションなど、認証情報
ライフサイクルの要件の結果を
監査可能。
認証情報レポートは、カンマ区
切り値(CSV)ファイルとして
ダウンロード可能。
IAMユーザーのパスワードローテーション
 IAMのパスワードポリ
シーでユーザーがパス
ワードを変更できるよう
に設定
 パスワードに有効期限を
設けることで利用者が自
分で定期的にパスワード
をローテーションできる
ようにする
5858
認証情報の定期的なローテーション
 IAMユーザーのパスワードやAccess Key/Secret
Access Keyは定期的にローテーションすること
を推奨
 認証情報の利用状況はIAMのCredential Report
機能で確認可能










5959
ユーザーの作成日時
最後にパスワードが使われた日時
最後にパスワードが変更された日時
MFAを利用しているか
Access KeyがActiveか
Access Keyのローテートした日時
Access Keyを最後に使用した日時
Access Keyを最後に利用したAWSサービス
証明書はActiveか
証明書のローテートした日時
アクセスキーのローテーション
 IAMユーザーの「認証情報」の「アクセス
キー」から「アクセスキーの管理」を選択
 「アクセスキーの作成」で新しい認証情報の作
成(2つまで)
 新しい認証情報でテストを行い、古
いAccess KeyはInactiveにする
 万が一問題が起きた時は再び
Activateすることが可能
6060
認証情報の更新
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/Using_RotatingCredentials.html
AWS環境の操作ログの取得について
AWS CloudTrailはAWSアカウントで利用されたAPI Callを記録し、S3上にログを保存するサービス。
AWSのリソースにどのような操作が加えられたか記録に残す機能ですので必ず有効化。
全リージョンで有効化することを推奨。
記録される情報には以下のようなものが含まれる。
•
APIを呼び出した身元(Who)
•
APIを呼び出した時間(When)
•
API呼び出し元のSource IP(Where)
•
呼び出されたAPI(What)
•
APIの対象となるAWSリソース(What)
•
管理コンソールへのログインの成功・失敗
(rootアカウントの失敗は2015年4月現在未サポート)
6161
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
6262
•
•
•
•
•
•
•
•
•
AWS IAM
AWS STS
AWS Key Management Service
AWS CloudHSM
AWS CloudTrail
AWS CloudFormation
AWS OpsWorks
AWS CodeDeploy
AWS 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“
},
6363
どうした
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...
64
64
Amazon VPC
VPC, Subnet...
Amazon EBS
Volumes
AWS CloudTrail
AWS Trusted Advisorによる確認
構成終了後、定期的にTrusted Advisorにより、把握していない未達のチェック項目がないか確認
コスト最適化、セキュリティ、可用性、
パフォーマンスの4つのカテゴリから
AWSの利用状態を評価
170万のベストプラクティス
3億ドルを超えるコスト削減を通知
6565
https://aws.amazon.com/jp/premiumsupport/trustedadvisor/
まとめ
66
IAM Top10ベストプラクティス
1. AWSアカウントのアクセスキーをロック
2. 個々にIAMユーザを作成
3. 特権ユーザにはMFA
4. 強度の高いパスワード
5. 最小限の特権
6. EC2で動作するアプリにはIAMロール
7. ポリシー条件を使いこなす
8. ローテーション
9. アカウント履歴の監査
10. 不要な認証情報の削除
67
AWSでシステムを展開すると
最もセキュリティに厳しい組織向けに構築された環境を利用可能。
お客様が管理する項目をのぞいて、
AWSでは1,800以上のセキュリティコントロールを管理。
お客様の業務やシステムの要求に基づき、適切なセキュリティコン
トロールを定義可能。
お客様は、お客様のデータについて、完全な、所有権とコントロー
ルを保持。
68
AWSトレーニング @ AWS Summit Tokyo
セルフペースラボ:@パミール1F 瑞光
AWS クラウドに実際に触れてみませんか?
ご自分の AWS アカウントをおつくりいただけなくても、
AWS クラウドを体験いただけます。
AWS認定試験(有償):@ パミール1F 黄玉
特設認定試験会場を AWS Summit Tokyo 2015 会場に開設
Devopsエンジニア-プロフェッショナル認定試験を先行受験いただけます。
AWS認定資格者取得専用ラウンジ:@ パミール1F 青玉
他の AWS 認定資格をお持ちの方とのネットワーキングにぜひラウンジをご活用
ください。
お席や充電器、お飲物などを用意し、皆様をお待ちしております。
69