タグ

ブックマーク / catatsuy.medium.com (4)

  • 政府によるインターネットの検閲とSNIについて

    しかし今回一般の人の目にも触れる形でSNIやHTTPSのことが報じられた結果、エンジニアも含めて明らかに技術に関して勘違いをしているのではないかと感じる発言を見ることがありました。このまま放置するのも良くないと感じているので、Q&Aという形でSNIやHTTPSに関する誤解を少しでも解ければと思います。 Q&AQ: そもそもSNIって何?以前書いた記事にも書かれているので是非読んでみてください。 簡単に説明すると、HTTPSではSSL/TLSを利用して通信が暗号化されます。なので1つのIPアドレスで複数の証明書を扱おうとした場合、最初の通信時にどの証明書を利用すればいいか分かりません。そこでSNIが必要になります。 SNIは最初の通信時に今から通信したいサーバーネーム(ドメイン名と考えてください)をサーバーに平文で渡すことで、通信したいSSL証明書を指定できます。SNIは現在の一般的なブラウ

  • これからドンドン使われていくSNIについて

    SNIとは元々SSL通信は1つのIPアドレスに対して、1つの証明書が前提になっていました。というのもSSLでは暗号化されているため、1つのIPアドレスに対して複数の証明書を持っていた場合、リクエストが来たときにどの証明書を使えばいいか判断できないからです。 しかしこれだとどう考えてもつらいことが分かります。昨今の流れとして常時SSL通信が当たり前の世界になりつつあります。すべてのドメインに対して全てのIPアドレスを用意するのは特にIPv4では現実的ではありません。 そもそもHTTPではVirtual Hostを使って、1つのIPアドレスで複数のドメインのサイトを扱うことがとても一般的です。 そこで有用なのがSNIです。SNIは最初の通信時に今から通信したいサーバーネームをサーバーに平文で渡すことで、通信したいSSL証明書を指定できます。 SNIを使うことでHTTPのVirtual Host

    これからドンドン使われていくSNIについて
  • logrotateの設定とファイルのアクセスモードについて

    忙しい人のために先にまとめログファイルのopen時のアクセスモードは os.O_WRONLY|os.O_APPEND|os.O_CREATE を指定するlogrotateの設定には nocreate を渡すlogrotateではファイルをmvした後に行う処理が書けるので、そこでアプリケーションに対してシグナルを送ることでlogrotateの処理を実装できるfluentdはログのローテートを頑張って検知している ファイルディスクリプタについてファイルを open するとファイルディスクリプタを得られます。ファイルに書き込む際にはファイルディスクリプタ経由で書き込みを行います。 Linuxシステムプログラミング 23pをちょっと長めに引用します。 ファイルを読み書きする前にはオープンする必要があります。カーネルはオープンしたファイルをプロセスごとに管理しており、これをプロセスのファ

  • nginx-buildのLibreSSL対応をした

    nginx-buildというGo製のソフトウェアがあります。名前の通りnginxbuildするために使用するソフトウェアです。そのnginx-buildでLibreSSLの静的リンクが簡単にできるようにするPRをマージしてもらえました。 コメントにも書いたように、今までのコードはコンパイルオプションに渡すオプション名とソフトウェア名が一致している事が前提になっていました。しかしLibreSSLのオプション名は — with-opensslで一致しません。またOpenSSLと同様のオプションを付与しなければならないのでところどころ特別扱いしています。その辺りが一筋縄では行かないので少し面倒でした。 nginxとLibreSSLについて少し書いてみます。 nginxは大体のOSの標準パッケージで入るので適当に利用したいだけなら標準パッケージから入れれば十分です。しかしnginxはApache

  • 1