Splatoonstat.inkサーバ設定

stat.ink: Mac OS X で splatnet2statink を利用中の方へ

既に stat.ink トップページで案内している通り、stat.ink ではゴールデンウィーク明けを目安に、セキュリティの強化を予定しています。2017-05-07T22:00:00+09:00 頃実施しました。
具体的には、既にセキュリティ上の問題の見つかっている「TLS 1.0」およびほとんど利用されていない「TLS 1.1」を停止します。
(TLS は一般に「SSL」と呼ばれている、暗号化等に関する仕様です)

この変更は、一般に、一部の環境を除いてほとんど影響がないため、世界的にほぼ同時期に行われるものです。
(クレジットカード関係で 2018 年 6 月末までの停止を求められているもので、これにあわせたものです。既に実施されているサイトもあります)

OS X では 10.9 Mavericks あたりから対応していると思われますので、普段、Safari 等でブラウジングする分には全く問題ありません。
(stat.ink のトップページを表示すると、”TLS 1.2″ の部分にチェックマークがつくと思います。ここでチェックマークがつく環境は(他のサイトも含めて)大丈夫です)

これをうけて、stat.ink でもほぼ影響はないだろうと思っていました。
思っていました、具体的な条件は現在のところ不明なものの、一部の splatnet2staink 利用者が TLS 1.0 で通信していることに気づきました。
その環境で利用している方は、ゴールデンウィーク明けに突然投稿できなくなります。

と言われても、自分の環境が該当するのかよくわからないと思いますので、チェック用のスクリプトを準備しました。
(splatnet2statink が使える程度の知識の持ち主を想定していますので、細かい説明は省きます)


(AMPページで見ている方は↑に何も表示されていないと思います。ここ をクリック/タップして通常ページの表示に切り替えてください)

このスクリプトを保存して実行する(例えば、端末上で python tlstest.py)と、例えば次のような表示が行われます。

OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
TLS v1.0 (Obsoleted)   : OK
TLS v1.1 (Obsoleted)   : OK
TLS v1.2 (Required)    : OK
TLS v1.3 (Experimental): Failed

この例では “TLS v1.2 (Required)” が “OK” になっていますので、今後とも問題なく利用可能な環境であると言えます。
もし、お使いの環境で “TLS v1.2” の部分が “Failed” になるようでしたら、対応が必要となります
(「stat.ink に投稿できなくてもいいや」という話で終わらず、その環境は今後多数のサイトに接続できなくなる可能性があります)
なお、 “TLSv1.3” は、繋がる環境がほぼ存在しないので、まず “Failed” になります。問題ありません。

具体的な対応については、手元に OS X の環境が存在しないためよくわかりませんが、もしかすると、次のようなことをすると良いかもしれません。
(OpenSSL というプログラムを更新します)

brew update
brew upgrade openssl
brew link openssl --force

これで駄目なら、このへん を見てやってみてください。
splatnet2statink 作者の Eli (frozenpandaman) は「結局 Python 再インストールしたよ…」って言ってました。IkaLog Slack で。

しかし、この状態は Mac で開発してる開発者は 6 月以降死ぬんじゃなかろうか…

stat.inkサーバ設定

stat.ink: メンテナンスを行いました(JA only)

2017-10-09 午前5時5分くらいから午前5時20分くらいの間、データベースサーバのメンテナンスを行いました。
メンテナンスに伴い、上記の時間帯の間、サイトの閲覧および投稿ができませんでした。
なお、投稿時に失敗したバトル登録について、どのように取り扱うかはクライアントによって異なりますので一概にどうなったかはわかりません。 続きを読む

Wandboxサーバ設定

Wandbox for PHP: 環境追加

Wandbox for PHP/Hack の環境を追加しました。

  • AlpineLinux
    • Alpine Linux 3.5 (追加)
      • PHP 5.6
      • PHP 7.0
    • Alpine Linux Edge (追加)
      • PHP 5.6
      • PHP 7.0
  • Debian GNU/Linux
    • Debian 9 Stretch (追加)
      • PHP 5.6
      • PHP 7.0
    • Debian Sid (変更)
      • PHP 7.1

いつも通り、Linux Kernel は CentOS 7 のもの (Linux 3.10.0) で、chroot で切り替えるだけなので、Docker でその環境を動かしたもの相当とでも思ってください。

Alpine Linux 3.5 は 3.5 であることを保証するのではなく、最新のリリース版にしていくつもりです。(Docker なら alpine:latest 相当)

stat.inkサーバ設定

stat.ink の TLS(SSL) 設定変更

stat.ink の TLS (SSL) の設定を変更したため、次のようなクライアントではアクセスできなくなりました。

  • Windows XP + Internet Explorer (Firefox 等ではアクセス可能かもしれませんが、そもそも XP はもう窓から投げ捨てましょう)
  • Android 2.3 (たぶん 4.0 未満が正確) などのとても古い Android (これももう窓から投げ捨てましょう)
  • Java 6, OpenSSL 0.9.8 などの大変古いライブラリ(窓から投げ捨てましょう)

(stat.inkに限らず)次に死ぬ予定なのは、

  • Android 4.4 未満
  • IE 11 未満の Windows 7/Vista
  • Windows Phone 8.0
  • Java 7
  • Safari 7 未満

あたりになる可能性が高いです(これらの環境は TLS1.2 での接続をサポートしていません)。当該環境をお持ちの方は早めのリプレースを検討してください。

今回死んだ技術的な理由: 続きを読む

サーバ設定

CentOS(RHEL) 7 で起動時に swappiness を調整する方法

結論

以降の HOGE# tuned-adm active とかすると出てくるプロファイル。プロファイル自体が好ましくない場合は tuned-adm で別のに切り替えたり、this article を応用してごにょごにょ。

# cp -r /usr/lib/tuned/HOGE /etc/tuned/
# vim /etc/tuned/HOGE/tuned.conf

/usr/lib/tuned の中身は例によって変更してはいけない。systemd とか firewalld とかといっしょ。/etc にコピってからやる。

続きを読む

stat.inkサーバ設定

stat.ink は HSTS Preloading に対応しています

※「TLS/SSL」とか書くのが面倒くさいので、以下、総称して(通りの良い)SSLと記載します。

常時SSL

利用者の方はお気づきだと思いますが、 stat.ink はいわゆる「常時SSL」で運用しています。

これは、ログインページ等のセキュリティ上重要なページだけでなく、関連する全ての通信をSSLで暗号化する運用です。

GoogleやTwitterなど、最近は常時SSLで運用することが多々ありますが、同様の状態であると言えます。

SSL通信のメリット

続きを読む

サーバ設定

stat.ink のウェブサーバを H2O に変更しました

外から見ると何も変わっていないように見えるはずですが、NginxからH2Oに変更しました。
GETもPOSTも問題なさそうに見えますが、何か起きているようでしたら戻します。

なお、スクリーンショットの配信については先日すでに変更済みです

H2Oのコンパイルオプション等の都合で、TLS(SSL)で使われる暗号化方式が微妙に違うはずですので、何か起きるとしたらたぶんその辺です。