Ajaxアプリケーション & Webセキュリティ

[cover photo]
TOPICS
Programming , Web , Security
発行年月日
PRINT LENGTH
284
ISBN
978-4-87311-358-6
原書
Securing Ajax Applications
FORMAT
PDF
Ebook
2,860円
Ebookを購入する

Ajaxは、昨今のWebサービスでは欠かせないものとなっていますが、そのインタラクティブ性の高さゆえに多くの脆弱性を抱えており、セキュリティがますます重要になってきています。本書はAjaxアプリケーションをはじめ、Web 2.0関連のテクノロジやWebサービス全般に関しても幅広くカバー。セキュリティに関する基本知識やWebアプリケーションの持つ脆弱性にも詳しく触れています。実際に多数のアクセスを集めているWeb 2.0サイトでのケーススタディなども交え、安全なWebアプリケーションを構築するために必要な知識をコンパクトにまとめています。

目次

はじめに

1章 Webの進化
	1.1 Webの始まり
	1.2 HTTP(Hypertext Transfer Protocol)
	1.3 HTTPトランザクション
	1.4 レスポンス
	1.5 HTTPメソッド
		1.5.1 メソッドの安全性
		1.5.2 べき等のメソッド
	1.6 HTTPレスポンス
		1.6.1 HTTPステータスコード
		1.6.2 2xx(成功を表すステータスコード)
		1.6.3 3xx(リダイレクトを表すステータスコード)
		1.6.4 4xx(クライアント側でのエラーを表すステータスコード)
		1.6.5 5xx(サーバー側でのエラーを表すステータスコード)
	1.7 HTTPヘッダー
		1.7.1 汎用のヘッダー
		1.7.2 リクエストヘッダー
		1.7.3 レスポンスヘッダー
		1.7.4 エンティティヘッダー
		1.7.5 コンテンツヘッダー
	1.8 メッセージボディ(エンティティボディ)
	1.9 HTML
	1.10 MosaicとNetscape
	1.11 ブラウザ・ウォーズ
	1.12 プラグイン、ActiveX、アプレット、JavaScript、Flash
		1.12.1 Javaアプレット
		1.12.2 ActiveX
		1.12.3 Flash
	1.13 ドットコムバブル
	1.14 Webサーバー
		1.14.1 Netscape Enterprise Server
		1.14.2 Apache
		1.14.3 MicrosoftのIIS(Internet Information Server)
	1.15 電子商取
		1.15.1 Webアプリケーション
		1.15.2 アプリケーションサーバー
		1.15.3 ドットコム企業
	1.16 マイクロソフト敗訴
	1.17 英雄Ajax
		1.17.1 XMLHTTP
		1.17.2 XMLHttpRequest
		1.17.3 XMLHttpRequestの処理手順
	1.18 API
		1.18.1 Google Maps
		1.18.2 ハック
		1.18.3 APIの誕生
	1.19 懸念される点
		1.19.1 サンデープログラマー
		1.19.2 RAD
		1.19.3 SDLC
		1.19.4 CCPD
	1.20 参考資料

2章 Webセキュリティ
	2.1 セキュリティの基礎
		2.1.1 セキュリティを考慮に入れる
	2.2 リスク分析
		2.2.1 Webアプリケーションの分類
		2.2.2 脅威のプロファイリング
	2.3 Webアプリケーションでのおもな脆弱性
		2.3.1 OWASP
		2.3.2 検証されない入力
		2.3.3 不十分なアクセス制御
		2.3.4 不十分な認証やセッション管理
		2.3.5 XSS(クロスサイトスクリプティング)
		2.3.6 バッファオーバーフロー
		2.3.7 インジェクション
		2.3.8 不十分なエラー処理
		2.3.9 安全でないストレージ
		2.3.10 サービス拒否(Denial of Service)
		2.3.11 安全でない設定とその管理
		2.3.12 その他の脆弱性
	2.4 参考資料

3章 Web関連の技術のセキュリティ
	3.1 Webサイトでの通信形態
		3.1.1 クライアントからサーバーへの通信
		3.1.2 サーバーからサーバーへの通信
		3.1.3 クロスドメイン(ドメイン間)通信
	3.2 ブラウザのセキュリティ
		3.2.1 STRIDE
		3.2.2 Webセキュリティのための機構
		3.2.3 クライアント側のデータと内部状態の管理
		3.2.4 通信路上のデータの保護
		3.2.5 セッション管理
	3.3 ブラウザのプラグイン、拡張機能、アドオン
		3.3.1 ActiveX
		3.3.2 Javaアプレット
		3.3.3 JavaScript
		3.3.4 XHTMLとDOMの操作
		3.3.5 Flash
		3.3.6 HTMLとCSS
		3.3.7 Ajax
	3.4 参考資料

