「体系的に学ぶ 安全なWebアプリケーションの作り方」を読んで

通称、徳丸本。

今さらながら読み終えた。
書評っていうわけではないけど、思ったことを書こう。

本書は、Webアプリケーションを作ったときのセキュリティ関係のチェックリストになる本だと感じた。

Webアプリケーションを作るとき、どの場所が脆弱性が生まれやすいか、どういった攻撃方法があるのか。
Webアプリケーションを作った今、この本に照らしあわせてチェックしようと思う。
セキュリティの強力なツールを手に入れた気分だ。

同時に自分の知識不足を感じた。
Web(HTTP,URL)やネットワーク、サーバやアプリケーションについてまだまだ知らないことがたくさんある。

Webアプリケーションのセキュリティは難しい。
脆弱性が一つでも残っていると、そこを攻撃されてしまう。その脆弱性を全てなくすっていうことが難しい。

体系的に学ぶ 安全なWebアプリケーションの作り方」を読んで、その脆弱性の量と種類に圧倒された。
でもこれで全部じゃない。徳丸本に載っていないWebアプリケーションセキュリティなんかにあるように、脆弱性は増えていってる。

それはWebが進化しているから。Webが進化すると共に新しい脆弱性が生まれているからだと思う。
HTML5がなければHTML5に関するセキュリティを考えないでよかった。

体系的に学ぶ 安全なWebアプリケーションの作り方」だけでは、Webアプリケーションは安全にできなくなった。

でも、「体系的に学ぶ 安全なWebアプリケーションの作り方」を読むことで、セキュリティの記事を読めるようになり、考えられるようになった。意識が変わった。

セキュリティを考えないでサービスを作りたいっていうのは本音。
サービスの機能やデザインだけを作っていたい。

でも、被害が自分だけでなく関係のない他人にまで及ぶのなら、根性いれて学ばないといけない。
根性入れて、学んでいこう。

【追記】
セキュリティ自体のことも書いておこう。

・文字エンコーディングは検証しよう

・反射型XSSと持続型XSSをごっちゃにしないように

・ApacheでTRACEメソッドを無効化する

・CSRF対策が必要なページを区別する(カタログページは不要、購入ページは必要)

・任意のドメインにリダイレクトできるものをオープンリダイレクタとよぶ

・通常は、データはクッキーでなくセッション変数に保存すること

・情報の寿命の制御と異なるサーバとの情報共有をする場合はクッキーを使う

・ディレクトリトラバーサル対策にPHPではbasename関数を使う

・URLでディレクトリ名を指定した場合にファイル一覧を表示する昨日のことをディレクトリ・リスティングと呼ぶ

・Apacheの設定で<Directory>内にOptions -Indexesとつけると無効化↑

・ファイルダウンロードによるXSSがある

・パスワードの組み合わせ総数 = 文字種の数^桁数

・ユーザIDとパスワードを同じ文字列にしているアカウントをジョーアカウントとよぶ

・認可とは、認証された利用者に対して権限を与えること

・文字コードは文字集合(Unicode)と文字エンコーディング(UTF-8)を合わせたもの

・ポートスキャナでアクセス制限の状態を確認する

 

コメント

タイトルとURLをコピーしました