P92 クラウド事業者が考えるDDoS攻撃への対策と対処

DDoS攻撃回避策の仕組みと効果】
●CDN
・副次的な作用として、Flood攻撃やSlowポストによる応答遅延攻撃などのDDoS攻撃にも効果を発揮する。

●GeoDNS
DDoS攻撃が発生しているときだけインスタンスを立ち上げ、それ以外のドメインに振るという手段を取り得れる。運用の手間を考えると、あまり現実的な手法ではない。

ドメイン名の分割
・1サブドメイン/1サーバー/1グローバルIPアドレスに設計し、影響範囲を最小限にする。
SEO対策しないといけないサービスでは不利になる。

【大規模DDoS攻撃には役立ちにく仕組み】
ファイアウォール、IPS/IDS
・正規のパケットで来る事が多いため、Flood攻撃(Syn Flood, UDP Flood, ICMP Flood)などしか防げない。
・多くのケースにおいて、ファイアウォールやIPS/IDSに到達するよりも前の地点でインターネット回線が遮断されてしまう(ホスティング業者の上流ルーターでパンク等)。よって、大規模なDDoS攻撃に対しては効果は発揮しない。

P32 tracerouteの結果がすべてではない

tracerouteコマンドからわかる経路は、その時点で選ばれた経路を見ているにすぎない。
そのため、別の時間にコマンドを発行した際には、別の経路が選択される可能性は充分にある。

また、往路しか知ることができず、復路は把握することができない。
復路を把握するためには、通信相手先にtraceroutコマンドを発行してもらい、その結果を教えてもらうしか手段はない。

P33 net-toolsとiproute2のコマンド対応一覧例

net-tools iproute2
arp ip neighbor
ifconfig ip address, ip link, ip-statistics address
iptunnel ip tunnel
iwconfig iw
nameif ip link, ifrename
netstat ss, ip route
route ip route

P125 IANA メディアタイプ

メディアタイプの内、サブタイプがx-で始まるものは、IANAに登録されていない事を意味する。
現在はIANAに登録済であっても、かつて登録前にx-で始まるサブタイプが利用されていて、現在もその歴史的経緯が残っている場合もある。

Media Types

Web API: The Good Parts

Web API: The Good Parts

P117 強い検証と弱い検証

強い検証は1バイトも違わない完全一致の状態を示す。
弱い検証はデータは完全一致していないが、リソースの意味合いとして同じ事を指す。
弱い検証は例えば広告などの様な動的に入れ替わるものなどに用いられる。

Web API: The Good Parts

Web API: The Good Parts

P116 条件付きリクエスト

最終更新日付(Last-Modified)を使って条件付きリクエストを行う場合には、If-Modified-Sinceヘッダを使う。
エンティティタグ(ETag)を使って条件付きリクエストを行う場合には、If-None-Matchヘッダを使う。
サーバー側では送られてきた情報と現在の情報をチェックし、変更がなければ304を、変更があれば200と変更されたデータを送る。

Web API: The Good Parts

Web API: The Good Parts

P113 ExpiresとCache-Control

・ExpiresはHTTP1.1の仕様によれば、どんなに長い時間を指定するとしても、1年以上は設定すべきではないとしている。
・ExpiresとCache-Controlを同時に利用した場合には、より新しい仕様であるCache-Controlが優先されることになっている。
・max-ageの計算には、Dateヘッダを利用する。なお、Dateヘッダは特殊なケースを除き基本は付けなれけばならないヘッダのため、APIの場合でも付ける様にすべきである。

Web API: The Good Parts

Web API: The Good Parts