SQL Server のセキュリティ対策
SQL Server でのセキュリティ対策を紹介します。
この記事を書いた人
@takasqr アプリケーション開発が大好きなエンジニア。Vue、Swift、Electrom などでアプリを作って公開している。AWS や Firebase などのクラウドサービスも好き。
データを暗号化して保存する
機密情報を SQLServer に保存する必要がある場合は、レコードの内容を暗号化して保存することができます。
透過的なデータ暗号化 (TDE) | Microsoft Learn
SQL インジェクション
SQL インジェクションとは Wikipedia によると、
SQLインジェクション(英: SQL injection)とは、アプリケーションのセキュリティ上の不備を意図的に利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。また、その攻撃を可能とする脆弱性のことである。
具体的な手法については Wikipedia のページに記載されています。
パラメーター化された方法で、動的に生成される SQL ステートメントを作成し、以下の通り入力値を検証する必要があります。
;
クエリの区切り記号を禁止する'
文字データ文字列の区切り記号を禁止する--
単一行コメントの区切り記号を禁止する/ * ... * /
コメントの区切り記号を禁止するxp_cmdshell
などの xp_ カタログ拡張ストアド プロシージャを禁止する