このトピックでは、ECSインスタンスにデプロイされたwebサイトで外部webサービスを提供するシナリオやECSインスタンスへのリモートアクセスを管理するシナリオなど、一般的なシナリオでクラウドリソースのネットワークトラフィックのセキュリティと信頼性を確保するために、Elastic Compute Service (ECS) のセキュリティグループの特性に基づいてセキュリティグループルールを設定する方法について説明します。
考慮事項
セキュリティグループルールに関する次の項目に注意してください。
デフォルトでは、セキュリティグループはすべてのインバウンドアクセスを拒否します。
デフォルトでは、基本セキュリティグループはすべてのアウトバウンドアクセスを許可します。
デフォルトでは、異なるセキュリティグループ内のECSインスタンスは、内部ネットワークを介して相互に分離されます。
Virtual Private Cloud (VPC) タイプのセキュリティグループでは、各ルールがインターネットおよび内部ネットワークへのアクセスを制御します。 セキュリティグループルールを設定して、インターネットおよび内部ネットワークとの間のトラフィックを拒否または許可できます。
クラシックネットワークタイプのセキュリティグループでは、パブリックルール (インターネット入力ルールとインターネット出力ルール) がインターネットへのアクセスまたはインターネットからのアクセスを制御し、内部ルール (インバウンドルールとアウトバウンドルール) が内部ネットワークへのアクセスまたは内部ネットワークからのアクセスを制御します。
このトピックで説明するすべてのサンプルセキュリティグループルールは、一般的なアプリケーションで使用されるデフォルトポート用に設定されています。 ECSインスタンスにデプロイされたアプリケーションは、インスタンスのポートを使用して外部サービスを提供します。 詳細については、「共通ポート」をご参照ください。
値0.0.0.0/0は、すべてのIPv4アドレスを示します。 セキュリティ上の理由から、ビジネス要件と最小特権の原則に基づいて、IPアドレスまたはCIDRブロックを許可オブジェクト (トラフィックソースまたは宛先) として指定することを推奨します。 許可オブジェクトとして0.0.0.0/0または::/0を指定して、すべてのIPv4またはIPv6アドレスからのアクセスを許可する場合は注意が必要です。 セキュリティグループでサポートされている権限付与オブジェクトの種類については、「セキュリティグループルール」トピックの各セキュリティグループルールの構成セクションを参照してください。
webサイトがwebサービスを提供できるようにするためのセキュリティグループルール
インターネットからのアクセスを許可するWebサイトサーバーの場合、TCPポート80 (HTTP) および443 (HTTPS) でのみ任意のソースからのインバウンドトラフィックを許可するようにセキュリティグループルールを構成できます。 これにより、Webサイトにインターネットからアクセスできるようになりますが、サーバー上の他のサービスへの直接アクセスは制限されます。
次の表に、セキュリティグループルールのサンプルを示します。
ルールの方向 | Action | 優先度 | プロトコルタイプ | ポート範囲 | 権限付与オブジェクト |
インバウンド | 許可 | 1 | カスタマイズTCP | オープンポート:
| 出典: 0.0.0.0/0 |
上記のルールを追加してもWebサイトにアクセスできない場合は、必要なポートがすべて開いていて使用できるかどうかを確認します。 詳細については、「」をご参照ください。インスタンスにデプロイされたサービスにアクセスできない場合はどうすればよいですか。
ECSインスタンスへのリモートアクセスを管理するためのセキュリティグループルール
ECSインスタンスに接続するには、接続プロトコルのポートを開きます。 たとえば、TCPポート22 (SSH) またはカスタムSSHポートを開きます。 悪意のある攻撃のリスクを軽減するには、接続プロトコルのポートにアクセスできる許可オブジェクトを、管理者や特定のサーバーのIPアドレスなどの特定のユーザーに制限するようにセキュリティグループルールを設定します。
セキュリティ上の理由から、最小権限の原則に基づいて接続ポートの許可オブジェクトを管理することを推奨します。 許可オブジェクトとして0.0.0.0/0または::/0を指定して、すべてのIPv4またはIPv6アドレスからのアクセスを許可する場合は注意が必要です。
次の表に、セキュリティグループルールのサンプルを示します。
ルールの方向 | Action | 優先度 | プロトコルタイプ | ポート範囲 | 権限付与オブジェクト |
インバウンド | 許可 | 1 | カスタマイズTCP |
| ソース: 192.168.XX.XX 説明 特定のユーザーまたは特定のサーバーのIPアドレス。 接続がパブリックネットワーク経由かプライベートネットワーク経由かに基づいて、パブリックIPアドレスまたはプライベートIPアドレスを入力します。 |
Alibaba Cloud Workbenchを使用してECSインスタンスに接続する場合、特定の権限付与オブジェクトのみを許可する必要があります。 次の表に、インバウンドセキュリティグループルールのサンプルを示します。
Action | 優先度 | プロトコルタイプ | ポート範囲 | 権限付与オブジェクト |
許可 | 1 | カスタマイズTCP |
| インスタンスに関連付けられている自動割り当てパブリックIPアドレスまたはelastic IPアドレス (EIP) を使用してLinuxインスタンスに接続するには、 161.117.0.0/16 インスタンスのプライベートIPアドレスを使用してインスタンスに接続するには、100.104.0.0/16を指定します。 |
クラシックネットワーク内のインスタンスへのWorkbenchアクセスを許可するために使用されるセキュリティグループルールの詳細については、「パスワードまたはキーを使用してLinuxインスタンスに接続するセキュリティグループルールを追加する」セクションと、「パスワードまたはキーを使用してWindowsインスタンスに接続する」セクションの「セキュリティグループルールを追加する」セクションを参照してください。パスワードまたはキーを使用してWindowsインスタンスに接続する。
異なるセキュリティグループ内のインスタンスが内部ネットワークを介して相互に通信できるようにするセキュリティグループルール
セキュリティグループAのインスタンスがFTP経由でセキュリティグループBのインスタンスの共有ファイルにアクセスする場合など、同じVPC内の異なるセキュリティグループのECSインスタンス間でデータを共有する場合は、内部ネットワークを介したセキュリティグループ間の相互アクセスを許可するルールを追加できます。 上記の方法は、個々のIPアドレスまたはCIDRブロックへのアクセスを許可するルールを追加するよりも便利です。 各セキュリティグループのインスタンスごとにアクセス制御を個別に設定する必要はありません。
この方法は、異なるVPC内にあるECSインスタンスではサポートされていません。 Cloud Enterprise Network (CEN) を使用して、VPC内のインスタンスを別のVPC内のインスタンスに接続できます。 詳細については、「概要」をご参照ください。
シナリオ1:
セキュリティグループAとセキュリティグループBが同じAlibaba Cloudアカウントに属している場合、セキュリティグループAからのインバウンドアクセスを許可するルールをセキュリティグループBに追加するときに、権限付与オブジェクトとしてセキュリティグループaのIDを指定する必要があります。
ルールの方向
Action
優先度
プロトコルタイプ
ポート範囲
権限付与オブジェクト
インバウンド
許可
1
カスタマイズTCP
目的地: 21/21
出典: sg-bp1hv6wvmegs036 ****
説明上の表で提供されているセキュリティグループIDは参照用です。 セキュリティグループIDを実際のセキュリティグループIDに置き換えます。
シナリオ2:
セキュリティグループAとセキュリティグループBが同じAlibaba Cloudアカウントに属していない場合、セキュリティグループAからのインバウンドアクセスを許可するルールをセキュリティグループBに追加する際に、セキュリティグループAのIDとセキュリティグループaが属するAlibaba CloudアカウントのIDを承認オブジェクトとして指定する必要があります。
ルールの方向
Action
優先度
プロトコルタイプ
ポート範囲
権限付与オブジェクト
インバウンド
許可
1
カスタマイズTCP
目的地: 21/21
出典: 160998252992 ****/sg-bp174yoe2ib1sqj5 ****
説明上の表に記載されているAlibaba CloudアカウントIDとセキュリティグループIDは参照用です。 IDを実際のIDに置き換えます。
データベースへのアクセスを制御するセキュリティグループルール
ほとんどの場合、データベースには厳格なセキュリティポリシーが必要です。 セキュリティグループルールを設定して、アプリケーションサーバーが属するセキュリティグループなど、特定のIPアドレスまたはセキュリティグループからの特定のポートでのみインバウンド接続を許可できます。 これにより、データベースアクセスのプライバシーとセキュリティが保証されます。
セキュリティ上の理由から、最小権限の原則に基づいてデータベースの権限付与オブジェクトを管理することを推奨します。 許可オブジェクトとして0.0.0.0/0または::/0を指定して、すべてのIPv4またはIPv6アドレスからのアクセスを許可する場合は注意が必要です。
次の表に、対応するデフォルトポートを使用する共通データベースのセキュリティグループルールの例を示します。
データベースタイプ | ルールの方向 | Action | 優先度 | プロトコルタイプ | ポート範囲 | 権限付与オブジェクト |
MySQL | インバウンド | 許可 | 1 | カスタマイズTCP | 目的地: 3306/3306 | ソース: 172.16.XX.XX.XX |
Oracle | インバウンド | 許可 | 1 | カスタマイズTCP | 目的地: 1521/1521 | ソース: 192.168.XX.XX |
MS SQL | インバウンド | 許可 | 1 | カスタマイズTCP | 目的地: 1433/1433 | ソース: 192.168.XX.XX/16 |
PostgreSQL | インバウンド | 許可 | 1 | カスタマイズTCP | 目的地: 5432/5432 | 出典: sg-bp1hv6wvmegs036 **** |
Redis | インバウンド | 許可 | 1 | カスタマイズTCP | 目的地: 6379/6379 | 出典: 160998252992 ****/sg-bp174yoe2ib1sqj5 **** |
上記の表に記載されているIPアドレス、CIDRブロック、Alibaba CloudアカウントID、およびセキュリティグループIDは参照用です。 情報を実際の情報に置き換えます。
特定のプロトコルを使用してECSインスタンスへのアクセスを制御するためのセキュリティグループルール
ビジネス要件に基づいて特定のネットワークプロトコルを制限する必要がある場合があります。 たとえば、TCPまたはUDPの特定のポートでのみトラフィックを許可する必要がある場合があります。 インターネット制御メッセージプロトコル (ICMP) は、IPホストとルータとの間で制御メッセージを転送するために使用される。 クライアントでping
コマンドを実行してECSインスタンスにpingを実行するなど、特定のテスト操作を実行する前に、セキュリティグループルールを追加してインバウンドICMPアクセスを許可する必要があります。 次の表に、セキュリティグループルールのサンプルを示します。
ルールの方向 | Action | 優先度 | プロトコルタイプ | ポート範囲 | 権限付与オブジェクト |
インバウンド | 許可 | 1 |
| 宛先: -1/-1 | クライアントの IP アドレス。 説明 ネットワーク環境に基づいてIPv4アドレスまたはIPv6アドレスを入力します。 |
ECSインスタンスから外部Webサイトへのアクセスを制限するためのセキュリティグループルール
デフォルトでは、基本セキュリティグループはすべてのアウトバウンドアクセスを許可します。 基本セキュリティグループ内のECSインスタンスが特定のWebサイトにのみアクセスできるようにするには、セキュリティグループをホワイトリストとして使用し、すべてのアウトバウンドアクセスを拒否する拒否ルールを追加してから、WebサイトのIPアドレスへのアウトバウンドアクセスを許可する許可ルールを追加します。
以下の点にご注意ください。
複数のルールが、対応するプロトコル、ポート範囲、および許可オブジェクトに基づいて要求を照合した後、要求は、適用する単一のルールを決定するために、ルールの優先順位およびアクションに対して照合される。 許可ルールが一致して適用されるまで、セッションは確立されません。
セキュリティグループルールの優先度の値が小さいほど、優先度が高いことを示す。 2つのセキュリティグループルールの優先度が同じで、アクションのみが異なる場合、[拒否] ルールが有効になります。 拒否ルールの優先度は、許可ルールの優先度より低くする必要があります。 これにより、許可ルールが有効になり、指定されたWebサイトのIPアドレスへのアウトバウンドアクセスが許可されます。
次の表に、セキュリティグループルールの例を示します。
ルールの方向 | Action | 優先度 | プロトコルタイプ | ポート範囲 | 権限付与オブジェクト |
アウトバウンド | 拒否 | 2 | All | 宛先: -1/-1 | 宛先: 0.0.0.0/0 |
アウトバウンド | 許可 | 1 | カスタマイズTCP | 目的地: 80/80 | 目的地: 47.96.XX.XX |
アウトバウンド | 許可 | 1 | カスタマイズTCP | 目的地: 443/443 | 目的地: 121.199.XX.XX |
上記の規則は、セキュリティグループ内のECSインスタンスが、ポート80の47.96.XX.XXのHTTPサービスと、ポート443の121.199.XX.XXのHTTPSサービスにアクセスできることを示しています。 他のアウトバウンドアクセス要求は拒否される。