ホームページ  >  記事  >  運用・保守  >  セキュリティ グループ ルールを承認および取り消し、セキュリティ グループに参加および脱退する方法

セキュリティ グループ ルールを承認および取り消し、セキュリティ グループに参加および脱退する方法

坏嘻嘻
坏嘻嘻オリジナル
2018-09-19 11:57:222362ブラウズ

この記事は、セキュリティ グループの承認、取り消し、およびセキュリティ グループへの参加と脱退の方法について説明しています。必要な方は参考にしていただければ幸いです。 。

この記事では、セキュリティ グループの次の内容を紹介します:

セキュリティ グループ ルールの承認と取り消し。

セキュリティ グループに参加し、セキュリティ グループから脱退します。

Alibaba Cloud のネットワーク タイプは、クラシック ネットワークと VPC に分かれており、セキュリティ グループのさまざまな設定ルールをサポートしています:

クラシック ネットワークの場合は、次のルールを設定できます: イントラネット アクセス方向。 、イントラネット送信方向、パブリック ネットワーク受信方向、およびパブリック ネットワーク送信方向。

VPC ネットワークの場合は、受信方向と送信方向を設定できます。

#セキュリティ グループ イントラネット通信の概念

この記事を始める前に、セキュリティ グループ イントラネット通信の次の概念を理解しておく必要があります。

デフォルトでは、同じセキュリティ グループ内の ECS インスタンスのみがネットワーク経由で相互に通信できます。同じアカウントの ECS インスタンスが異なるセキュリティ グループに属している場合でも、イントラネット ネットワークにはアクセスできません。これは、クラシック ネットワークと VPC ネットワークの両方に適用されます。したがって、クラシック ネットワークの ECS インスタンスもイントラネットに対して安全です。

同じセキュリティ グループに属さない 2 つの ECS インスタンスがあり、それらがイントラネット上で相互に通信できないことを望んでいるが、実際には通信している場合は、イントラネット ルールの設定を確認する必要があります。セキュリティグループの。イントラネットプロトコルに以下のプロトコルが存在する場合は、再設定することをお勧めします。

すべてのポートを許可します。

認可オブジェクトは CIDR ネットワーク セグメント (SourceCidrIp): 0.0.0.0/0 または 10.0.0.0/8 ルールです。

クラシック ネットワークの場合、上記のプロトコルによりイントラネットが他のアクセスにさらされることになります。

異なるセキュリティ グループのリソース間でネットワーク通信を実現したい場合は、セキュリティ グループ承認を使用する必要があります。イントラネット アクセスの場合は、CIDR セグメント承認の代わりにソース セキュリティ グループ承認を使用する必要があります。

セキュリティ ルールの属性

セキュリティ ルールは主に、次の属性を含むさまざまなアクセス権を記述します。

ポリシー: 承認ポリシーのパラメータ値は、accept (受け入れ) またはdrop (拒否) です。

優先度: 優先度。セキュリティ グループ ルールの作成時間に従って一致を降順で並べ替えます。ルール優先度のオプションの範囲は 1 ~ 100 で、デフォルト値は 1 で、これが最も高い優先度です。数値が大きいほど優先度は低くなります。

NicType: ネットワークの種類。 SourceCidrIp を指定せずに SourceGroupId のみを指定した場合、セキュリティ グループを通じて認証が行われることを意味します。この場合、NicType はイントラネットとして指定する必要があります。

ルールの説明:

IpProtocol: IP プロトコル、値: udp | icmp | all はすべてのプロトコルを意味します。

PortRange: IP プロトコル関連のポート番号の範囲:

IpProtocol が tcp または udp の場合、ポート番号の範囲は 1 ~ 65535 であり、形式は「開始ポート番号/」である必要があります。 「1/200」などの「ポート番号」は、ポート番号の範囲が 1 ~ 200 であることを意味します。入力値が「200/1」の場合、インターフェイス呼び出しはエラーを報告します。

IpProtocol 値が icmp、gre、または all の場合、ポート番号の範囲は -1/-1 であり、ポート制限がないことを意味します。

