説明
Compute Engine のネットワークインターフェースにある accessConfigs は、外部 IPv4 アドレスを構成できます。実際のインターネット接続はルート、ファイアウォール、待ち受けサービスにも依存し、外部 IP があるだけで匿名アクセスが許可されるわけではありません。
内部処理用の VM は、可能であれば外部 IP なしで運用してください。外部公開が必要な場合は、ロードバランサーやプロキシなど用途に合う入口とアクセス制限を併せて構成してください。
想定される影響
- 許可されたポートが、インターネットからのスキャンや不要な接続試行を受ける場合があります。
- サービスの脆弱性や漏えいした認証情報により、データへの不正アクセスや変更のリスクが高まる場合があります。
対処方法
- 直接の外部アクセスが不要なインターフェースでは、外部 IP 設定を削除してください。先に VPN や IAP などの管理経路と、Cloud NAT など必要な送信接続を準備してください。
- 公開サービスにはファイアウォール、認証、通信の暗号化を適用し、実際のアクセス範囲をテストしてください。他のインターフェース、IPv6、別の公開経路も確認してください。
例
Deployment Manager のサポートは終了しています。サポートされる管理ツールを使用してください。以下はネットワークインターフェースの一部だけを示す既存の抜粋です。network を実際に使う VPC ネットワークに置き換え、残りの VM 設定を別途構成する必要があります。
変更前
yaml
resources:
- name: instance
type: compute.v1.instance
properties:
networkInterfaces:
- accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
変更後
yaml
resources:
- name: instance
type: compute.v1.instance
properties:
networkInterfaces:
- network: network
補足:
- 変更前: 外部 IPv4 の構成を要求します。実際の受信アクセスには、ネットワークとサービスの条件も必要です。
- 変更後: 表示したインターフェースに、外部 IPv4 の accessConfigs を指定していません。VM の意図しない公開経路がすべて除去されたかは、別途確認する必要があります。