awsのセキュリティ運用はセキュリティグループを利用

パソコン13

awsはクラウドサービスであるためセキュリティリスクを回避させる必要があります。awsの標準機能として準備されているセキュリティグループは、狭い範囲に強固なセキュリティを構築することができます。一方、awsにはネットワークACLというセキュリティのサービスもあります。

セキュリティグループとネットワークACLの違いやメリットデメリットなどを紹介します。

関連記事:awsでクラウド運用する方法!メリットやデメリットを解説

awsのセキュリティグループとは

awsはクラウドサービスです。インターネット環境があればどこでも接続できるメリットがある反面、セキュリティリスクを常に抱えているといっても過言ではありません。awsもクラウドサービスをセキュリティリスクから守るためにいくつかの対策を施しています。

その一つがセキュリティグループです。セキュリティグループとは、同一のグループから外部のインスタンスと通信を行う際に、トラフィックを制御するファイアウォールを設置する機能です。セキュリティグループを入れることで安心してawsサービスを利用できるようになります。

セキュリティグループはインスタンス単位で設定することができ、それぞれインバウンドとアウトバウンドの両方のトラフィックに対して制御される仕組みです。インスタンス起動時にセキュリティグループを指定する事を忘れても、VPC用のデフォルトのセキュリティグループが起動するようになっているため、セキュリティグループがない状態でawsを稼働させてしまうという心配もありません。

また、セキュリティグループはawsの標準機能として展開されているサービスになるため、新たな費用が発生する心配もありません。

ネットワークACLとセキュリティグループの違い

awsのトラフィック制御設定ではネットワークACLでもセキュリティの制御を行う事ができます。ネットワークACLとセキュリティグループにはそれぞれ異なる特徴があります。セキュリティグループはインスタンス単位で設定を行う機能です。

それぞれのインスタンスには少なくとも 1 つのセキュリティグループを設定する必要があります。そのため必ずしも1つのセキュリティグル-プとは限らず、複数のセキュリティグループを設定する事ができます。一方、ネットワークACLはサブネット単位で設定します。

サブネット以下の全インスタンスに範囲が及ぶため、セキュリティグループより広範囲な設定が可能になります。サブネット単位で1つのネットワークACLを設定する必要があります。セキュリティグループは、通信拒否の信号のみを設定できるのに対して、ネットワークACLは通信許可と通信拒否のいずれかの設定を入れることができます。

ステートレスとステートフルの違いも両者に存在します。ステートレスであるネットワークACLは、アウトバウンドトラフィックとインバウンドドラフィックが別々に評価されるため、設定次第で詳細なセキュリティ構造を実現する事ができます。

設定内容が細かいネットワークACLは通信セキュリティの知識があればよい細かい設定が可能になりますが、ミスを起こしやすいというデメリットも存在します。初心者にはセキュリティグループの方が間違いを防ぎやすいといえます。

セキュリティグループ運用のメリット

セキュリティグループには設定が簡単であるという以外にもメリットがあります。サブネットに紐づくネットワークACLでは、同一サブネット内の通信制御設定ができないというデメリットがあります。サブネットに対して制御を行うネットワークACLでは、それより詳細の範囲内での制御ができないためです。

反面、インスタンス単位で設定できるセキュリティグループではより、細かい単位で制御が可能になるため、セキュリティ網を強固にすることができます。複数のセキュリティグループを同時に設定できるのもセキュリティグループを利用するメリットです。

ファイアウォールは複数枚設定する事でより強固なセキュリティを実現できます。重要なインスタンスには複数個のセキュリティグループの設定を行う事で不正アクセスの脅威から守ることができます。ネットワークACLでは、ポートとCIDRを用いてトラフィックの許可や拒否を設定する方式ですが、セキュリティグループではCIDRの代わりにセキュリティIDと呼ばれる識別番号を用いることができます。

柔軟なアクセス制御ができるだけでなくわかりやすいため、メンテナンス時や保守時に制御内容を見誤るリスクを減らすことができます。

セキュリティグループとネットワークACLの使い分け

セキュリティグループとネットワークACLにはそれぞれメリットとデメリットが存在します。これらのメリットを活かした両方の併用が最も望ましいのですが、設定上ミスをすると通信がされないという不具合を起こしてしまう可能性が高くなります。

通信要件が変更になった場合などにそれぞれの設定を変更しないと正しく通信がされなくなってしまったり、セキュリティホールを生み出してしまう事も想定されます。そのため、面倒な設定やリスクを回避するためには、セキュリティグループでのセキュリティ運用をメインとし、ネットワークACLは設定しない、もしくは軽い設定内容にとどめておくのがベストプラクティスです。

もちろん設定を行わなかった場合、セキュリティはデフォルトの設定で稼働しますが、詳細設定を行わない限り通信障害を起こすことはありません。

awsでもセキュリティグループでの設定を推奨しています。インスタンス単位で設定できるため、要件に沿ったセキュリティ運用を可能にしやすいというのが理由で、機能向上などについてもセキュリティグループの方が、手厚くサポートされています。

セキュリティグループでもEC2とVPCでは違いがあることに注意が必要

パソコン15

同じセキュリティグループであってもEC2とVPCでは、セキュリティグループの動作や設定内容が異なります。大きな違いも存在するので設定時には注意が必要です。まずトラフィックの方向ですが、EC2ではインバウンドのみであるのに対して、VPCでは双方向の通信に対応しています。

設定変更については、EC2が起動した後に変更設定を行う事ができない仕様であることに対して、VPCでは後に変更することが可能になっています。

ルール追加の際の違いもあります。

EC2では、ルール追加の際をプロトコルを指定する必要がなく、TCP、UDP、ICMPなどで設定できますが、VPCでは標準プロトコル番号を指定しなければなりません。違いを知らなければ、セキュリティリスクを高めてしまうこともあるため、認識しておく必要があります。

awsのセキュリティ運用はセキュリティグループをメインとして用いる事がおすすめ

パソコン22

awsのセキュリティ対策では、セキュリティグループとネットワークACLの二種類が存在します。セキュリティ設定の対象範囲が異なるのが大きな違いであるため、より狭い範囲で設定できるセキュリティグループを用いる事がベストプラクティスです。

またセキュリティグループは設定がわかりやすいため、通信要件の変更があった際でもミスなく設定変更ができます。