日々学んだことを残しておこう。きっと未来の自分が探しにくる。 (ただ忘れっぽいだけです…)

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

-------- : スポンサー広告 :
Pagetop

WEBアプリケーション作成したらチェックすべき45項目(セキュリティ編)


やっと読破しました。
非常にためになりました。
ページ数の476ページと結構なボリュームでしたが、実際に体感できるように工夫されていて、飽きることなく最後まで進みます。脆弱性の生まれる原因から、対策にいたるまで詳しく記載されているので、購入して勉強しましょう。

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

読んだあとすぐは記憶に残っているけど、いざ開発する時に、忘れていたり、読み返すのが大変だったりするのでWEBアプリケーションセキュリティチェックシート作成しました。
なんか目次みたいになっちゃったけど…
これでNoがあれば記載したページで再度確認するためです。
参考書には携帯電話向けの対策も載っていますが、分類が細かくなるのでこのリストには除いています。

私が勝手にメモしているだけなので、漏れ等あったり筆者の意図していないことがあるかもですが…
こんな感じのリストがあればな~と思ったのでまとめました。

注意:セキュリティにおいては数年経つと新しい脆弱性や対策が出てくると思いますが、2011.6.1時点の情報ってことで。


□秘密情報の送信はPOSTメソッドを用いているか?【p35】
□DB更新系の画面ではPOSTメソッドを使用しているか?【p35】
□Basic認証は使用していないか?【p42】
□クッキーの値に秘密情報を格納していないか?【p46】
□セッションIDは連番でなく、十分な桁数の乱数を使用しているか?(自作でなく開発ツール提供のものを使用しているか?)【p47】
□認証後にセッションIDを変更しているか?【p49】
□クッキーのDomain属性は設定していないか?【p51】
□セッションIDにはHttpOnly属性を付けているか?【p52】
□すべてのパラメータに入力値検証を行っているか?【p80】
□表示の際にメタ文字をエスケープしているか?【p89】
□HTTPレスポンスの文字エンコーディングを指定しているか?【p103】
□TRACEメソッドを無効化しているか?【p104】
□URLをチェックする関数を使用しているか?【p108】
□リンク先ドメインをチェックしているか?【p108】
□JavaScriptの動的生成する場合、以下のいずれかの対策をしているか?【p113】
・Unicodeエスケープ
・script要素の外部でパラメータ定義して、JavaScriptから参照
□HTMLタグやCSSの入力を許す場合はライブラリを使用しているか?【p117】
□詳細なエラーメッセージが表示されないようになっているか?【p118】
□プレースホルダによりSQL文を組み立てているか?【p130】
□データベースの権限設定を適切に行っているか?【p137】
□CSRF対策の必要なページを区別しているか?【p152】
□重要な処理を行う際には、以下の方法で正規利用者であるか確認しているか?【p153】
・トークン埋め込み
・パスワード再入力
・Refererのチェック
□重要処理実行後に、通知メールを送信しているか?【p157】
□セッションIDをURL埋め込みにしていないか?【p179】
□地域型ドメインを使用していないか?【p182】
□リダイレクト先のURLを固定もしくは、直接指定せずに番号指定しているか?(ドメインチェック)【p191】
□外部からのパラメータをHTTPレスポンスヘッダとして出力していないか?【p202】
□外部からのパラメータをHTTPレスポンスヘッダとして出力する場合、リダイレクトやクッキー出力を専用APIに任せてヘッダ生成するパラメータの改行文字をチェックしているか?【p203】
□セッションIDのクッキーにセキュア属性をつけているか?付けられない場合はトークンを使用しているか?【p215】
□メール送信には専用のライブラリを使用しているか?【p229】
□外部からのパラメータをメールヘッダに含ませていないか?改行を含まないようにメール送信時にチェックしているか?【p230】
□外部からファイル名を指定できないようにしているか?指定できるようにした場合は、ファイル名にディレクトリ名が含まれていないか?ファイル名を英数字に限定しているか?【p236】
□非公開ファイルを公開ディレクトリに置いていないか?【p241】
□OSコマンド呼び出しを使わない実装方法を選択しているか?【p251】
□ファイルアップロード時は、拡張子とマジックバイト(画像の場合)をチェックしているか?【p277】
□ファイルダウンロード時は、Content-Typeを正しく設定し、マジックバイト(画像の場合)をチェックしているか?【p280】
□evalを使っていないか?、使った場合は、外部からパラメータできないようになっているか?【p297】
□共有資源をできるだけ使わないようにしているか?利用する場合は排他制御を短時間で終わらせる設計になっているか?【p303】
□パスワードをデータベースに格納する際に、メッセージダイジェスト(SHA-256)を使用し、さらにソルト、ストレッチングを使用しているか?【p326】
□自動ログインにトークン方式を使用しているか?【p336】
□ログインフォームからHTTPSを使用しているか?【p337】
□ログアウト処理はPOSTメソッドを使用しセッションを破棄しているか?【p340】
□CAPTCHAを使用して自動登録対策を行っているか?【p348】
□パスワードリマインダ機能はトークンを使うなどの方法で本人確認を行っているか?また確認番号の間違いに制限回数を設けているか?【p354】
□アプリケーション全体を通して文字集合を統一しているか(Unicode)?【p391】
□SSLを導入しているか?【p437】


追記2011.7.7
↓の記事読んで、タイトル変更してみました。効果あるかアクセス数でチェックしよっと。
(旧)WEBアプリケーション セキュリティチェックシート
(新)WEBアプリケーション作成したらチェックすべき45項目(セキュリティ編)
アルファブロガーになるための27の秘密
関連記事

2011-06-01 : セキュリティ : コメント : 2 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

書籍名に関する質問
webサイト セキュリティ チェック事項
でぐぐって辿り着いたのですが
>ページ数の476ページと結構なボリューム
こちらの本の詳細ってどこかに記載されていますか?

参考までに読んでみたいと思い過去のブログも拝見させて頂いたのですが書籍名を探せなかったので。。
2011-07-18 10:11 : とあるwebぷろぐらま URL : 編集
Re: 書籍名に関する質問
モバイルで閲覧ですかね?
PCではAmazonリンクが張っています。

ちなみに書籍名は以下のとおり。
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
徳丸 浩

本当におすすめです。分厚いですが、読み応えあるし、開発中は辞書的にも使えます。

> webサイト セキュリティ チェック事項
> でぐぐって辿り着いたのですが
> >ページ数の476ページと結構なボリューム
> こちらの本の詳細ってどこかに記載されていますか?
>
> 参考までに読んでみたいと思い過去のブログも拝見させて頂いたのですが書籍名を探せなかったので。。
2011-07-18 13:14 : ブログ管理者 URL : 編集
Pagetop
« next  ホーム  prev »

広告

読みたいと思っている書籍

Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく Amazon Web Services 定番業務システム12パターン 設計ガイド イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS情報科学専門書) イラストで学ぶ ディープラーニング (KS情報科学専門書)

カウンタ

メールフォーム

名前:
メール:
件名:
本文:

GoogleTranslate

管理人のつぶやき

人気記事ランキング

カテゴリ

openclose

ブログ内検索

全記事表示リンク

全ての記事を表示する

ブログパーツ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。