0
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?

NSG(ネットワークセキュリティグループ)のソースタイプをNSGにしてみる

0
Posted at

前提

NSG(ネットワークセキュリティグループ)のソースタイプとしてCIDRのほかにNSGを選択できるということを知った。
https://docs.oracle.com/ja-jp/iaas/Content/Network/Concepts/securityrules.htm#sec_rules_parts

ソース・タイプ:CIDR, NSG★, サービス

NSGのセキュリティルールを記載する際、ソースタイプをNSGにして実際に通信できることと、そのほかの場所からは通信できないことを検証する

構成図&方針

architectureNSG_compress2.png

・FLB用、VM用のNSGを作成
・FLBはパブリックサブネット、VMはプライベートサブネットに配置
・NSG_FLBをFLBにアタッチ、VM_NSGをVMのVNICにアタッチ
・FLBのバックエンドと通信するIPアドレスは変わることがある(公式ドキュメント)がNSGをFLBにアタッチしているので変わっても大丈夫
・NSG_FLB ルール(FLBにアタッチ)

方向 ソース 宛先 プロトコル ポート ステートフル 用途
イングレス 0.0.0.0/0 NSG_FLB TCP 80 有効 インターネットからのイングレス通信許可
エグレス NSG_FLB NSG_VM TCP 80 有効 FLB → VM へのアウトバウンド通信許可

・NSG_VM ルール(インスタンスのVNICにアタッチ)

方向 ソース 宛先 プロトコル ポート ステートフル 用途
イングレス NSG_FLB NSG_VM TCP 80 有効 FLB → VM へのイングレス通信許可

環境作成

・VCNウィザードで作成
・インスタンス配置
・FLBの設定は80番ポートでhttp

・FLB用NSG作成
image-7.png
後で、Webサーバ側へのNSGへのアウトバウンドを追記予定

・Webサーバ側NSG作成
image-8.png
WEBサーバ側のNSG、イングレスでソースをFLB_NSGを指定する。ステートフルなのでイングレスのみ。

■WEBサーバのVNICにNSGを設定する
image-10.png

image-11.png

追加された
image-12.png

■FLBの作成する際にNSG_FLBをアタッチ
image-13.png
・NSGだけで設定したいので、自動でセキュリティリストが更新されないようにチェックを入れる
image-14.png

実際にFLBにNSGがアタッチされていることを確認
image-24.png

接続テスト

■個人PC→インターネット→FLB→WEBサーバ:接続OK

image-15.png

# WEBサーバ側パケットキャプチャ
06:25:42.765666 IP 10.0.0.2.33886 > 10.0.1.5.80: Flags [S], seq 4251316030, win 62720, options [mss 8960,sackOK,TS val 2896762623 ecr 0,nop,wscale 10], length 0
06:25:42.767189 IP 10.0.0.2.33886 > 10.0.1.5.80: Flags [P.], seq 4251316031:4251316811, ack 62196125, win 62, options [nop,nop,TS val 2896762625 ecr 1022225860], length 780: HTTP: GET / HTTP/1.1
06:25:42.767798 IP 10.0.0.2.33886 > 10.0.1.5.80: Flags [.], ack 1, win 62, options [nop,nop,TS val 2896762625 ecr 1022225860], length 0
06:25:42.768478 IP 10.0.0.2.33886 > 10.0.1.5.80: Flags [.], ack 138, win 62, options [nop,nop,TS val 2896762626 ecr 1022225862], length 0
06:25:47.774586 IP 10.0.0.2.33886 > 10.0.1.5.80: Flags [F.], seq 780, ack 139, win 62, options [nop,nop,TS val 2896767632 ecr 1022230866], length 0

10.0.0.2:FLBのバックエンドサーバと通信する際のIPアドレス
10.0.1.5:インスタンスのIPアドレス

■同じパブリックサブネットの一時インスタンス→WEBサーバ:接続NG

※アクセスできないことの証跡としてVCNフローログを使う
vm2deny_compress.png

取得フィルタ―の作成
image-16.png

フローログの有効化
image-17.png

#VM2→FLBへ通信 
[opc@bastion-vm2 ~]$ curl 10.0.1.5
^C
#セキュリティグループで許可されていないのでSYNパケットが破棄されている状態

・実際にREJECTされていることがログで確認
image-18.png
10.0.0.16:パブリックサブネットに置いたクライアントインスタンスのIPアドレス
10.0.1.5:WEBサーバインスタンスのIPアドレス

以上、NSGのセキュリティルールのソース宛先にNSGが指定できることを確認しました。

0
0
0

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
0
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?