2014-01-01から1年間の記事一覧

MySQLのプロトコルを学ぶ

今年ももうそろそろ終わりですね。 沢山パケットキャプチャした方も、そうでない方もいらっしゃると思いますが、今年残り僅かの日々も大事にパケットキャプチャしていければな思います。 じつはWiresharkではMySQLのプロトコルに対応しているのは知っていた…

脆弱性で振り返る2014

やはり今年を振り返ってみると脆弱性の印象が強いという方も多いと思います。 今年opensslやbashで脆弱性が見つかり、冷や汗を書きながらサーバの脆弱性対応をされたインフラエンジニアは多いのではないでしょうか?特にheartbleedをはじめとした、脆弱性に…

HTTP/2における、ストリーム並列数別パケットロス率が与える影響測定

この記事は HTTP2 Advent Calendar の 23 日目の記事です。 本記事では、個人的興味からHTTP/2の並列数別のパケットロス率影響度を測定した。 余談ではあるが、 現在の仕様では "HTTP2.0" ではなく "HTTP/2" もしくは "HTTP2" としている。 背景 HTTP/2ではH…

WiresharkでHTTP/2をパケットキャプチャする

20190417追記 HTTP/3はこちら「WiresharkでのQUICの復号(decrypt) - ASnoKaze blog」 20151030追記 TLSを利用するHTTP/2では、秘密鍵を設定しても通信を復号することは出来ません。 HTTP/2の鍵交換はPFSなので、下記も参考にして下さい 「Wireshark で HTTP/…

SCSVを実際に試す

先日の書いた「TLSのダウングレード攻撃を防ぐSCSVとは」ですが、10/15に公開されたOpenSSL 1.0.1jで既に使用できるようなので試してみました。 使い方 使用するには、-fallback_scsv オプションを付けるだけです。 $ openssl s_client -fallback_scsv -conn…

TLSのダウングレード攻撃を防ぐSCSVとは

2018/01/09追記 TLS1.3の仕様ではダウングレード攻撃対策が異なっています。 TLS1.3もしくはTLS1.2に対応したサーバは、それ以下のTLSバージョンをねごシーエションする際はServerHelloのランダムの下位ビットに規定の文字列を挿入する決まりになりました。…

TLS 1.2のSignature Algorithms extension

GoogleやMicrosoftが、将来的にSHA-1を使用した署名の証明書を安全なものとして扱わないとするアナウンスは、記憶に新しいかと思います。 Google Online Security Blog: Gradually sunsetting SHA-1 Windows PKI blog: SHA1 Deprecation Policy このアナウン…

Windows Server Technical PreviewのIISがHTTP/2に対応してた

Windows 10とWindows ServerのTechnical Preview版が公開されました。 Windows 10のInternet ExplorerがHTTP/2(h2-14)に対応していましたが、Windows ServerのIISもHTTP/2に対応していました。 実際に試してみましょう。 Windows Server を起動する TechNet …

ubuntuでlua-nginx-moduleを試してみる

2通りの手段がある。 nginx-extrasパッケージを入れる ビルドする 前者が簡単だが、今回はビルドしたのでざっと手順 必要なモノ入れる sudo apt-get update sudo apt-get install -y lua5.1 liblua5.1-0 liblua5.1-0-dev sudo apt-get install build-essenti…

Online Identity Workshop Vol.1に参加してきた

先日行われた「Online Identity Workshop Vol.1 "アイデンティティって何?" 」に参加してきて、なかなかおもしろいな要だったので軽くまとめる。 http://isocjp-oiwg.doorkeeper.jp/events/14127 togetter:http://togetter.com/li/708589 今回は第一回であ…

TLS,DTLSを安全に使用するための推奨事項

"この記事はdraft01を元に書かれております。既にdraft05が公開されており、幾つか変更されておりますご注意下さい" IETFのUsing TLS in Applicationsワーキンググループ(uta wg)にて、アプリケーションプロトコル(SMTP,POP,HTTP...)の実装者や開発者向けの…

HTTP/2 リンク集

定期的に更新します 公式 IETF WGページ:draft一覧、憲章など HTTP/2リポジトリ 仕様群:編集中の仕様群 実装リスト 運用ガイド FAQ(日本語訳) WGリポジトリ ミーティング議事録 関連仕様:alt-svcとhttp2-encryption ML httpbis http-devops webpush 関連I…

HTTP/2 draft 13が出ました

既にHTTP/2の実装は多く存在し、実際に試すことが出来るようになってきましたが、6/17に新しいドラフトであるdraft13が出ました。(nghttp2はすでに対応済みだそうです) githubのリポジトリ上では「Adding -lc suffix and last call note」というコミットが行…

HTTP URIの日和見暗号について

Pervasive Monitoring 去年のスノーデン事件を機にインターネット監視への危惧は高まりました。 「Pervasive Monitoring Is an Attack」(RFC7258)にて"大規模モニタリング"は攻撃であるとしたことは若者の間でも有名な話かと思います。 Opportunistic Encryp…

HTTP/2の運用に関する考察のI-D

5月末に、「HTTP/2: Operational Considerations for Servers」というI-Dが公開された。 サーバでHTTP/2対応する際の、パフォーマンスや運用性に関する注意点などが述べられている。 主な項目は以下の通りである TCPの設定 TLSの設定 ロードバランスとフェイ…

