30-Jun-2018
[伝言板閉鎖のお知らせ]

TwitterやMastodonなどの双方向のコミュニケーション手段が豊富になったこと、伝言板として使用しているSimpleMEMOのメンテナンスが困難になったため、伝言板は今後閉鎖することにします(現時点でも正常に動いていないような気がしますが)。

急ではありますが、当分の間は書き込み不可/閲覧のみとし、適当な期間が経過した後に閉鎖(削除)することにします。日記からのリンクは順次解除していきます。

今まで書き込み/閲覧してくださった皆様、SimpleMEMOの作者様、どうもありがとうございました。この場を借りてお礼申し上げます。59.00kg(06:30)

29-Jun-2018
[SSL対応をやってみる]

SSL非対応のweb pageなんてイマドキじゃない、ということらしいのでここもSSL対応してみました。とはいえ、IPv4(ik1-342-31132.vs.sakura.ne.jp)側のみの対応です。

まずは証明書の入手ですが、Let's Encryptでお手軽にやろうとしてもさくらのドメインからではRate Limitsに引っかかってしまうのでCheapSSLsecurityからCOMODO PositiveSSLを購入しました。通常だと$25.97/4年のようですが、何かのキャンペーンをやっていたらしく$15.56/4年で買えました。

最初に代金をクレジットカードかPayPalで支払い、Dashboardからオーダーを出していきます。基本的には書かれていることに従って作業を進めていきますが、ホスト名を書く欄が無くて戸惑いました。これはHow to Generate a CSR: Apache OpenSSLに書いてあるように、CSRを作成する際のCommon Nameのところで記述します。openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csrで作成した秘密鍵(server.key)はApacheの設定でも使いますので、捨てないように。

ホスト名の確認はe-mailもしくはwebサーバ上に配置した認証用のファイルを使う方法がありますが、自分は後者を使いました。Download Auth Fileでダウンロードしたファイルを、http://your-domain.com/.well-known/pki-validation/<filename>となるように配置して、確認が取れればDownload Certificateで証明書を受け取れるようになります。

入手した証明書はzipのアーカイブになっていて、AddTrustExternalCARoot.crt(ルート証明書)、COMODORSAAddTrustCA.crt(中間証明書1)、COMODORSADomainValidationSecureServerCA.crt(中間証明書2)、<hostname>.crt(サーバ証明書)の4つのファイルが入っています。ここから、ApacheのSSLCertificateFile(server.crt), SSLCACertificateFile(ca-bundle.crt)を作ります。

server.crt  
<hostname>.crtと同じものです。
ca-bundle.crt
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > ca-bundle.crt で作ります。中間証明書2→1の順番である必要があります(参考:ELB の ComodoSSL 証明書を更新Comodo PositiveSSL サーバー証明書インストール)。

SSLCertificateKeyFileで指定するserver.keyについては、CSR作成時に得たserver.keyそのものです。ファイル置き場は色々な流儀があるようですが、とりあえず/etc/ssl/{server.crt,ca-bundle.crt}, /etc/ssl/private/server.keyとしています。

必要なファイルが揃ったので、Apacheの設定です。自分はtar ballからビルドしたapache-2.4.33を使っていますので、OpenBSD標準のものとは異なります。

/usr/local/apache2/conf/httpd.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so, LoadModule ssl_module modules/mod_ssl.so, Include conf/extra/httpd-ssl.conf これらのコメントアウトを解除
/usr/local/apache2/conf/extra/httpd-ssl.conf
SSLCertificateFile, SSLCertificateKeyFile, SSLCACertificateFileにそれぞれ必要なファイルの所在を記述。SSLProtocol, SSLProxyProtocolはデフォルトのall -SSLv3から+TLSv1.2に変更。

きちんとTLS1.2のみに制限できているかどうかの確認は、openssl s_client -connect your-domain.com:443 -tls1_1で行えます(参考:Apache で https のプロトコルを TLS1.2 のみに制限する)。

とりあえず、このような場末のweb日記でもSSLに対応できるようですが、どんな意味があるんですかね…58.75kg(23:15)

01-Jul-2018補足:httpd-ssl.conf、<VirtualHost _default_:443>だとIPv6(153.126.212.136.v6.sakura.ne.jp)側からもSSL接続を受け付けてしまう(が証明書が対応していないためにYour connection is not secureとなってしまう)ので、<VirtualHost 153.126.212.136:443>として制限する必要があります。

