説明
すべてのアドレスからサービスポートへの通信を許可する Azure NSG 規則は、意図より広いアクセスを許す可能性があります。実際のアクセス範囲は、NSG の関連付け、規則の優先順位、ネットワーク経路にも依存します。公開ウェブサイトに必要なアクセスと、管理用・内部用のアクセスを区別してください。
想定される影響
外部アクセスが不要なサービスに、意図しないクライアントからの接続試行が届く可能性があります。サービスの機能や認証の状態によっては、不正利用や情報漏えいにつながるおそれがあります。
対処方法
不要な許可規則を削除するか、送信元を必要なクライアントの範囲に制限してください。関連付け先のリソースで有効な規則を確認し、新しい接続の許可と遮断を試験してください。規則を変更しても既存の接続は即座には切断されません。Ansible の purge_rules は既定で false のため、タスクの一覧から外した規則が実際に削除されたことも確認してください。
例
TCP 23 ポートへのアクセスが不要な場合の例です。対象のサブネットやネットワークインターフェイスに NSG を関連付ける設定は別途必要です。
変更前
yaml
- name: foo
azure_rm_securitygroup:
resource_group: myResourceGroup
name: mysecgroup
rules:
- name: example
priority: 100
direction: Inbound
access: Allow
protocol: TCP
source_port_range: "*"
destination_port_range: "23"
source_address_prefix: "0.0.0.0/0"
destination_address_prefix: "*"
すべての IPv4 アドレスから TCP 23 への通信を許可します。
変更後
yaml
- name: foo
azure_rm_securitygroup:
resource_group: myResourceGroup
name: mysecgroup
rules:
- name: example
priority: 100
direction: Inbound
access: Deny
protocol: TCP
source_port_range: "*"
destination_port_range: "23"
source_address_prefix: "*"
destination_address_prefix: "*"
この規則に一致する TCP 23 の新しい接続を拒否します。