仮想化エンジニア奮闘記

Citrix や VMware といったサーバー・デスクトップ仮想化の最新技術や設計情報の検証結果を共有します。(本ブログは個人のものであり、所属する会社とは関係ありません。)

NACL と Security Group によるアクセス制御

皆さまお疲れ様です。

この記事ではAWS VPCFirewallのような機能を提供するNetwork Access Controll List(以下NACL) と Security Groupについて記事にしてゆきたいと思います。

※本記事は投稿時点(2018年9月20日時点)の情報となります。

 

 

1. NACL と Security Groupの必要性について

AWSでEC2インスタンスを稼働させる場合、アクセス制御に関しての設計が必須となってくるかと思います。

オンプレのエンタープライズ環境でFirewallが必ず導入されているように、AWSでも「通信元IP・通信先IPを絞りたい」、「必要な通信ポート以外は閉じたい」という要望は必ず出てくるかと思います。

 

もし「どのIPからも通信が許可されている」、「全ポートがアクセスできるようになっている」場合、どんなリスクが出てくるか考えてみましょう。

 

① SSHやRDPなどの管理アクセスに関するソースIP制御をしていなかったため、パブリックサブネット上のEC2インスタンス不正アクセスがされた

② ①の不正アクセス後にバックドアプログラムを仕掛けられたが、全ポートが空いていたためバックドアし放題だった

③ パブリックサブネットを踏み台にしてプライベートサブネット側のEC2にも侵入された(DBなどにも侵入され、重要な顧客情報が流出した)

 

などなど挙げて行けばきりがないかと思いますが、上記のような状況になってしまった場合、もう企業としてはアウトですよね?

 

ということで、AWSにはFirewallに似た機能として NACL と Security Group という機能があります。次の章ではそれぞれの機能の特徴を見て行こうと思います。

 

 

2. NACL と Security Groupの機能比較

どちらもFirewallに似た機能として「Inbound Rules」(受信規則)、「Outbound Rules」(送信規則)によりアクセス制御を行っています。

 

ざっくりと NACL と Security Group の違いをまとめると以下の通りとなります。

f:id:kenta53682:20180825225917p:plain

 

実現する内容は似ていても、細かな機能はNACL、Security Group で違うことがお分かり頂けるかと思います。

 

NACL と Security Group を図にまとめると、以下のような感じになります。

f:id:kenta53682:20180825224103p:plain

 

 

3. NACL と Security Groupの設計について

設計内容については企業のネットワークポリシーに拠る部分が多いと思いますが、ここではNACLとSecurity Groupの機能的な差に注目し、設計方針について記載していこうと思います。

 

①NACLに関して

・NACLはステートレス(※)で戻りの通信のアクセス制御設定も必要となり、管理が煩雑化するため、デフォルトではInbound / Outboundともに全許可をし、不正アクセス元など拒否したい通信を拒否で追加する。

・基本的にEC2インスタンスのアクセス制御はSecurity Group側で対応する。

※ステートレスとなるため、戻りの通信の際には例えば「49152-65532」のようなEphemeral Portの指定が必要となり、広範囲のポートを開ける必要がある。

 

②Security Groupに関して

・Security Groupは役割毎に作成する。例えば、http/httpsなどのサービス提供グループ、SSH/RDPなどの運用管理グループなど。

・Inbound Rulesは必要最小限のポートのみを指定する。

・Outbound Rulesは全許可をする。

 

③OS側のSoftware Firewallに関して

OS側のiptablesWindows Firewall は NACL や Security Groupと二重管理となるため無効化する。

 

ブラックリストがNACLの制限値を超える場合

ブラックリストが大量に出てくる場合、NACL ではなく WAF(※) を利用する。

※WAFは別途記事にしようと思います。

 

 

4. 参考URL

ネットワーク ACL - Amazon Virtual Private Cloud

VPC のセキュリティグループ - Amazon Virtual Private Cloud

Amazon VPC の制限 - Amazon Virtual Private Cloud

Amazon EC2 アクセス制御レシピ | Developers.IO

 

 

それでは、本日は以上となります。

ありがとうございました。