PHPセキュリティ対策:概要

(1/1)
Webアプリケーションではセキュリティ対策が重要だ。PHPも例外ではない。
大切なデータやシステムを守るには、機密性を守るだけでは不十分で、完全性と可用性にも留意しなければならない。

何を守るか

セキュリティ(security)の和訳は「安全確保」である。では、何の安全を確保するのか――ここからセキュリティ対策がはじまる。

まず、守るべき情報資産の棚卸しからはじめよう。守るべき、すなわち価値のある資産とそうでないものを仕分けるのである。
棚卸しの際には、どの程度の価値があるのか、漏洩したときのリスクの大きさはどうかなど、定量的に判断できる材料を付加しておくと良い。

なお、セキュリティ対策は、じつに広範囲に及ぶし、さまざまな専門知識を要求される。個人の力で完璧なセキュリティ対策を紹介するのは無理である。
そこで、ここでは話題をPHPアプリケーションに絞り、その対策を紹介していくことにする。

セキュリティ対策――3つのポイント

セキュリティ対策というと、まず、ログイン認証を行ったり、データに暗号化をかけることが頭に思い浮かぶことだろう。
だが、入力されたデータが偽物だったらどうなるだろうか。また、セキュリティ対策を厳しくするあまり、事故が起きたときに、スタッフがシステムにアクセスするまでに時間がかかったりしたらどうなるだろうか――。

そこで、企業などの組織が情報を適切に管理し、機密を守るための包括的な枠組みとして、ISMS(Information Security Management System)が提案された。2004年(平成16年)に標準化された [ISO/IEC 13335-1:2004;blue] では、次の3つをISMSの基本コンセプトとしている。

機密性(Confidentiality)
認可されていない個人、エンティティ(団体等)又はプロセスに対して、情報を使用不可又は非公開にする。(例)ログイン認証,ファイアウォール:
完全性(Integrity)
資産の正確さ及び完全さを保護する。(例)電子署名,タイムスタンプ署名:
可用性(Availability)
認可されたエンティティ(団体など)が要求したときに、アクセス及び使用が可能である(例)システム二重化,ロードバランサ:


さらに、オプションとして次の4つの性質を含めても良いとしている。
真正性(Authenticity)
情報の身元を保証する。(例)各種契約,オーダー否認防止:
責任追及性(Accountability)
情報発生/更新の行為形跡を保証する。(例)トラッキングログ:
情報の信頼性(Reliability)
動作結果に整合性がある。:

参考サイト

(この項おわり)
header