
MS SQL Server から機密データを提供しているコンピューターを発見しましたが、このコンピューターにはセキュリティ保護がほとんど施されていないようです。できるだけ早くこのコンピューターを保護したいと思います。
私の問題は、IT スタッフがいないリモート オフィスで Microsoft データベースの支援を経験したことのない Linux 管理者であることです (また、インストールはスペイン語で行われるため、名前が間違っていてもご容赦ください)。
そこで、SQL Server Enterprise Manager というプログラムを見つけました (「バージョン情報」ダイアログにはバージョン番号はありませんが、ヘルプ ファイルの著作権には「1988-2000」と記載されています)。このプログラムを使用すると、すべてのデータを読み取り、アカウントを作成し、既存のアカウントのパスワードを変更できます。パスワードは要求されません。
このセキュリティ上の大きな穴をどうやって塞げばいいのでしょうか?
この状況は、確認すべき他の脆弱性が存在することを示唆しているのでしょうか?
答え1
Windows 認証をサーバーに渡している可能性があります。ドメイン管理者/コンピュータ管理者であれば、任意の 2000 インストールとほとんどの 2005 インストールにアクセスできます。
接続方法を把握したら、セキュリティ監査を実行して、最初にサーバーのセキュリティ ロールをチェックし、sysadmin としてリストされているユーザーを確認します。これは、個々のデータベースの下ではなく、データベース インスタンスの下のセキュリティ ノードの下に表示されます。EM のツリー構造階層を参照しています。
その後、必要に応じてデータベースを詳しく調べ、権限をロックダウンして、安全で安定した状態にすることができます。ロックアウトされたときにアクセスするための「バックドア」SQL ログインである sa パスワードを変更することもできます。
http://technet.microsoft.com/en-us/library/cc966456.aspx
ベスト プラクティス アナライザーも実行してみます。
答え2
問題は、このコンピューターが実際に SQL サーバーのデータにアクティブにアクセスして利用していることですか、それとも、SQL サーバーに一見何の制限もなくアクセスできることでしょうか。これらはまったく異なる 2 つの事柄です。また、実行している SQL サーバーのバージョンとエディションなどの詳細も役立つでしょう。
SQL Server Enterprise Manager は、SQL 2000 以前のバージョンを管理するために使用されます。SQL Server Management Studio は、SQL 2005 以降のバージョンを管理するために使用されます。
答え3
SQL Server Enterprise Manager を削除できない場合は、SQL Server 登録を削除するか、サーバー登録で「常にユーザー名とパスワードを要求する」フラグをオンにします。
SQL Server 2000 までは、空白のままにするオプションがあったため、SQL Server の sa (ルート) パスワードも確認してください。