Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

セキュリティ対策一覧

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

litalico
ビジョンは障害のない社会をつくる
http://litalico.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away