なぜPHPアプリにセキュリティホールが多いのか?
【スクリプトインジェクション対策19】ユーザを教育する
サイト運営者が万が一に備えるだけでは不十分です。最も有効なセキュリティ対策の一つは,ユーザが正しいセキュリティ知識を身につけるよう教育することです。ユーザの教育は時間とコストが必要ですが,サイトのユーザを正しく教育する重要性を考えると,ユーザの教育はセキュリティ対策に欠かせない要素です。
Webサイトがいくら万全の対策を行っていたとしても,ユーザが攻撃用のワイヤレスLANのアクセスポイントに接続してサイトへログインしてしまうと,HTTPSかJavaScriptによるチャレンジレスポンス認証を利用していない限り,ユーザ名とパスワードを簡単に盗まれてしいます。Webブラウザやプラグインの脆弱性を放置していると,マルウェアを配布しているサイトにアクセスして,ルートキットやキーロガーをインストールされユーザIDを盗まれてしまうかも知れません。
ユーザが自分のコンピュータ環境を安全に保つことはすべてのWebサイトにとってメリットがあります。自前のコンテンツを用意しなくても,コンピュータ環境を安全に保つための対策はIPA等のサイトへのリンクでも構わないと思います。
- IPAセキュリティセンター
- http://www.ipa.go.jp/security/
どのようなシステムでもシステム全体としてセキュリティが維持できていないと安全性は維持できません。ユーザのコンピュータ環境はWebシステムの一部と考えてユーザを教育することは欠かせません。
対策のまとめ
- Webアプリケーション脆弱性の仕組みとリスクを解説する
- 公衆無線LAN,共有PCなどを利用する場合のリスクを解説する
- 古いブラウザを利用しているユーザにアップグレードを勧める
- 古いプラグインを利用しているユーザにアップグレードを勧める
- コンピュータにインストールされたソフトウェアのアップグレードを勧める
- サイトを利用し終わったらログオフすることを勧める
- サイトごとに別のパスワードを設定することを勧める
- 長い期間同じパスワードを利用しないように勧める
- 前回ログインした時間,IPアドレスを確認するように勧める
- 決して問題のあるサイト証明書を許可するように求めない
- サイト証明書の確認方法を解説する
- セッションの有効期限,自動ログインの解除方法などセキュリティ上重要な情報を開示する
- サイトが利用しているドメイン名を解説する(フィッシング対策)
補講
- 【スクリプトインジェクション対策19】ユーザを教育する
- 【スクリプトインジェクション対策18】ログイン処理を正しく実装する
- 【スクリプトインジェクション対策17】パスワードを正しく管理する
- 【スクリプトインジェクション対策16】関連するサイトが利用しているドメイン名の一覧を提供する
- 【スクリプトインジェクション対策15】JavaScriptが無効なクライアントでも利用可能なサイトにする
- 【スクリプトインジェクション対策14】HTML,CSS,JavaScriptの生成はホワイトリスト方式を利用する
- 【スクリプトインジェクション対策13】不正な文字データを保存できないようにする
- 【スクリプトインジェクション対策12】データベースなど,内部データを信用しない
- 【スクリプトインジェクション対策11】エスケープしてはならないデータ以外はすべてエスケープする
- 【スクリプトインジェクション対策10】すべての入力値を可能な限り厳しい条件で検証する
-
Webアプリセキュリティ対策入門〜あなたのサイトは大丈夫?
本書は,Webサイトのセキュリティ確保のために必要な基礎知識と,安全なコードを書くために必要な基礎知識を解説しています。Webアプリケーションは比較的簡単に作成で...
-
はじめてのPHP言語プログラミング入門
Webアプリケーション構築ツールとしてPHPを取り上げた書籍は数多くありますが,言語の解説・入門書としての書籍はあまりありません。 本書は,プログラミング言語として...


