SQL Server 2008 R2 SP3 Express Edition のサイレントインストール
SQL Serve サイレントインストール
【一目で分かる、SQL Server 2005~2014とService Packのサポート終了時期】 にあるように、
SQL Server 2008 R2、SP1、SP2については、既にMicrosoftのサポートは終了している。
いわば、脆弱性が発見されても、セキュリティ更新プログラムの提供が行われていない状態というわけだ。
ここ数年増加しているSQLインジェクションに対する防御が弱くなる為、
新たな脆弱性がみつかればひとたまりも無いだろう。
とはいえ、SQL Server 2008 R2 Express Editionのような無償のデータベースは、
利用者が意図せずしてアプリケーション側から利用されている場合が多く、
実際に攻撃されるなどの被害を受けない限り、
Microsoftのサポートうんぬんについてはわからないのではないだろうか。
そう考えると、アプリケーション開発元(ベンダー)の責任において、
正しくバージョンアップやサービスパックなどの適用を行わなければいけない。
これについては、
SQLインジェクションが原因でクレジットカード情報が7316件、
クレジットカード情報を含まない個人情報が9482件漏洩した事故に対するIT訴訟が証明している。
東京地裁 判例 平成26年1月23日判時2221号71頁
要は、経産省やIPAが個人情報漏洩対策に注意喚起をし、
SQLインジェクションに際しての「バインド機構の使用又はエスケープ処理を施したプログラム」が推奨されており、
セキュリティ対策についてX社からの指示はなかったが、Y社は必要なセキュリティ対策を講じる義務(債務)があり、それを怠った債務不履行があるというもの。
(※ X株式会社: インテリア商材の通信販売を営む(原告)、Y株式会社: システム開発の会社(被告))
SQL Serve サイレントインストール
ということで、最新のサービスパックを適用させたインストールパッケージを作成しようと思う。
しかし、以前書いた【SQL Server 2008 R2 SP2 Express Edition のサイレントインストール】にあるように、
InstallShield を使用するか、ブートス トラップ アプリケーションによって SQL Server をインストールしようとすると、
エラーが発生しインストール プロセスが停止するといった不具合があったため、
SQL Server 2008 R2 SP3 Express Editionについても動作検証および、プログラムの修正が必要でした。
動作検証は、Windows 7(32/64ビット)、Windows 8(32/64ビット)、Windows 10(64ビット)、
Windows Server 2008 R2 Service Pack 1、Windows Server 2012 R2 で実施。
SQL Server 2008 R2 SP3 Express Edition サイレントインストール
32ビット環境(OS)
SQLSERVERSQLEXPR_x86_JPN.exe /QS /CONFIGURATIONFILE="ConfigurationFile32.ini"
configuration file (32ビット)
[SQLSERVER2008]
INSTANCEID="SQLExpress2008"
INSTANCENAME="SQLExpress2008"
ACTION="Install"
FEATURES=SQLENGINE,REPLICATION,SNAC_SDK
HIDECONSOLE="True"
HELP="False"
INDICATEPROGRESS="False"
X86="True"
ERRORREPORTING="False"
INSTALLSHAREDDIR="C:Program FilesMicrosoft SQL Server 2008"
INSTANCEDIR="C:Program FilesMicrosoft SQL Server 2008"
SQMREPORTING="False"
AGTSVCACCOUNT="NT AUTHORITYNETWORK SERVICE"
AGTSVCSTARTUPTYPE="Automatic"
SQLSVCACCOUNT="NT AUTHORITYNETWORK SERVICE"
SQLSVCSTARTUPTYPE="Automatic"
SECURITYMODE="SQL"
ADDCURRENTUSERASSQLADMIN="True"
FILESTREAMLEVEL="1"
ENABLERANU="True"
SQLCOLLATION="Japanese_CI_AS"
SAPWD="パスワード"
TCPENABLED="1"
NPENABLED="1"
BROWSERSVCSTARTUPTYPE="Automatic"
64ビット環境(OS)
SQLSERVERSQLEXPR_x86_JPN.exe /QS /CONFIGURATIONFILE="ConfigurationFile64.ini"
configuration file (64ビット)
[SQLSERVER2008]
INSTANCEID="SQLExpress2008"
INSTANCENAME="SQLExpress2008"
ACTION="Install"
FEATURES=SQLENGINE,REPLICATION,SNAC_SDK
HIDECONSOLE="True"
HELP="False"
INDICATEPROGRESS="False"
X86="False"
ERRORREPORTING="False"
INSTALLSHAREDDIR="C:Program FilesMicrosoft SQL Server 2008"
INSTALLSHAREDWOWDIR="C:Program Files(x86)%Microsoft SQL Server 2008"
INSTANCEDIR="C:Program FilesMicrosoft SQL Server 2008"
SQMREPORTING="False"
AGTSVCACCOUNT="NT AUTHORITYNETWORK SERVICE"
AGTSVCSTARTUPTYPE="Automatic"
SQLSVCACCOUNT="NT AUTHORITYNETWORK SERVICE"
SQLSVCSTARTUPTYPE="Automatic"
SECURITYMODE="SQL"
ADDCURRENTUSERASSQLADMIN="True"
FILESTREAMLEVEL="1"
ENABLERANU="True"
SQLCOLLATION="Japanese_CI_AS"
SAPWD="パスワード"
TCPENABLED="1"
NPENABLED="1"
BROWSERSVCSTARTUPTYPE="Automatic"
まとめ
最新版へのサービスパックの適用は、
Microsoftのサポートによる脆弱性への対策だけでなく、
アプリケーション利用者に対して大きな安心感を与えるものです。
ただし、サービスパックを適用するだけでSQLインジェクションを防ぐことはできないので、
アプリケーション側での対策が必要です。
これらの対策方法は、「SQLインジェクション 対策」などの文言で検索することで
見つけることができます。
にほんブログ村のランキングに参加しています。
下記バナーをクリックしてくださると本当に助かります。
よろしくお願いいたします。

にほんブログ村
スポンサーサイト