セキュリティ グループを通じて承認される場合は、ソース セキュリティ グループ ID である SourceGroupId を指定する必要があります。このとき、アカウント間で承認するかどうかに応じて、ソース セキュリティ グループが属するアカウント SourceGroupOwnerAccount を設定することを選択できます。

CIDR を通じて承認される場合は、SourceCidrIp、つまりソース IP を指定する必要があります。アドレス セグメント。CIDR 形式を使用する必要があります。

#ネットワーク アクセス リクエスト ルールを承認するコンソールまたは API を通じてセキュリティ グループを作成する場合、ネットワーク アクセスの方向はデフォルトですべて拒否されます。これがデフォルトの状況です。 次に、すべてのネットワーク アクセス要求を拒否します。これはすべての状況に当てはまるわけではないため、アクセス ルールを適切に構成する必要があります。

たとえば、外部に HTTP サービスを提供するためにパブリック ネットワークのポート 80 を開く必要がある場合、それはパブリック ネットワーク アクセスであるため、できるだけネットワークにアクセスしたいため、 IP ネットワーク セグメントに制限はありません。具体的な設定については、括弧の外側にあるコンソール パラメーターと、括弧内にある OpenAPI パラメーターを参照してください。は同じなので、区別はされません。

ネットワーク カード タイプ (NicType): パブリック ネットワーク (インターネット)。 VPC タイプの場合は、イントラネットに入力し、EIP 経由でパブリック ネットワーク アクセスを実現するだけです。

認可ポリシー (ポリシー): 許可 (受け入れ)。

ルールの方向 (NicType): ネットワークへ。

プロトコル タイプ (IpProtocol): TCP (tcp)。

ポート範囲 (PortRange): 80/80。

認可オブジェクト (SourceCidrIp): 0.0.0.0/0。

優先度: 1.

注: 上記の提案は、パブリック ネットワークにのみ有効です。イントラネット要求に CIDR ネットワーク セグメントを使用することはお勧めできません。クラシック ネットワークのイントラネット セキュリティ グループ ルールを参照してください。CIDR または IP 認証は使用しないでください。

受信リクエスト ルールをブロックするルールを禁止する場合、必要なのは拒否ポリシーを構成し、優先度を低く設定することだけです。このようにして、必要に応じて他の優先度の高いルールを設定してこのルールをオーバーライドできます。たとえば、次の設定を使用して、ポート 6379 へのアクセスを拒否できます。

ネットワーク カード タイプ (NicType): イントラネット。

認可ポリシー (ポリシー): 拒否 (ドロップ)。

ルールの方向 (NicType): ネットワークへ。

プロトコル タイプ (IpProtocol): TCP (tcp)。

ポート範囲 (PortRange): 6379/6379。

認可オブジェクト (SourceCidrIp): 0.0.0.0/0。

優先度: 100。

クラシック ネットワークのイントラネット セキュリティ グループ ルールには CIDR または IP 認証を使用しないでください

クラシック ネットワークの ECS インスタンスの場合、Alibaba Cloud は使用しません。デフォルトで有効にします。任意のイントラネットのアクセス ルールにアクセスします。イントラネットを認証するときは注意が必要です。

セキュリティ上の理由から、CIDR ネットワーク セグメントに基づく承認を有効にすることはお勧めできません。

エラスティック コンピューティングの場合、イントラネットの IP は頻繁に変化します。また、この IP のネットワーク セグメントは不規則であるため、クラシック ネットワークのイントラネットに対しては、イントラネットへのアクセスを許可することをお勧めします。セキュリティグループを通じて。

たとえば、セキュリティ グループ sg-redis に Redis クラスターを構築した場合、特定のマシン (sg-web など) のみがこの Redis サーバー グループにアクセスできるようにするには、設定する必要はありません。任意の CIDR エントリ ルールを追加する必要があります。関連するセキュリティ グループ ID を指定するだけです。

ネットワーク カード タイプ (NicType): イントラネット。

認可ポリシー (ポリシー): 許可 (受け入れ)。

