Upload
ytaka23
View
3.803
Download
0
Embed Size (px)
Citation preview
AWS 構成検証、例えば
● awspec○ serverspec の拡張
○ テスト対象となる実際のリソースが必要
● IAM Policy Simulator○ AWS 提供、IAM のアクセス権限を検証
○ 実際には操作・課金せず確認できる
Alloy Analyzer のいいところ
● 形式手法の一種、モデル検査器
○ 関係論理を用いてシステムのモデルを定義
○ モデルが満たすべき条件を記述
○ モデルを自動で全探索して、条件を検査
● 軽量 (lightweight) 形式手法を標榜
● 発見した例を可視化
例えば EC2 インスタンス間の疎通
(https://gist.github.com/y-taka-23/89a98fdb2ba48710a39c)
Alloy による単純なモデリング
sig Instance { priIPs : some IP, secGrps : set SecurityGroup,}
sig SecurityGroup { inRules : set InboundRules, outRules : set OutboundRules,}
Alloy による単純なモデリング
sig Instance { priIPs : some IP, secGrps : set SecurityGroup,}
sig SecurityGroup { inRules : set InboundRules, outRules : set OutboundRules,}
各インスタンスに対して1 個以上の IP アドレスが存在
Alloy による単純なモデリング
sig Instance { priIPs : some IP, secGrps : set SecurityGroup,}
sig SecurityGroup { inRules : set InboundRules, outRules : set OutboundRules,}
各インスタンスに対して0 個以上のセキュリティグループが存在
もう少しモデルを作り込む
● セキュリティグループのルール内容
○ プロトコル (TCP, UDP, ICMP のいずれか)
○ ポート番号 (ICMP ならば存在しない)
○ CIDR と IP アドレスとの包含関係
● インスタンス間で通信可能な条件
○ インスタンスの IP アドレスと
ルールの IP アドレスとの包含関係