Cloud SQL SQL Serverでリモートアクセスの無効化について

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、「どうやって直すのか?」 という具体的な修復手順(コンソール、gcloud CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、Cloud SQL SQL Serverインスタンスの「remote access」パラメータを無効化し、DoS攻撃のリスクを低減する方法について、リスクと対策を解説します。

ポリシーの説明
SQL ServerのRemote Access機能は、SQL Serverインスタンス間でストアドプロシージャの実行を制御する設定です。この機能は既に廃止予定(deprecated)となっており、セキュリティ上のリスクがあるため無効化することが推奨されています。
この「remote access」設定は、一般的なSQL Serverへのネットワーク接続とは異なり、リンクサーバーや通常のクライアント接続には影響しません。
修復方法
コンソールでの修復手順
Google Cloud コンソールを使用して、SQL Serverインスタンスのremote accessを無効化します。
- Google Cloud Consoleにアクセス
- Cloud SQL インスタンスページに移動
- 対象のSQL Serverインスタンスを選択
- インスタンス一覧から該当するSQL Serverインスタンスをクリック
- インスタンスの編集画面を開く
- インスタンスの詳細ページで「編集」ボタンをクリック
- データベースフラグの設定
- 「構成」セクションまでスクロール
- 「データベースフラグ」の項目を展開
- 「フラグを追加」をクリック
- remote accessフラグを設定
- フラグ名:
remote access
- 値:
off
- フラグ名:
- 変更を保存
- ページ下部の「保存」ボタンをクリック
- 注意: この変更にはインスタンスの再起動が必要です
- 設定の確認
- インスタンスが再起動後、SQL Server Management Studio (SSMS) または Cloud Shellから以下のクエリで確認:
EXEC sp_configure 'remote access';
config_value
とrun_value
が 0 になっていることを確認
Terraformでの修復手順
Cloud SQL SQL Serverインスタンスでremote accessを無効にするTerraformコードと、主要な修正ポイントを説明します。
# Cloud SQL SQL Serverインスタンスの設定
resource "google_sql_database_instance" "sqlserver" {
>>> Skip
settings {
# データベースフラグの設定
database_flags {
name = "remote access"
value = "off" # リモートアクセスを無効化
}
}
}
最後に
この記事では、Cloud SQL SQL Serverインスタンスのremote accessパラメータを無効化する方法について、リスクと対策を解説しました。
remote accessは廃止予定の機能であり、DoS攻撃のリスクを含むセキュリティ上の懸念があります。リンクサーバーなどの現代的な機能には影響しないため、セキュリティベストプラクティスとして無効化することを強く推奨します。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理することが可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。