適用対象:Linux 上の SQL Server
Linux は異種で継続的に進化するオペレーティング システムであるため、Sql Server on Linux のセキュリティ保護は継続的なプロセスです。 私たちの目標は、お客様が既に持っているものを基にして、時間の経過とともに洗練されたセキュリティを段階的に改善できるように支援することです。 このページは、SQL Server on Linux をセキュリティで保護するための主要なプラクティスとリソースのインデックスとして機能します。
セキュリティで保護された Linux システムから始める
この記事では、強化されたセキュリティで保護された Linux システムに SQL Server をデプロイしたことを前提としています。 セキュリティ対策は Linux ディストリビューションによって異なります。 詳細については、「 SELinux での SQL Server の概要」を参照してください。
セキュリティプラクティスは、使用している Linux ディストリビューションによって異なります。 詳細なガイダンスについては、配布プロバイダーに問い合わせて、推奨されるベスト プラクティスを確認してください。 次のようなドキュメントを参照することもできます。
運用環境にデプロイする前に、制御されたテスト環境で選択したプラットフォームと構成を常に検証してください。
SQL Server のセキュリティ ガイダンスを適用する
SQL Server on Linuxは複数のセキュリティ層を提供します。
最小特権の原則に基づき、アカウントとデータベース ユーザーを作成します。
行レベルのセキュリティや動的データマスキングなどの機能を活用して、細かなアクセス制御を行ってください。
ファイル システムのセキュリティは、
/var/opt/mssqlの厳密な所有権とアクセス許可によって適用され、mssqlユーザーとグループのみが適切なアクセス権を持ちます。Active Directory認証により、Kerberosベースのシングルサインオン(SSO)、集中型パスワードポリシー、グループベースのアクセス管理が可能になります。
暗号化された接続は、TLS を使用して転送中のデータを保護し、サーバーまたはクライアントによって開始される暗号化のオプションと、業界標準を満たす証明書のサポートを提供します。
次の重要なリソースからの推奨事項を確認して実装します。
- SQL Server on Linux のセキュリティ機能のチュートリアル
- Linux版SQL Server on Linuxのセキュリティおよび権限ガイド
- SQL Server on Linux での Active Directory 認証
- チュートリアル: adutil を使用して SQL Server on Linux で Active Directory 認証を構成する
- SQL Server on Linux への接続を暗号化する
Linux での SQL Server 監査
SQL Server on Linux では、組み込みの SQL Server 監査機能がサポートされているため、コンプライアンスとセキュリティの監視のためにサーバー レベルおよびデータベース レベルのイベントを追跡およびログに記録できます。
一般的なベスト プラクティス
- Linux オペレーティング システムと SQL Server を定期的に更新します。
- 実稼働サーバーは SQL Server ワークロード専用です。
- アカウントとサービス の最小特権の原則 を適用します。
-
ベストプラクティスとして
saアカウントを無効にしましょう。
WindowsおよびLinuxでの一般的なセキュリティベストプラクティスについては、SQL Serverのセキュリティベストプラクティスを参照してください。
ベストプラクティスとして sa アカウントを無効にしましょう
インストール後に初めてシステム管理者 (sa) アカウントを使用して SQL Server インスタンスに接続するときは、次の手順に従い、その後すぐにセキュリティのベスト プラクティスとして sa アカウントを無効にすることが重要です。
新しいログインを作成し、sysadmin サーバー ロールのメンバーにします。
コンテナーとコンテナー以外のどちらがデプロイされているかに応じて、Windows 認証を有効にして、新しい Windows ベースのログインを作成し、それを sysadmin サーバー ロールに追加します。
それ以外の場合は、SQL Server 認証を使用してログインを作成し、sysadmin サーバー ロールに追加します。
作成した新しいログインを使用してSQL Serverインスタンスに接続します。
セキュリティのベスト プラクティスで推奨されているように、
saアカウントを無効にします。
SQL Server on Linux に対するセキュリティの制限事項
現在、SQL Server on Linux には、次の制限があります。
Sql Server 2025 (17.x) on Linux 以降では、カスタム パスワード ポリシーを適用できます。 詳細については、 SQL Server on Linux での SQL ログインのカスタム パスワード ポリシーの設定に関する記事を参照してください。
Linux 以前のバージョンの SQL Server 2022 (16.x) では、標準のパスワード ポリシーが提供されています。
MUST_CHANGEは、構成できる唯一のオプションです。CHECK_POLICYオプションを有効にすると、SQL Server によって提供される既定のポリシーのみが適用され、Active Directory グループ ポリシーで定義されている Windows パスワード ポリシーは適用されません。SQL Server 認証を使用する場合、パスワードの有効期限は 90 日にハードコーディングされます。 この問題を回避するには、 ALTER LOGINを使うことを検討してください。
拡張キー管理 (EKM) は、SQL Server 2022 (16.x) CU12 以降の Azure Key Vault (AKV) 経由でのみサポートされており、以前のバージョンでは使用できません。 サードパーティのEKMプロバイダーは、SQL Server on Linux OSではサポートされていません。
SQL Server の認証モードは無効にできません。
SQL Server では、接続の暗号化で独自の自己署名証明書が生成されます。 TLS に対してユーザー指定の証明書を使用するように SQL Server を構成できます。
SQL Server on Linux デプロイは FIPS に準拠していません。
Linux コンテナーへの SQL Server のデプロイを保護する
SQL Server コンテナーのセキュリティ保護の詳細については、 SQL Server Linux コンテナーのセキュリティ保護に関する記事を参照してください。