IBM セキュリティー・グループの概要

IBM Cloud® セキュリティー・グループとは、仮想サーバー・インスタンスのパブリック・インターフェースとプライベート・インターフェースの両方について、着信 (進入) および発信 (退出) トラフィックを処理する方法を定義する一連の IP フィルター・ルールです。 セキュリティー・グループに追加するルールをセキュリティー・グループ・ルールと呼びます。

  • 単一の仮想サーバーまたは複数の仮想サーバーインスタンスのパブリックおよびプライベートネットワークインタフェースにセキュリティグループを割り当てることができます。
  • IBM が提供するセキュリティー・グループまたは独自に作成したセキュリティー・グループを割り当てることができます。
  • セキュリティー・グループが仮想サーバー・インスタンスのネットワーク・コンポーネントに適用される場合、セキュリティー・グループ・ルールによって明示的に許可されていない限り、そのネットワーク・コンポーネントのすべての出入力トラフィックが拒否されます。
  • 仮想サーバー・インスタンスへのインバウンド・トラフィックは、進入トラフィックと呼ばれます。
  • 仮想サーバー・インスタンスからのアウトバウンド・トラフィックは、退出トラフィックと呼ばれます。

セキュリティー・グループは、仮想サーバーをホスティングするハイパーバイザーで実装されます。

IBM が提供するセキュリティー・グループ

IBM が提供する以下のセキュリティー・グループを仮想サーバー・インスタンスのネットワーク・インターフェースに割り当てることができます。

  • allow_ssh - このセキュリティー・グループは、SSH ポートでのみ進入 TCP トラフィックを許可する IP ルールを定義します (22/TCP)。
  • allow_http - このセキュリティー・グループは、HTTP ポートでのみ進入トラフィックを許可する IP ルールを定義します (80/TCP)。
  • allow_https - このセキュリティー・グループは、HTTPS ポートでのみ進入 TCP トラフィックを許可する IP ルールを定義します (443/TCP)。
  • allow_outbound - このセキュリティー・グループは、サーバーからのすべての退出トラフィックを許可する IP ルールを定義します。
  • allow_all - このセキュリティー・グループは、すべてのポートですべての進入トラフィックを許可する IP ルールを定義します。

セキュリティー・グループと監査ログ

セキュリティー・グループの相互作用はすべて、アカウントの監査ログに記録されます。 項目では、特定のセキュリティー・グループの変更と、その変更を要求したユーザーを追跡します。 以下の相互作用についてログが書き込まれます。

  • 仮想サーバーのネットワーク・インターフェースに対して、セキュリティー・グループの追加または削除が行われた。
  • セキュリティー・グループのルールが、ルールの追加、ルールの編集、またはルールの削除によって変更された。

そうした各相互作用について、影響を受けたオブジェクトごとに 1 つのログが書き込まれます。 ログは常に、変更されたセキュリティグループに対して書き込まれる。 追加のログは、セキュリティグループに接続されている各仮想サーバーのネットワークインターフェイスに対して書き込まれます。 特定のセキュリティグループの監査ログをフィルタリングすると、そのグループのセキュリティグループに関連するすべての変更が表示される。 同様に、特定の仮想サーバーのログをフィルタリングすると、その仮想サーバーのセキュリティグループに関連するすべての変更が表示されます。

セキュリティー・グループの変更によって、バックグラウンドで複数の仮想サーバーが更新される可能性があるため、監査ログを使用して、変更が正確にいつ有効になったかを判別することができます。 監査ログを生成するセキュリティー・グループ API は、要求 ID を返します。 この ID を使用して、API 呼び出しと、生成された監査ログとを相互に関連付けることができます。

セキュリティグループをソースまたは宛先として使用する

セキュリティグループ内でルールを作成する際、トラフィックフローの送信元または送信先としてセキュリティグループを設定するというオプションがあります。 このアクションは基本的に2つのことを行う。 まず、指定されたセキュリティグループに属するサーバーによって定義されたIPアドレスのグループを作成する。 次に、IPアドレスのグループをトラフィックの送信元または宛先として設定する。 これにより、サーバーを機能別にグループ化し、そのグループをルールで参照することができる。 例えば、アカウント上で、すべてのウェブサーバー用のセキュリティグループと、すべてのデータベースサーバー用のセキュリティグループをそれぞれ作成し、サーバーの種類別にセキュリティグループを定義することができます。 Webサーバーからデータベース・サーバーへのトラフィックを許可するには、Webサーバー・セキュリティ・グループ内にルールを作成します。 宛先をデータベースサーバーのセキュリティグループに設定する(ルール内で適切な宛先ポートとプロトコルを設定する)。

各セキュリティグループは、アカウント全体で合計5回まで、他のセキュリティグループ内のソースまたは宛先として参照することができます。

セキュリティー・グループの例

次の図では、ネットワーク・トラフィックを制限するために、仮想サーバー・インスタンスが一連のセキュリティー・グループに関連付けられています。 矢印は、ネットワーク・トラフィックの流れを示しています。 アプリケーション開発者は、以下のように、各種のインフラストラクチャー層へのアクセスが制限されています。

  • アプリケーション開発者は、TCP ポート 443 (HTTPS) 上の Web 層にのみアクセスできます。
  • Web 層のインスタンスは、アプリケーション層のインスタンスにのみアクセスできます。
  • アプリケーション層のインスタンスは、データベース層のインスタンスにのみアクセスできます。

セキュリティグループのイメージ
セキュリティグループのイメージ