2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerVSのNetwork Security Groups(NSG)を試してみる

Last updated at Posted at 2025-02-27

はじめに

PowerVSのNetwork Security Groups(NSG)機能がGAしたので試してみます。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-nsg

新規に作成したPER対応ワークスペースで利用可能です。既存ワークスペースは6月までに順次対応するようです。

名称は同じですが、VPCのSecurity Groupsとは仕様が異なります。(どちらかというとVPCのACLに似ていますが、それとも少し違う部分があります。)

主な特徴は下記です。詳細は上記docsをご一読ください。
・statelessである。
・denyルールまたはallowルールで制御。
・暗黙的なdenyルールが存在し、どのallowルールにもマッチしなければdenyされる。
・ユーザーが作成したdenyルールは最初に評価され、そこでdenyルールにマッチすればそこでブロックして処理を完了する。(allowルールがあっても評価されない)
・sourceポートとdestinationポートを両方指定。
・inbound(外部からPowerVSに入ってくるパケット)について制御。
・PowerVSから出ていくパケットについては全て許可(outboundルールという概念が無い)。
・1つのネットワークインターフェースは1つのSecurity Groupsのみの対象とできる(同時に2つ以上のSecurity Groupsの対象にできない)。
・定義可能なNSGとNAGは1ワークスペースあたり10個まで。caseで追加の依頼は可能。-> Limitationの項を参照。
・Private Endpoint(161.26.0.0/16、166.8.0.0/14)との通信について考慮する必要がある(後述)。
・Security Groupsで保護できるのはPrivate側インターフェースのみ。Public IP(External IP)が付いているインターフェースはSecurity Groupsの保護対象にできない。

以下、実際に触ってみます。

デフォルトではSecurity Groupsはワークスペースに対し有効になっていない

Security Groupsに対応しているワークスペースでは、左側のメニューのNetworkingの配下にNetwork security groupsのメニューが表示されています。

ただし、Security Groupsが利用可能なワークスペースであっても、デフォルトでは有効になっていません。

image.png

上記画面でEnable for workspaceのボタンを押すと、Workspace detailsの設定画面に遷移します。それの一番下にNetwork security groupsのトグルボタンがあるので有効にします。

image.png

image.png

image.png

有効にした直後は、全てallowの状態

デフォルトで、Default local addressesという名前のSecurity Groupが存在します。

image.png

このデフォルトルールは、Allow Anyのルールを持っています。
image.png

サーバー作成時、デフォルトでこのSecurity Groupsが選択されています。(後述の手順で自分でSecurity Groupsを作ってあれば、それを選択可能です。)
image.png

よって、Security Groupsを有効にした初期状態(ユーザーが何もSecurity Groupsを作っていない状態)で作成するサーバーは、外部からの通信が全て許可された状態でプロビジョニングされます。

Network address groups(NAG)

PowerVSのSecurity Groupsには、Network address groupsという概念があります。これは、送信元のIPアドレス範囲を定義しておく定義体です。
例えば、オンプレミスのIPアドレス範囲が192.168.0.0/16だったとして、Security GroupのAllowまたはDenyのルールを作成する際に、ソースIPとして192.168.0.0/16を直接指定するのではなく、例えばon-premという名前のnetwork address groupを192.168.0.0/16の値で定義しておき、そのnetwork address groupをルール作成時に指定するような使い方をします。

デフォルトでは全てのアドレス範囲を包括するNetwork address groupsが定義されています。
image.png

例えば下記のように定義します。
image.png

実装例

Network address groups

送信元になるVSIはx86(Classic Infrastructure)にあるサーバーなので、Network address groupsとしてmyclassicという名前で10.192.0.0/16を定義しました。
デフォルトのNetwork address groupsは削除できないのでそのまま残っています。ユーザーが作成したNetwork address groupsに合致しないIP範囲は、全てデフォルトのNetwork address groupsとして扱われます。

image.png

image.png

Security Groups

Security Groupとして1つ作成しました(mysg)。デフォルトのSecurity Groupは削除できないのでそのまま残っています。

image.png

image.png

ClassicからのSSHを許可したいので下記ルールを作成しています。先述したように、ソースのIPアドレスやCIDRを直接入力する事はできず、"Remote"欄で、あらかじめ定義しておいたNetwork address groupsとして指定します。

image.png

Advancedの欄で、フラグを指定することもできます。
image.png

作成したSecurity Groupsは、サーバー作成時に指定できるようになります。
image.png

member

memberは、Security Groupsを適用するネットワークインターフェースです。
まずサーバーを指定し、次の画面でそのサーバーのどのインターフェースを対象とするかを指定します。
なお、memberは同時に2つ以上のSecurity Groupsに属することができません。追加したいmemberが他のSecurity Groupsに属している場合、そちらから削除した上で、目的のSecurity Groupsのmemberとして指定する必要があります。

サーバーを選択
image.png

そのサーバーのどのインターフェースを指定するか選択
image.png

image.png

サーバーの詳細画面でもmemberになっているSecurity Groupsを確認できる。
image.png

結果

期待通り、ClassicのVSIからPowerVSのサーバーにSSHが疎通するようになりました。
GUIからルールを作成してmemberを追加したら、数秒程度で反映されました。

Private Endpointとの通信について

Security Groupsを使う際は、ICOSやDNS、NTPといった、IBM Cloudサービスとの通信について考慮する必要があります。
PowerVSからこれらのサービスにアクセスする際は、PowerVSから出ていく向きのoutbound通信ですので、全て許可されます。Security Groupsはstatelessですので、それに対するレスポンスの通信を考慮したルールを作っておく必要があります。docs(この項の⑧)に記載がありますが、下記のIPアドレス範囲となります。
161.26.0.0/16: ICOS、DNS、NTP、Linuxレポジトリ等
166.8.0.0/14: IBM Cloud Databases等

まとめ

PER環境ではオンプレミスからPowerVSに直接ルーティングできるようになりましたが、ネットワーク保護の観点でGRE経由でClassicのGateway Applianceを経由する構成も引き続き多かったです。
inbound方向(外部ネットワークからPowerVSに入ってくる通信)のL4 Firewall機能があればOKという要件であれば、Gateway Applianceの代替として今回のSecurity Groupsをご検討いただけるのではないかと思います。

以上

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?