4章 サーバーの保護
	4.1 ネットワークセキュリティ
		4.1.1 ファイアウォール
	4.2 ホストのセキュリティ
		4.2.1 Ubuntu
		4.2.2 オペレーティングシステムの強化
		4.2.3 ログと監査
		4.2.4 システムのアップデート
		4.2.5 ファイアウォールソフトウェア
		4.2.6 侵入の検出
		4.2.7 バックアップを作成する
		4.2.8 障害対応
	4.3 Webサーバーのセキュリティ
		4.3.1 Apache
		4.3.2 mod_security
		4.3.3 PHP
		4.3.4 Microsoft IIS(Internet Information Service)
	4.4 アプリケーションサーバーの保護
		4.4.1 Javaと.NET
	4.5 参考資料

5章 基盤技術の弱さ
	5.1 HTTPの脆弱性
		5.1.1 入力データの検証
		5.1.2 認証とセッション管理
		5.1.3 認可
	5.2 脅威
		5.2.1 XSS(クロスサイトスクリプティング)
		5.2.2 インジェクション
		5.2.3 その他の脆弱性
		5.2.4 データの扱い
	5.3 JSON
		5.3.1 検証
		5.3.2 認証と認可
		5.3.3 Same-origin policy
	5.4 XML
		5.4.1 入力の検証
		5.4.2 認証と認可
		5.4.3 インジェクション
		5.4.4 安全でないストレージ
		5.4.5 XMLサービス拒否(XDOS)
	5.5 RSS
	5.6 Atom
		5.6.1 デジタル署名
	5.7 REST
		5.7.1 RESTの特徴
		5.7.2 RESTに基づいたWebサービスの設計
	5.8 参考資料

6章 Webサービスの保護
	6.1 Webサービスの概要
		6.1.1 SOA(サービス志向アーキテクチャ)
		6.1.2 AjaxとWebサービス
		6.1.3 SOAP
		6.1.4 UDDI(Universal Description, Discovery and Integration)
		6.1.5 WSDL(Web Service Description Language)
	6.2 セキュリティとWebサービス
		6.2.1 ユーザーの識別
		6.2.2 認証
		6.2.3 認証情報の受け渡し
		6.2.4 認可
		6.2.5 秘匿性と通信のセキュリティ
		6.2.6 情報の流出
		6.2.7 データの一貫性とメッセージレベルのセキュリティ
		6.2.8 監査と否認防止
		6.2.9 WebサービスはWeb上のサービスである
	6.3 WS-Security
		6.3.1 セキュリティのためのSOAPヘッダー
		6.3.2 セキュリティトークン
		6.3.3 タイムスタンプ
		6.3.4 拡張性
	6.4 参考資料

7章 Web経由のAPI
	7.1 API設計の準備
	7.2 APIドキュメント
	7.3 APIの設計
		7.3.1 契約による設計
	7.4 よいAPIとは
	7.5 セキュリティ上の問題点
		7.5.1 認証
		7.5.2 データの検証
		7.5.3 コンテンツの検証と認証
		7.5.4 可用性
		7.5.5 情報の流出
	7.6 RESTに基づくWebサービス
		7.6.1 RESTの意義
		7.6.2 RESTを採用しているサービス
		7.6.3 RESTの仕組み
		7.6.4 RESTの例
	7.7 参考資料

8章 マッシュアップ	221
	8.1 Webアプリケーションと公開のAPI
	8.2 未開のWeb 2.0
	8.3 マッシュアップとセキュリティ
		8.3.1 信頼の欠如
		8.3.2 マッシュアップの暗黒面
	8.4 オープンさと安全性
		8.4.1 セキュリティに関する標準の欠如
	8.5 セキュリティのための対策
		8.5.1 秘匿性
		8.5.2 一貫性
		8.5.3 可用性
	8.6 ケーススタディ
		8.6.1 Pageflakes.com
		8.6.2 public911.com
		8.6.3 Weather Bonk
		8.6.4 HousingMaps
		8.6.5 まとめ
	8.7 参考資料

索引