これで安心!
セキュリティとネットワーク
~ Getting Started with
AWS Security and
Networking ~
アマゾン ウェブ サービス ジャパン 株式会社
セキュリティ ソリューション アーキテクト
自己紹介
2• 氏名: 桐山 隼人
• 略歴
– 組み込み/セキュリティ系開発エンジ
ニア@IT企業ソフトウェア開発研究所
– 技術営業@セキュリティ企業
– ソリューションアーキテクト@AWS
• 好きなAWSサービス
– Amazon Inspector
@hkiriyam1
本日は、AWS移行を促進した
“2つの安心”についてお話します
仮想プライベートクラウド
Amazon Virtual
Private Cloud
(VPC)
利用者の認証と
アクセスポリシー管理
AWS
Identity and Access
Management (IAM)
AWS Identity and Access
Management (IAM)
AWS操作をよりセキュアに行うための認証・認可の仕組み
AWS利用者の認証と、アクセスポリシーを管理
AWS操作のためのグループ・ユーザー・ロールの作成が可能
グループ、ユーザーごとに、実行出来る操作を規定できる
ユーザーごとに認証情報の設定が可能
開発チーム
運用チーム
IAMの主機能
権限設定:
◦
必要な権限を必要な人・グループだけに
監査:
◦
証拠保全と追跡支援
認証:
◦
様々な利用者認証方法
APIやマネジメントコンソールからの
アクセスに対して、権限をチェック
全操作可能 S3はすべて 操作可能 S3参照だけ{
"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:
このアクセス制御が有効になる
条件の設定
この例の場合、
「アクセス元IPが176.32.92.49だったら、S3のListBucketsとGet系の操作を
許可する」という意味
AWS CloudTrailによるAPIコール記録
ユーザによるAPI
の発行
各リージョンの
AWSリソースの
呼び出し
CloudTrailが
APIコールをロ
ギング
ユーザの操作を
管理
AWS Configによる変更履歴、
構成変更を管理・確認
IAM認証情報レポート
(Credential Report)
ユーザーの作成日時
最後にパスワードが使われた日時
最後にパスワードが変更された日時
MFAを利用しているか
Access KeyがActiveか
Access Keyのローテートした日時
Access Keyを最後に使用した日時
Access Keyを最後に利用したAWSサービス
証明書はActiveか
証明書のローテートした日時
AWSルートアカウントは利用せずIAM
ユーザを利用
AWSルートアカウントは
IAMで設定するアクセスポリシー
が適用されない
強力なアカウント
十分に強度の強いパスワードを設定した上、通常は極
力利用しないような運用を
IAMユーザーはAWS操作用のユーザーと心得る
強力なパスワードポリシーを強制可能
AWSサービスへの
アクセスポリシー管理可能
IAMユーザをまとめるIAMグループ
強力なパスワードポリシーの利用
AWSの管理コンソールにログインするために必要とな
るIAMユーザーのパスワードには以下のようなパスワー
ドポリシーを持たせることが可能
•
パスワードの最小文字数
•
大文字英字の要求
•
小文字英字の要求
•
数字を含めることの要求
•
特殊文字の要求
•
ユーザー自身によるパスワード変更の許可
•
パスワードの有効期限の設定
•
パスワードの再利用の制限
•
パスワードが期限切れになった場合管理者によるリセッ
トの有無
AWSルートアカウントには適用されないことに注意MFAによるアカウントの保護
ハードウェア
(認証情報コピー不可)ソフトウェア
(認証情報コピー可能)ソフトウェア
SMS(プレビュー)
製品
Gemalto Google Authenticator Authy N/A形式
トークン型/(カード型) スマホアプリ スマホアプリ モバイルデバイスのSMSコスト
有料(2,000円程度) 無料 無料 SMS料金/データ料金保管
持ち歩くことも可能だし、金庫 などに厳重に保管も可能 常に持ち歩く 常に持ち歩く 常に持ち歩く交換
紛失/故障時は、再登録 交換時のために予備の準備が 必要 紛失/機種変更時は、再登録 機種交換時に認証情報を引き 継げる 同じ電話番号を持つ新しいモバ イルフォンを取得する場合支障な しルート
アカウント
サポート サポート サポート サポートしていないIAM
ユーザー
サポート サポート サポート サポート認証情報の定期的なローテーション
IAMユーザーのパスワードやAccess Key/Secret
Access Keyは定期的にローテーションすることを推奨
認証情報の利用状況はIAMのCredential Report
機能で確認可能
ユーザーの作成日時 最後にパスワードが使われた日時 最後にパスワードが変更された日時 MFAを利用しているか Access KeyがActiveか Access Keyのローテートした日時 Access Keyを最後に使用した日時 Access Keyを最後に利用したAWSサービス 証明書はActiveか 証明書のローテートした日時IAM認証情報レポート
(Credential Report)
パスワードやアクセスキーのローテーションなど、認
証情報ライフサイクルの要件の結果を監査可能
認証情報レポートは、カンマ区切り値(CSV)
ファイルとしてダウンロード可能
Credential Report
https://blogs.aws.amazon.com/security/post/Tx1GZCHQC7LR3UT/New-in-IAM-Quickly-Identify-When-an-Access-Key-Was-Last-Usedレポートは4時間毎に一回生成可能
IAMユーザーのパスワードローテーション
•
IAMのパスワードポリシーでユー
ザーがパスワードを変更できるよう
に設定
•
パスワードに有効期限を設けること
で利用者が自分で定期的にパス
ワードをローテーションできるように
する
5
OpenID Connect または SAML 2.0
のサポート
Enterprise (Identity Provider) AWS (Service Provider)
AWS Resources
Client
Application
Active Directory Identity provider 4 AssumeRoleWithSAML の呼び出し 2 S3 Bucket with Objects AmazonDynamoDB Amazon EC2
IdPに認証情報の リクエスト 1 認証応答 の受け取り 3
APP
認証情報を用いた APIの呼び出し https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_providers_saml.html 一時的な認証情 報の受け渡し 6SAML2.0の例
Federation/SSOを提供するパートナー
ソリューション
AWS上にプライベートネットワーク空間を構築
◦
社内から
VPN接続
して
閉域網
でAWS利用
◦
仮想ネットワーキング
オンプレミスとのハイブリッドが簡単に実現
◦
AWSが社内インフラの一部に見える
社内システム、ソフトウェアの移行がより容易に
AWS上にプライベートのアドレス空間を作成し、
お客様のインフラをAWS上に延長する
リージョン
EC2
VPC
イントラ
プライベート サブネット パブリックサブネットInternet
VPC内に分離し
たサブネットを自
由に作成
VPN接続
専用線
ゲート
ウェイ
VPN
DX
VPCを利用したWebシステム構成例
VPC 10.0.0.0/16 Availability Zone - B Availability Zone - A Internet Anyone Internet Gateway Public Subnet 10.0.0.0/24 Public Subnet 10.0.2.0/24 Private Subnet 10.0.1.0/24 Private Subnet 10.0.3.0/24 Amazon RDS Amazon RDS Web 10.0.0.7 EC2 Instance EC2 Instance Web 10.0.2.7 Corporate data center DB DB インターネットからもアクセス可能
DC/社内からのみ アクセス可能 VPN接続 専用線営業支援 会計 BI 文書管理 利用者 管理者 AD 監視ソフト DNS 1 VPC 1 VPC 1 VPC 1 VPC 1 VPC I G W V G W V G W V G W I G W V G W V G W Router#1 Router#2 F W SSO NTP 既存環境 Oracle WIN 人事 WIN WIN Oracle BI DB WIN Proxy
ネットワークアクセスコントロールリスト(NACL)
アベイラビリティゾーン A アベイラビリティゾーン B
VPC Subnet with ACL VPC Subnet with ACL
• サブネット毎に設定するフィルタ機
能
• インバウンド、アウトバウンドをサブ
ネット毎に制御
• ステートレス
• デフォルトはすべて許可
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_ACLs.html NACL-in NACL-out ステートレスなのでinに対するout, outに対するinも設定が必要セキュリティグループ(SG)
アベイラビリティゾーン A アベイラビリティゾーン B Subnet: 10.0.1.0/24 VPC CIDR: 10.0.0.0/16 Subnet: 10.0.10.0/24•
EC2インスタンスの仮想ファイアウォールと
して機能
•
ステートフル
•
デフォルトですべての通信は禁止
•
複数のEC2インスタンスをグルーピング可
能
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html SG-in SG-out ステートフルなのでinに対するout, outに対するinは設定しなくてOKVPCセキュリティコントロール
Route
Table Route Table
インターネット
ゲートウェイ バーチャルプライベートゲートウェイ
Virtual Router
ネットワークACL vs セキュリティグループ
ネットワークACL
セキュリティグループ
サブネットレベルで効果
サーバレベルで効果
Allow/DenyをIN・OUTで指定可能
(ブラックリスト型)
AllowのみをIN・OUTで指定可能
(ホワイトリスト型)
ステートレスなので、戻りのトラ
フィックも明示的に許可設定する
ステートフルなので、戻りのトラ
フィックを考慮しなくてよい
番号の順序通りに適用
全てのルールを適用
サブネット内のすべてのインスタンス
がACLの管理下に入る
インスタンス管理者がセキュリティグ
ループを適用すればその管理下になる
その他のセキュリティ対策例
29
ホスト型のIDS/IPS
(TrendMicro DeepSecurity, etc…)WAF on EC2
(Imperva, SOPHOS, etc…)