quic_clientとquic_serverを試してみる

chromiumのリポジトリにquic_clientとquic_serverというツールがある。 ubuntu 12.04でこれらを試してみた。 もしかしたら色々間違ってるところがあるやもしれませんが、とりあえず動いた... 事前準備 最低限のパッケージを入れる apt-get install subversio…

CloudShark が超便利そう

CloudSharkが便利 パケットキャプチャしたデータを誰かに見せる事は、しばしばあります。 そんな時、CloudSharkがとても便利です。 https://www.cloudshark.org/captures/4ff29b39b8dc?filter=sip 見て頂ければ分かるように、Wiresharkと同じように使用する…

SPDY/4はどうなるのか

この記事は古いです Hello HTTP/2, Goodbye SPDY http://blog.chromium.org/2015/02/hello-http2-goodbye-spdy-http-is_9.htmlの記事により公式にSPDYを辞めることがアナウンスされていました。HTTP/2で拡張性が仕様に盛り込まれた事が大きいと思います。一…

HTTP2に導入された dependency-based stream prioritization

HTTP2 draft11 4/3にHTTP2のdraft11が公開された。 ALTSVCフレームの追加や、"connection header"から"connection preface"への名称変更などが含まれている。 なかでもストリームのpriorityについて大きな変更が入った。 HTTP/2のpriority HTTP2ではクライア…

openssl s_clientとs_serverでalpnを指定する方法

openssl s_clientとs_serverでNPNを指定する方法 に引き続きalpnの指定方法 OpenSSL 1.0.2からalpnに対応している。openssl s_clientやs_serverでもハンドシェイク時のネゴシエーションが指定できる。 ネゴシエーション時の簡単な挙動を確認したいときは手軽…

SPDY/3.2とか

SPDYの脆弱性 SSLで暗号化+圧縮を行こなっている通信に対して、Cookie等の値を解析するCRIME攻撃やBREACH攻撃が知られている。 幾つかのサイトで解説記事が書かれている。 App Engine セキュリティー情報 - BREACH attack について BREACH攻撃(てきとうなメ…

h2loadを用いてSPDYの負荷テストをする

h2loadはtatsuhiro_t氏によって公開されている、HTTP2・SPDY用のベンチマークツールである。 非常に有用なツールなので、実際に試してみた。 試した環境はUbuntu 13.10である。 必要な物をインストールする ビルドに必要なパッケージをインストールする。 su…

HTTP2でWebがどうなるか9つのこと(自分用メモ

宣伝 2015/11 追記 ソフトウェアデザイン 11月号に HTTP/2の特集記事を書かせていただきました。より詳しく書きましたので、本記事より参考になるかと思います。 http://www.amazon.co.jp/dp/B01494YKUI HTTP2は2014年4月のWG Last Callに向けて、仕様策定が…

WiresharkがHTTP2に対応してたので試してみた

この記事は古くなっています。こちらを御覧ください WiresharkでHTTP/2をパケットキャプチャする Wiresharkがhttp2-draft09に対応していたので、早速パケットをキャプチャしてみた。 Wireshark開発版ではdraft04までの対応だったので、ソースコードを落とし…

SPDY対応するために考えてること

概要 若者の間でも、SPDYに対応するためのノウハウが共有されていないことは有名である。 そこで、中規模サイトでSSL化、SPDY対応という観点で個人的に考えていることを書き出してみる。 HTTP2は暗号化の議論や、アップグレード、ヘッダ圧縮など細部が違うた…

nginxでアクセスログにspdyのバージョンを出す

nginxでアクセスログにhttp2の通信か出力する http/2はこちら。(2015/08/18追記) nginx 1.5.10でspdy3.1に対応されました。ふと、nginx側のログでspdyを使ってのアクセスか確認する方法が気になって試してみた。 設定 結論としてはlog_formatを使うだけ ngin…

Windowsでvagrant-berkshelfのロードに失敗する

環境 virtualbox 4.3.6 vagrant 1.4.3 vagrant-berkshelf 1.3.7 mingw 現象 installは成功するが 「Failed to load the "vagrant-berkshelf" plugin. 」となってしまう。 bash-3.1$ vagrant plugin install vagrant-berkshelf Installing the 'vagrant-berks…

http2を簡単に試せるように、vagrantfile書いた

準備 virtualboxとvagrantがインストールされてない場合は、公式サイトからダウンロードします。https://www.virtualbox.org/wiki/Downloads http://www.vagrantup.com/downloads.html VMの起動 GitHubから落としてきます $ git clone https://github.com/fl…

UbuntuにTraceboxをインストールする

インターネット上には多くのミドルボックスが存在しています。 ミドルボックスとは、NATやファイアウォールといった中間装置であり、パケットはそれらによって書き換えられます。 そういった、通信経路上でのパケット書き換えを見つけるツールとしてTracebox…

MPTCP(MultiPath TCP)と負荷分散ってどうなんだろう

新しく、「Multipath TCP behind Layer-4 loadbalancers」と言うI-Dが出ました。 それについては、「Multipath TCPとL4バランシングのI-D」コチラを御覧ください。 (2015/09/13 追記)関連してiOSのMultiPath TCP対応の記事を書きました「iphone(iOS 11)でMul…