SQL Serverは安全ですか?

データベースの仕組みを知って以来、私はSQL Serverを使用しています。 AccessデータベースのMS SQLへの移行は、 EnGraphでの最初の大きなプロジェクトでした 。 私は長年にわたってあまり学んでおらず、クライアントの質問に驚かされました-SQL Serverは安全かどうか。 具体的には、お客様はAmazon EC2を使用して配置したParaPlan Cloud製品に興味があり、ポート1433のオープンを心配していました。



一部には、思考プロセスが次のようなものだったので驚いた。「もちろん、SQL Serverは安全です! それについて質問するのはなんと馬鹿げています!」 この製品を使用して会社全体を構築したため、おそらくその安全性がどのように機能するかを理解する必要があります。 したがって、私は彼らに、追加の調査を行い、結果を返すと答えました。



数時間の調査の結果、私が見つけたものは次のとおりです。



ログイン/パスワード転送トランザクションは常に暗号化されます( MSDN ):



クライアントアプリケーションがSQL Serverに接続するときに送信される資格情報(ログインパッケージ内)は常に暗号化されます。 SQL Serverは、信頼されたルート証明機関の証明書があればそれを使用します。 信頼できる証明書がインストールされていない場合、SQL Serverはインスタンスの起動時に自己署名証明書を生成し、それを使用して資格情報を暗号化します。



(さらに私が追加- 約翻訳者

このような自己署名証明書はセキュリティを向上させますが、サーバーIDの模倣に対する保護を提供しません。 自己署名証明書が使用され、ForceEncryptionパラメーターがYesに設定されている場合、この自己署名証明書を使用すると、SQL Serverとクライアントアプリケーションの間でネットワークを介して転送されるすべてのデータが暗号化されます。



データベース/テーブル/列の追加暗号化を実行できますが、パフォーマンスを犠牲にします( Pinal Dave ):



暗号化は、SQL Server 2005の非常に重要なセキュリティ機能です。長くて非対称なキーは、接近不可能で強力な暗号化を作成し、データを暗号化するためにプロセッサに大きな負荷をかけます。 暗号化が強いほど、プロセスは遅くなります。 大量のデータを暗号化する必要がある場合、対称キーが使用されると想定されます。 セキュリティを強化するために、同じ対称キー自体を非対称キーで暗号化できます。これにより、より信頼性の高い暗号化の利点を活用できます。 暗号化されたデータは圧縮できないため、暗号化する前にデータを圧縮することもお勧めします。



SQLへのアクセスをさらに制御する場合は、指定されたサーバーへのアクセスを制限することにより、ポート1433のすべての発信トラフィックをブロックできます。 これが、Ciscoでの方法です。



今、私はSQL Serverのセキュリティについて多くのことを知っており、この情報を顧客に提供することに自信を持っています。 リポジトリでホストされている製品を使用するか、EnGraphでホストされている製品を使用するかを決定するのに役立ちます。



翻訳者のあとがき

評価をするのは私の仕事ではありませんが、コードプロジェクトのメーリングリストでメモがどの程度のレベルに達するかは驚きです。 一方、何かを翻訳し始めて、私はそれを途中で投げるのが好きではありません。 たぶん誰かが役に立つでしょう。



All Articles