ルールの方向 (NicType): ネットワークへ。

プロトコル タイプ (IpProtocol): TCP (tcp)。

ポート範囲 (PortRange): 6379/6379。

認可オブジェクト (SourceGroupId): sg-web.

優先度: 1.

VPC タイプのインスタンスの場合、複数の VSwitch を通じて独自の IP 範囲を計画している場合は、セキュリティ グループ エントリ ルールとして CIDR 設定を使用できます。ただし、VPC ネットワーク セグメントが十分に明確でない場合は、次のようにすることをお勧めします。セキュリティグループをエントリルールとして使用することを優先します。

相互に通信する必要がある ECS インスタンスを同じセキュリティ グループに追加します

ECS インスタンスは最大 5 つのセキュリティ グループに参加できます、グループ内の同じセキュリティ グループ ECS インスタンスがネットワーク経由で相互接続されます。計画中にすでに複数のセキュリティ グループがあり、複数のセキュリティ ルールを直接設定することが複雑すぎる場合は、新しいセキュリティ グループを作成し、イントラネット通信を必要とする ECS インスタンスをこの新しいセキュリティ グループに追加できます。

セキュリティ グループはネットワーク タイプを区別します。クラシック ネットワーク タイプの ECS インスタンスはクラシック ネットワークのセキュリティ グループにのみ参加でき、VPC タイプの ECS インスタンスはこの VPC のセキュリティ グループにのみ参加できます。

すべての ECS インスタンスをセキュリティ グループに追加することはお勧めできません。セキュリティ グループのルール設定が悪夢のようなものになってしまいます。中規模から大規模のアプリケーションの場合、各サーバー グループには異なる役割があり、各サーバーの受信リクエストと送信リクエストを合理的に計画することが非常に必要です。

ドキュメント「セキュリティ グループへの参加」の説明に従って、コンソールでセキュリティ グループにインスタンスを追加できます。

Alibaba Cloud の OpenAPI に精通している場合は、「OpenAPI を使用して ECS インスタンスを柔軟に管理し、OpenAPI を通じてバッチ操作を実行する」を参照してください。対応する Python スニペットは次のとおりです。

def join_sg(sg_id, instance_id):
    request = JoinSecurityGroupRequest()
    request.set_InstanceId(instance_id)
    request.set_SecurityGroupId(sg_id)
    response = _send_request(request)
    return response
# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)

セキュリティ グループから ECS インスタンスを削除します

ECS インスタンスが不適切なセキュリティ グループに追加されると、サービスが公開されます。またはブロックされている場合は、このセキュリティ グループから ECS インスタンスを削除することを選択できます。ただし、セキュリティ グループを削除する前に、ECS インスタンスが他のセキュリティ グループに参加していることを確認する必要があります。

注: ECS インスタンスをセキュリティ グループから移動すると、ECS インスタンスが現在のセキュリティ グループのネットワークから切断されます。移動する前に十分なテストを実施することをお勧めします。

対応する Python スニペットは次のとおりです。

def leave_sg(sg_id, instance_id):
    request = LeaveSecurityGroupRequest()
    request.set_InstanceId(instance_id)
    request.set_SecurityGroupId(sg_id)
    response = _send_request(request)
    return response
# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)

合理的なセキュリティ グループ名とラベルを定義する

合理的なセキュリティ グループ名と説明は、現在の複雑なルールの組み合わせを迅速に識別するのに役立ちます。名前と説明を変更すると、セキュリティ グループを簡単に識別できます。

セキュリティ グループにラベル グループを設定することで、独自のセキュリティ グループを管理することもできます。ラベルはコンソールで直接設定することも、API を通じて設定することもできます。

不要なセキュリティ グループの削除

セキュリティ グループのセキュリティ ルールは、ホワイトリストとブラックリストに似ています。したがって、誤って ECS インスタンスに参加することによる無用なトラブルを避けるために、不要なセキュリティ グループは保持しないでください。

以上がセキュリティ グループ ルールを承認および取り消し、セキュリティ グループに参加および脱退する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。