LoginSignup
26
28

More than 5 years have passed since last update.

webのセキュリティ対策まとめver1.0

Last updated at Posted at 2015-02-12

セキュリティ対策一覧

SQLインジェクション

   1.バインド機構(prepare()とexecute())
   2.エラーメッセージ非表示

OSコマンドインジェクション

   1.exec()やsystem()など外部コマンドを使っていなければ、phpの場合は大丈夫

ディレクトリトラバーサル

   1.ファイルへの直接書き込みはさせない
   2.外部パラメータからの指定をさせない

セッションハイジャック

   1.セッションIDの保存はクッキーのみ、URL埋め込みによるセッション管理を禁止
   2.XSS対策=セッションハイジャック対策
   3.COOKIE送信はhttpsの時のみ  

XSS

   1.HTTP レスポンスヘッダーに文字コードを指定する
   2.HTML 要素の属性は""(ダブルクオーテーション)で囲む
   3.出力する全ての要素に対してエスケープ処理を行う
   4.URL は「http://」か「https://」で始まるもののみ出力する
   5. 要素の内容を動的に生成しない

CSRF

   1.DB登録時はpostメソッドでhiddenパラメータを使う(確認画面経由する時)
   2.クレカ利用の時は再度パスワード入力を促す
   3.リファラーの確認(どうやってする?)

HTTPヘッダインジェクション

   1.htmlspecialchars(って大体デフォルトで入ってる)

メールヘッダインジェクション

   1.メールヘッダを固定
   2.htmlで宛先を指定しない
   3.外部からの入力に対して改行コードを全て削除する

その他対策

   ・暗号化
    ーemailアドレスとパスワードの暗号化
    ー口座番号の暗号化
    ーmcript。sha-256
   ・データベース、コードの定期的バックアップ

第三者のチェックフローもできれば導入

 ・外部委託
 ・セキュリティ部門による内製

IPAのセキュリティ関連ツール

  - ウェブサイトの攻撃兆候検出ツール iLogScanner
  - 脆弱性体験学習ツール AppGoat
  - Androidアプリの脆弱性の学習・点検ツール AnCoLe
  - セキュリティ要件確認支援ツール
  - 学習コンテンツ
  -「安全なウェブサイト運営入門」で体験する7つの事件
  - セキュア・プログラミング講座 (WEB編・C++編)

参考書、参考サイト

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

2.安全なウェブサイトの作り方 by IPA

26
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
28