★不正アクセスにどう対応するか

 不正アクセスに対してはどのように対応すればよいのか。

 前回の不正アクセスとはなにかのところで、「最低限の対応」と書きましたが、それはいったいどういうものかについて書いていきたいと思います。

 情報システム管理者の立場から考えます。
 まず、情報システム管理者が情報システムを立ち上げる時には、ハードウェアとソフトウェアの両方を調達します。このときに関わる人としては、大雑把に、ハードウェアそのものの設計者や製造者、ハードウェア構成を設計するシステムエンジニア、ソフトウェアを設計するシステムエンジニア、ソフトウェアを製造するプログラマーです。
 この中で一番スキルが低そうな人は誰でしょう。

 プログラマーさんです。
(ごめんなさい。あなたのことではありません。一般論です。)

 セキュリティホールはシステムの脆弱な部分です。システムを作るときの脆弱な部分はここに発生しやすいと言ってよいと思います。乱暴な論理かもしれませんが、ハードウェアは大手メーカーで作られているのがほとんどであり、その設計者や製造者がスキルが低いとは思えません。そして、もし低いとしても手が届きません。

 とにかく、「最低限の対応」とは、この部分の信頼性をチェックすることとなります。
 この先は技術的なややこしい話になります。Web上にいくらでも情報はありますので割愛しますが、ソフトウェア的な不正アクセスへの対応については、フレームワークを活用することである程度は防ぐことができます。簡単にいうとフレームワーク上でPOSTGETに対しサニタイジングをしてくれたりなどです。しかしながら、特殊なケースでは自動では対応してくれないのでプログラマーが意識して不正アクセスに対するライブラリをプログラム上で使うことが求められることがほとんどです。

 信頼できない場合は、Webアプリケーションファイヤウォールの設置をお勧めします。最近は価格がかなり下がってきているようです。ちなみに、Webアプリケーションファイヤウォールは、一般的なファイヤウォールとは異なります。一般的なファイヤウォールやIDS、IPSなどは、アプリケーション的には効果がありません。

 そして、個人情報や企業の機密事項は必ずアプリケーションの上でコントロールされるものだということを認識する必要があります。OracleやMSSQLのDBサーバの脆弱性を語る前に、するべきことなのです。