ネットワーク構成から考える aws iaas 管理
TRANSCRIPT
ネットワーク構成から考えるAWS IaaS 管理
青柳 英明
JAWS-UG 福岡:3度目の濃い目に AWS の話をしてみよう
自己紹介青柳 英明
職業: インフラ SE ( オンプレ Only)
・ Visual Basic 、 ASP など (C# も Java も Python も Ruby も出来ません… )
経歴: アプリケーション開発 … 3 年
インフラエンジニア … 15 年
・サーバ / クライアント (Windows 中心 )・セキュリティ系とかも少々・オンプレ仮想化 (VMware 、 Hyper-V)・現在はデスクトップ仮想化をやってます
AWS 歴: 3 ヶ月
趣味の範囲のみ実務では全くやってません ( やりたい )
前回の 「 JAWS-UG 福岡 勉強会 #2 」 から参加させてもらっています。
どうぞよろしくお願いします!
はじめにJAWS-UG の勉強会で、こういう話から始めるのも恐縮ですが・・・
先日、マイクロソフトの 「 de:code 2016 」 に行ってきました。
聴講したセッションの一つ: 「 Azure でのセキュアネットワーキング」
【内容】 ・ Azure IaaS サービスにおける、セキュアなネットワーク設計のポイントの解説 ・ サブネット分割の考え方 ・ ネットワークセキュリティグループ (NSG) … VM に適用するステートフルなファイアウォール規則 ・ ユーザ定義ルート (UDR) … サブネット間のルーティング定義 ・ ネットワーク ACL etc.
はじめにJAWS-UG の勉強会で、こういう話から始めるのも恐縮ですが・・・
先日、マイクロソフトの 「 de:code 2016 」 に行ってきました。
聴講したセッションの一つ: 「 Azure でのセキュアネットワーキング」
↓さっそく Azure で実践してみよう!
↓どうせなら AWS でやってみて、 JAWS-UG のネタにしよう! ( 笑 )
↓え? AWS 界隈では 「クラウドデザインパターン (CDP) 」 というチョー有名なものが?!
↓ええい! 後には退けん! とりあえずやってみよう!!
Subnet-Front Subnet-Back
① 最もシンプルな構成VPC
Web Server DB Server
一般利用者
管理者・開発者
Internetgateway
SSH
HTTP(S) HTTP(S)
SSH
SSH
SQL
Public IP
Public IP
Private IP
Subnet-Front Subnet-Back
① 最もシンプルな構成VPC
Web Server DB Server
一般利用者
Internetgateway
Public IP
Public IPSSH
HTTP(S) HTTP(S)
SSH
SSH
SQL Private IP
SQL 10.0.0.0/16SSH XX.XX.XX.XX/32
セキュリティグループ (Inbound)
HTTP(S) 0.0.0.0/0SSH XX.XX.XX.XX/32
セキュリティグループ (Inbound)
( グローバル IP アドレス: XX.XX.XX.XX)
(10.0.0.0/16)
特定アドレスに限定しているとは言え、DB サーバ ( バックエンド ) に対してインターネットからの直接着信を許可しているのは怖い…
10.0.0.0/16 local0.0.0.0/0 IGW
ルートテーブル
管理者・開発者 10.0.0.0/16 local0.0.0.0/0 IGW
ルートテーブル
Subnet-Front Subnet-Back
Subnet-Management
② 管理用ネットワークと「踏み台マシン」の導入
Web Server DB Server
一般利用者
Bastion ( 踏み台 )
Internetgateway
HTTP(S) HTTP(S) SQL
SSH
SSH
SSH SSH
VPC
管理者・開発者
Public IP
Public IP
Private IP
Private IP
Subnet-Front Subnet-Back
Subnet-Management
② 管理用ネットワークと「踏み台マシン」の導入
Web Server DB Server
一般利用者
Bastion ( 踏み台 )
Internetgateway Public IP
Public IP
HTTP(S) HTTP(S) SQL
SSH
SSH
SSH SSH
SQL 10.0.0.0/16SSH 10.0.0.0/16
セキュリティグループ (Inbound)
HTTP(S) 0.0.0.0/0SSH 10.0.0.0/16
セキュリティグループ (Inbound)
SSH XX.XX.XX.XX/32セキュリティグループ (Inbound)
( グローバル IP アドレス: XX.XX.XX.XX)
(10.0.0.0/16)
Private IP
Private IP
VPC
管理者・開発者
10.0.0.0/16 local0.0.0.0/0 IGW
ルートテーブル
10.0.0.0/16 local0.0.0.0/0 IGW
ルートテーブル
10.0.0.0/16 local0.0.0.0/0 IGW
ルートテーブル
Subnet-Front Subnet-Back
Subnet-Management
③ 本番ネットワークと管理用ネットワークを分離
VPCピア接続
VPC : Production
Web Server DB Server
一般利用者
Bastion ( 踏み台 )
Internetgateway
Internetgateway
HTTP(S) HTTP(S) SQL
SSH SSH
SSH SSH
Public IP
Public IP
管理者・開発者
VPC : Management
用途の異なるネットワークを明示的に分離し、必要な通信のみを行わせる
Private IP
Private IP
Subnet-Front Subnet-Back
Subnet-Management
③ 本番ネットワークと管理用ネットワークを分離
VPCピア接続
VPC : Production
Web Server DB Server
一般利用者
Bastion ( 踏み台 )
Internetgateway
Internetgateway
HTTP(S) HTTP(S) SQL
SSH SSH
SSH SSH
Public IP
Public IP
管理者・開発者
VPC : Management
・ サブネットに対して適用する ステートレスなファイアウォール
用途の異なるネットワークを明示的に分離し、必要な通信のみを行わせる
ネットワーク ACL
Private IP
Private IP
③ 本番ネットワークと管理用ネットワークを分離
ルール # タイプ プロトコル ポート範囲 送信元 許可 / 拒否
100 SSH (22) TCP (6) 22 xx.xx.xx.xx/32 許可
110 カスタム TCP ルール TCP (6) 32768-60999 10.0.0.0/16 許可
* すべてのトラフィック
すべて すべて 0.0.0.0/0 拒否
ルール # タイプ プロトコル ポート範囲 送信先 許可 / 拒否
100 SSH (22) TCP (6) 22 10.0.0.0/16 許可
110 カスタム TCP ルール TCP (6) 32768-60999 xx.xx.xx.xx/32 許可
* すべてのトラフィック
すべて すべて 0.0.0.0/0 拒否
インバウンドルール
アウトバウンドルール
10.0.0.0/16
10.200.0.0/16xx.xx.xx.xx
ネットワーク ACL の定義
Subnet-Front Subnet-Back
Subnet-Management
④ VPN の導入VPC : Production
VPC : Management
Web Server DB Server
一般利用者
Bastion ( 踏み台 )
Internetgateway
VPNgateway
customer gateway(VPN ルーター )
Public IPHTTP(S) HTTP(S) SQL
SSH SSH
SSH SSH
管理者・開発者
VPCピア接続
インターネットから直接着信する
唯一のエンドポイント
管理用ネットワーク = 社内ネットワークの延長→ 管理用ネットワークのセキュリティには十分留意する
Private IP
Private IP
Private IP
オンプレミス
Aシステム
管理ネットワーク
「 A システム」管理者・開発者
踏み台マシン
Bシステム Cシステム
「 B システム」管理者・開発者
「 C システム」管理者・開発者
オンプレミスクラウド管理者
管理
管理用ネットワーク導入のメリット・ アクセス経路が一本化、かつ、必ず 「踏み台マシン」 を経由することになるため、 利用ログの記録や、不正アクセスの検知などが行い易くなる。
・ 「踏み台マシン」 を停止することにより、完全にアクセスを遮断することができる。 必要な時のみ 「踏み台マシン」 を起動する運用を行うことで、セキュリティを高められる。
<応用例> ・ スケジュールジョブにより起動・停止を自動化する (夜間の不正利用を防止 ) ・ 「踏み台マシン」 の利用を申請による許可制にする → いずれも、運用の即時性・柔軟性が損なわれるという諸刃の剣になりますが…
・ 外部からの砦となる 「踏み台マシン」 は徹底的にセキュアにすることが求められるが、 サービスやモジュールを最低限に絞ったり、パッチ適用のために再起動を行うことなどが容易である。 (Web サーバや DB サーバでそれを行おうとすると・・・ 大変ですよね )
最後に・ 今回、管理用ネットワークは 「踏み台」 用途に着目しましたが、 他にも 「監視」 や 「アップデートサーバ・レポジトリ等の配置」 などの利用方法が考えられます。
・ IaaS のセキュリティ対策としては、ネットワーク構成によるもの以外にも - マルウェア対策 - IPS/IDS 、 WAF などによる防御 - ID 管理 - ログ監視、分析 など、複数軸からの対策が重要だと考えますので、 今後は、 AWS におけるこれらのセキュリティ対策についても調べたいと思います。
・ 今回は時間の都合から 「踏み台を利用した SSH の多段接続」 の具体的な手法や、 Windows の場合の手法 (RDゲートウェイなど ) について十分に調べることができませんでした。
ご清聴、ありがとうございました