SQL Server Express 2012 インストールでリモート接続を有効にしました。誰にでも接続を許可することは、私にとって大きなセキュリティホールのように聞こえるので、サーバーのセキュリティについて少し心配しています。
ユーザーが「許可」リストにないユーザーで認証しようとしている場合、SQL Server に切断するように指示することはできますか? もしそうなら、監視ユーザーをこのリストに追加でき、管理者アカウントにアクセスできるかどうか心配する必要はありません。
SQL Server Express 2012 インストールでリモート接続を有効にしました。誰にでも接続を許可することは、私にとって大きなセキュリティホールのように聞こえるので、サーバーのセキュリティについて少し心配しています。
ユーザーが「許可」リストにないユーザーで認証しようとしている場合、SQL Server に切断するように指示することはできますか? もしそうなら、監視ユーザーをこのリストに追加でき、管理者アカウントにアクセスできるかどうか心配する必要はありません。
まず第一に、これはおそらく DBA サイトで尋ねるべき質問です。とにかく、特定のユーザーのみがログインできるようにサーバーのセキュリティを設定できます。
サーバーをセットアップするときは、ログインをサーバー レベルに追加し、次にユーザーをデータベース レベルに追加します。明らかに、セットアップされたユーザーのみが特定のデータベースを使用できます。たとえば、データベースへの読み取り専用アクセス権を持つように、ユーザーをロールに配置できます。誰が何にアクセスできるかを、オブジェクト レベルまで制御できます。
ここには、SQL Server のセキュリティとは何かについての優れた記事があります。
ただし、場合によっては、セキュリティを設定した後、特定のユーザーがログオンできないようにする必要があります。おそらく、データベースにいくつかの主要なアップグレードを行っています。この場合のオプションの 1 つは、ログオン トリガーを作成することです。
ログオントリガーは、ユーザーがログインするたびに発生します。「許可された」ユーザーのテーブルを作成し、トリガーで、それらがテーブルにない場合はロールバックして、ログオンを事実上禁止します。
ログオン トリガーの作成に関する情報は次のとおりです。
すべての IP アドレスではなく、特定の IP アドレスからの接続のみを受け入れるように db サーバーを設定できるはずです。T-SQL 構文についてはよくわかりませんが、誰かが正しい構文を教えてくれるはずです。
あなたが本当にビジネスを意味するのであれば、クライアントに与えた証明書を使用してクライアントを認証したいと思うでしょう。これと、リンク先のさまざまな記事を参照してください。