2015-01-01から1年間の記事一覧
2015年の振り返りです。 今年は個人としてIETF参加・SoftwareDesignへの寄稿・勉強会登壇など出来ました、それも色々な人々に助けて頂けたおかげです。 ですが、本当はもうちょっと頑張れたような気がしています。 ブログの方も約50の記事を書けました。 ID…
20180208追記、Nginxも対応したようです NginxがHTTP2サーバプッシュに対応したので試す - ASnoKaze blog Apache 2.4.18より HTTP/2のサーバプッシュを試す。 http://ftp.riken.jp/net/apache//httpd/CHANGES_2.4.18 ビルド 「Apache 2.4.17のmod_http2試す…
本記事は http2 Advent Calendar 2015 の 13 日目の記事となります。 すみません、すみません。。。 以前、nginx 1.9.3 のHTTP/2部分のコードを読んでいたのですが、続きを出来てなかったので続きをやろうと思いましたが、間に合いませんでした。。。 gprof…
このエントリは、 http2 advent calendar の 8 日目の穴埋めです。 HTTP/2にGZIPPED_DATAフレームという拡張フレームを追加する提案が提出されている。フレームの追加に伴って、エラーコード・Settingsも追加される。 HTTP/2 Gzipped Data https://tools.iet…
CSPでCookieのセットを制限する"cookie-scope"ディレクティブが「 Content Security Policy: Cookie Controls」という仕様で提案されています。 以下のCookieに関する仕様を提案しているMike West氏による提案である Cookie Prefixes Origin Cookies Depreca…
このエントリは、 http2 advent calendar の 5 日目です。 ここまで豪華執筆陣による記事が続いてるところに恐縮です。 (あとChromeのコードへの理解が足りず、間違いがあるかもしれません。ご注意下さい) Chrome デベロッパーツールのPriority 先日、Chro…
Chrome デベロッパーツールの Priority と HTTP/2 すみません、コチラです http://d.hatena.ne.jp/ASnoKaze/20151205/1449245683
W3Cで「Content Security Policy: Embedded Enforcement」という仕様が公開された(First Public Working Draft)。ちょっと読んでみた。 現在はCSPを利用しても、iframeで提供されるサードパティのウィジェットに制限を設けることは出来ませんでした。そこ…
Webセキュリティを考える上で大事な仕組みの一つに、Same-Origin Policyという仕組みがあります。 Originは「スキーム・ホスト・ポート」の組み合わせです。これらが一緒であれば、同一Originでありリソースへアクセスすることができます。 歴史的経緯や様々…
先日行われたTPAC 2015で議論があったらしい「HSTS Priming」について軽く眺めてみる。 議論されているHSTS Priming自体は、EditorであるMike West個人のリポジトリ(URL)にて仕様が公開されている。 HSTS Priming オリジンAで、以下のHTMLを含んでいるとする…
HTTPを効率よく使用するためにTCPのチューニングはかかせません。 Best Current Practiceカテゴリとして「TCP Tuning for HTTP (draft 00)」というInternet-Draftが提出されているので、ざっと目を通した。(割と適当) 大きく分けて下記の5つについて書かれ…
この記事は古くなっています。 2018/01/11 最新内容で書き直しましたのでそちらを参照のこと asnokaze.hatenablog.com HTTP/2では、一定の条件が満たされれば異なるオリジンとの通信を一つのコネクション上で行うことが出来ます。サーバは、クライアントが要…
HTTP/2ではサーバプッシュと呼ばれる機能があります。サーバはクライアントからのリクエストを受信しなくても先んじてレスポンスを返すことができる仕組みになります。 たとえば、HTTP/1.1においてリソースをインライン化していた部分をサーバプッシュとして…
Entry Point Regulation とは 反射型XSS・XSSI・CSRFのリスクを軽減するユーザエージェント上の仕組みとして、W3CでEntry Point Regulationという仕様が策定中です。 Webアプリケーションの口(Entry Point)に幾つかの制限をかけることが出来ます。別オリジン…
20190311追記 最新仕様である Secondary Certificate Authentication in HTTP/2の解説記事を書きました asnokaze.hatenablog.com draft 01で大きくな変更が加えられました。証明書を要求するフローは以下より大きく変わりました。ご注意ください (2016/01/27…
mod_h2が Apache2.4.17でデフォルトで組み込まれたのでビルドして試してみる。 今回はopenssl1.0.2を使いたいのでubuntu15.10を使います。 以前のubuntuだとうまくいかないかもしれない nghttp2のインストール nghttp2をインストールしておく必要があります …
"$Origin-"プレフィックスは削除され、"$Host-"プレフィックスが追加されました。 (2015/10/13追記)(2015/10/17 記事更新) 背景の、domain属性の指定に誤りがあったため修正しました。「domain=my-example.com」-> 「domain=example.com」(2015/10/14追記) d…
先日、HTTPSでsecure属性を付加した場合でも改変できると話が話題になりました。 クッキーの脆弱性が判明: HTTPS のセキュリティを突破する、攻撃が成り立ってしまう! HTTPSを使ってもCookieの改変は防げないことを実験で試してみた(2013/9/30) Cookies La…
CSP Pinningという仕様がW3Cで検討されている。 https://w3c.github.io/webappsec/specs/csp-pinning/ CSPの設定をユーザエージェントに記憶させ、毎回CSPヘッダを送信しなくても良くする仕様である。 CSP そもそもCSPとは、JavsScriptや各リソースの読み込…
opensslのバージョンに注意してください。NPNやALPNを使うのでバージョンを確認してください(追記) 本日公開されたNginx 1.9.5でHTTP2に対応しました!早速試しましょう!! ( http://nginx.org/en/CHANGES ) 今回もUbuntu14.04 (別のOSでも、パッケージor…
Nginxのhttp2の設定項目にhttp2_streams_index_sizeがある。直感的には分かりにくかったのでちょっと調べる。 そのほかのパラメータは過去に書いたとおり、「Nginx 1.9.4 HTTP/2パッチのconf パラメータ設定項目」 streams_index配列 各ストリームに関する情…
こんな感じで、Nginxの受信フレームをグラフ化する。 デバッグログからFluentdでMackerel APIを叩く感じ。 ビルド NginxのHTTP/2パッチがTrunkに取り込まれたので、改めてビルド。 wget http://hg.nginx.org/nginx/archive/tip.tar.gz tar zxvf ./tip.tar.gz…
一年ほど前に書いた「MPTCP(MultiPath TCP)と負荷分散ってどうなんだろう」関連の話。 先日、まさに「Multipath TCP behind Layer-4 loadbalancers」と言うI-Dが出てました。iOSのsiriではMPTCPを使っているようですが、Appleの方もAuthorに含まれています。…
Nginx 1.9.5でHTTP2がサポートされました。パラメータ自体は本記事から変わりません。(2015/09/23) http2_max_field_sizeの挙動が変わったようです (2015/11/12) http://hg.nginx.org/nginx/rev/1f26bf65b1bc Nginx 1.9.4 + patch.http2-v5_1.9.4.txtで使え…
20180724追記 動いた Clear-Site-Dataヘッダでブラウザに記憶されているデータを消す - ASnoKaze blog 背景 Webサイトは様々な理由で、ユーザのローカルにデータを保存します Cookieといった状態を管理するための情報 Cacheといった、Webサイトのパフォーマ…
HAProxy 1.5でALPNに対応していた。 HTTP/2 over TLSの通信を、HAProxyでTLSを終端することで、TLS対応を行わないであろうVarnishなどでもh2c接続が可能となる。 (HAProxy自体のhttp2対応はまだ先) 今回はバックエンドにNginxをh2cでリッスンさせて試してみ…
Nginx http/2 アルファパッチを本番で試しちゃダメだよ ちなみに報告済み。既知らしく、アルファパッチは本番で使っちゃダメとのこと。 2015年8月現在。 nginx1.9.4 + patch.http2-v3_1.9.4.txt 0. せってい reverse proxyとして動かす。 server { listen 80…
「nginxでアクセスログにspdyのバージョンを出す」の時と同様にlog_formatで出力できる。 nginx 1.9.3 + patch.http2-v2で試す 環境構築は「nginx1.9.3 HTTP/2 パッチを試す」 設定 http { log_format main '$remote_addr - $remote_user [$time_local] "$re…
ubuntu14.04で、Nginx1.9.3 + patch.http2-v2 + openssl1.0.2d 環境構築は「nginx1.9.3 HTTP/2 パッチを試す」 server { listen 443 ssl http2 ; ssl_prefer_server_ciphers on; #★offにすると繋がる server_name localhost; ssl_certificate xxx.crt; ssl_c…
patch v2が公開されました、すでに内容は古くなっています(2015/08/16) 前回の「nginx1.9.3 HTTP/2 パッチを試す」に引き続き、nginxのhttp/2パッチを読んでみる。 ただし、nginx初心者なのでnginx的な部分については全然理解していない...基本的には自分用…