マルチドメイン対応の証明書は非常に高価なため、IPv6用の証明書を一枚追加すれば良さそうですが今のところはIPv4のみのSSL対応とします。

28-May-2020補足:証明書の更新が必要になったので更新作業を行っていますが、zipアーカイブの中身が少し変わっているので書いておきます。今の物はCER - CRT FilesとPlain Text Filesの二つのディレクトリにそれぞれ拡張子が.crtのものと.txtの物が格納されていますが、拡張子が違うだけで中身は同じでした。とりあえずCER - CRT Filesにあるファイル名の意味は

AAACertificateServices.crt
(1)ルート証明書
USERTrustRSAAAACA.crt
(2)中間証明書1
SectigoRSADomainValidationSecureServerCA.crt
(3)中間証明書2
<your-domain>.crt
(4)サーバ証明書
My_CA_Bundle.ca-bundle
(5)(1)〜(3)をバンドルした物

ということみたいです(参考文献:COMODOサポート・コード証明書の場合のルート証明書や中間証明書はどれですか?)。Certificate Decoderにあるopenssl x509 -in <CA_Bundle> -text -nooutでcat SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAAACA.crt AAACertificateServices.crt > ca-bundle.crtで得られた物と、My_CA_Bundle.ca_bundleを比較してみましたが、同じ結果になりました。

なので手っ取り早く作業するなら、

SSLCertificateFile
<your-domain>.crt
SSLCertificateKeyFile
CSR作成時に得たserver.key
SSLCACertificateFile
My_CA_Bundle.ca-bundle

を使えば良さそうです。

24-Jun-2018
[どうにかtnt-1.9.2も]

ビルドが通るようになりました。結局、20-Jun-2018に書いたように、config.sub, config.guessを更新し、intl/のMakefile.inにある@GT_YES@, @GT_NO@を適当に直し、configure --disable-nls+αで対処してます。あとは、gcc-4.2.4だけでなくclang-5.0.1でビルドした際に出てくるwarningをいくつか潰してGitHubに放り込んどきました

これからdpboxとtnt, tfkissを組み合わせて動作させ、何が起こるかを見てみることになりますが…ちゃんと動くんですかねえ?58.40kg(22:25)

20-Jun-2018
[とりあえずtfkiss-1.2.4は]

こんな感じでconfigureを作り直せば良い感じではあります。

あとは#ifdef周りをちょっと直してGitHubへ放り込んでおきました

tnt-1.9.2の場合、config.sub, config.guessを更新し、intl/のMakefile.inにある@GT_YES@, @GT_NO@を適当に直し、configure --disable-nlsでsrc/のビルドまで進むという感触は得ているのですが、完全な解決法はまだ見つかっていません。60.10kg(10:25)

12-Jun-2018
[dpboxだけじゃダメで]

http://wspse.de/WSPse/Packet.php3にある、TNT(1.9.2)とTFkiss(1.2.4)も必要なんですが…試しにTNTをビルドしようとconfigureを実行するとamd64-unknown-openbsd-6.3なんか知らんとか言われてしまう状態で。

おそらくautotoolsでconfigureを再作成するところから始める必要があって、configureを作ったとしてもさらにビルドが通るように手を入れないといけないとなると…もう素直にNetBSDとかLinuxとかの上で動かした方が良くね?な気分になってきます。

ピストバイク乗ってみたいよねー(BMXで派手にコケたのに懲りないのか…懲りません)と思ってちょっと調べてみたんですが、やっぱり定番はFUJIのFEATHERという感じがします。とはいえ、個人的にはフラットバーで乗りたいのでMASIのUno Riser辺りになるかもしれません。まだESCAPE R3を乗りつぶした訳ではないので今後何に乗るかについてはのんびり考えるとして…

むしろESCAPE R3で使っているSERFAS Tunono Hybrid 32cがそれなりに痛んできたので、次のタイヤをどうするかを考えないといけません。32cで続けるなら同じタイヤでも良いのですが、折角なので28cや25cを試してみたいですし…同じSERFASでSECA RSを選ぶか、他の選択肢を探すことになるのでしょうか。59.45kg(23:00)

02-Jun-2018
[Y!mobile解約しました]

DDI pocketの時代からY!mobileになってもしばらく使っていましたが、もう十分でしょう。02-Jan-2018に予告した通り、b-mobile S 990(SoftBank)へ乗り換えました。

今までどうもありがとう、DDI PocketとWILLCOM。そして、通り過ぎていった端末達。58.45kg(21:45)