常時SSL化

投稿日: Leave a comment

さくらのレンタルサーバーがLet’s encryptに対応したので早速設定した。

(1) サーバーのコントロールパネルからLet’s encryptを有効化
(2) 常時SSL対応プラグインのインストール

手順としてはこの2つだけ。

Let’s encryptは自宅のサーバには入れていて、cronで証明書の自動更新までできるようにしていて、何とかレンタルサーバーの方も同じことができないかなと思っていたが、完全自動化にはroot権限が必要で、別サーバでの認証だと手間がかかって3か月ごとの証明書更新はやってられないと思ってあきらめていた。

(1)の手順はここにあるとおり数クリックするだけ。後は登録完了のメールを待つのみ。

(2)の方はここに書いてある「さくらのレンタルサーバ 簡単SSL化プラグイン」をインストールして、こちらも数クリック設定するだけ。

証明書も自動更新してくれるらしいし、便利になってありがたい。

 

Termiusでssh-keygenできない

投稿日: Leave a comment

AndroidからSSHでリモートログインするのにかれこれTermiusというアプリを使っているので、Xperia X compactにもインストールしてSSHの鍵を生成するも、公開鍵をサーバーのauthorized_keysに追加してもログインできない。

RSAでもECDSAでもダメだし、RSAで鍵を作っても2048ビットで作ったものが1024ビットで見えるしfingerprintも表示されないしで鍵が正しく生成できていないように見えたので、FreeBSDのホスト上で鍵を作ってみた。

> ssh-keygen -t ecdsa -b 256 -f ./termius

これをTermiusでインポートしたところログインできるようになった。

原因はよくわからないが動くようになって何より。

SSL証明書変更

投稿日: Leave a comment

startcomから発行してもらっていたSSLの証明書が使い物にならなくなったので、letsencryptに乗り換えてみた。

# pkg install py27-certbot

# service apache24 stop

# certbot certonly --standalone --standalone-supported-challenges tls-sni-01 -d rose.everblooming.net

# vim /usr/local/etc/apache24/extra/httpd-ssl.conf

# diff -uN httpd-ssl.conf.bak httpd-ssl.conf
--- httpd-ssl.conf.bak 2017-04-24 21:40:38.569599000 +0900
+++ httpd-ssl.conf 2017-04-24 21:43:26.561690000 +0900
@@ -141,7 +141,8 @@
 # Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)
 # require an ECC certificate which can also be configured in
 # parallel.
-SSLCertificateFile "/usr/local/etc/apache24/server.crt"
+SSLCertificateFile "/usr/local/etc/letsencrypt/live/rose.everblooming.net/cert.pem"
+#SSLCertificateFile "/usr/local/etc/apache24/server.crt"
 #SSLCertificateFile "/usr/local/etc/apache24/server-dsa.crt"
 #SSLCertificateFile "/usr/local/etc/apache24/server-ecc.crt"
 
@@ -151,7 +152,8 @@
 # you've both a RSA and a DSA private key you can configure
 # both in parallel (to also allow the use of DSA ciphers, etc.)
 # ECC keys, when in use, can also be configured in parallel
-SSLCertificateKeyFile "/usr/local/etc/apache24/server.key"
+SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/rose.everblooming.net/privkey.pem"
+#SSLCertificateKeyFile "/usr/local/etc/apache24/server.key"
 #SSLCertificateKeyFile "/usr/local/etc/apache24/server-dsa.key"
 #SSLCertificateKeyFile "/usr/local/etc/apache24/server-ecc.key"
 
@@ -162,6 +164,7 @@
 # the referenced file can be the same as SSLCertificateFile
 # when the CA certificates are directly appended to the server
 # certificate for convenience.
+SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/rose.everblooming.net/chain.pem"
 #SSLCertificateChainFile "/usr/local/etc/apache24/server-ca.crt"
 
 # Certificate Authority (CA):

# service apache24 start

ついでにキーの更新スクリプトも書いて/usr/local/etc/periodic/weekly に置いてみた。来週のCharlie Rootからのweekly run output reportが出てきたら確認する。

(4/26) 追記

ReadyNASの方もやってみた。

ここにある「その他のUNIX系OS」の手順でインストールはできたが、認証がうまくいかなかった。

外向けにはIPv6しかアドレスを公開してないのだけど、ログにはそのアドレスを認識しててうまくいきそうなもんだけどダメ。

色々調べたら認証で使われてる acme/standalone.py がIPv4でしかLISTENしてないっぽいのでここのコードを参考に以下の修正をしてみたらうまくいった。

$ diff -uN standalone_org.py standalone.py
--- standalone_org.py 2017-04-25 19:56:13.820337980 +0900
+++ standalone.py 2017-04-25 19:56:13.820337980 +0900
@@ -5,6 +5,7 @@
 import logging 
 import os 
 import sys 
+import socket 
 
 from six.moves import BaseHTTPServer # type: ignore # pylint: disable=import-error 
 from six.moves import http_client  # pylint: disable=import-error 
@@ -26,6 +27,7 @@ 
     """Generic TLS Server.""" 
 
     def __init__(self, *args, **kwargs): 
+        self.address_family = socket.AF_INET6 
         self.certs = kwargs.pop("certs", {}) 
         self.method = kwargs.pop( 
             # pylint: disable=protected-access

FreeBSD upgrade to 11.0-RELEASE

投稿日: Leave a comment

roseに入れていたFreeBSD 10.3-Rを11.0-Rにアップグレードした.

こことかここに書いてある手順で実行.

# : > /usr/bin/bspatch
# freebsd-update upgrade -r 11.0-RELEASE
# freebsd-update install

 <reboot the system>
# shutdown -r now

# freebsd-update install

<rebuild third-party software>
# pkg-static install -fy pkg
# pkg upgrade -y

# freebsd-update install

 <reboot the system>
# shutdown -r now

これでこんな感じになった.

% uname -a
FreeBSD rose 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9 #0: Tue Apr 11 08:48:40 UTC 2017 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
% freebsd-version -ku
11.0-RELEASE-p9
11.0-RELEASE-p9

StartCom Tool

投稿日: Leave a comment

自宅サーバーのSSL証明書をうっかり失効させてしまったので更新したときのメモ。

1. StartCom Toolをダウンロードし立ち上げる
2. Settingタブで “Professional Mode” に切り替え
3. CSRタブで Common Name にドメイン名を入れて、”Generate CSR” をクリック
4. 右側にCSRができるので “Copy” をクリックして、Startcomのサーバー上にCSRを張り付けてSubmit
5. ほどなくしてzipファイルがダウンロードできる。

ダウンロードしたzipにはサーバーごとに必要なファイルがさらにzipで固められている
→ “ApacheServer.zip”, “IISServer.zip”, “NginxServer.zip”, “OtherServer.zip”

使っているのはApacheなので、ApacheServer.zipを展開し、ファイルを結合 (rootが下になるように)

CSRを保存したときのkeyファイルと結合したcsrファイルをApacheに読ませて終わり。

CSRを作るときにパスワードを入れていないので、Apacheでそのまま使えるのが楽。

初SSD購入

投稿日: Leave a comment

1年半に買ったDELLの省スペースデスクトップPC、その後、メモリを16GBに、HDDを2TBに増設してUbuntuを入れて使っていたが、そろそろWindows10にしておこうと思い立ち、ついでにSSDを導入することにした。

というわけで、秋葉原をうろうろしてこれらを購入。

・Crucial CT250MX200SSD1 (250GB SSD)
・HGST 0S03565 (1TB HDD)

20160501_0343

続きを読む 初SSD購入

北米のSIM

投稿日: Leave a comment

今回の旅のもう一つの目的に北米のSIMを使ってみるというのがあり、旅行前にWCDMA系キャリアのSIMを2種類用意した。

WCDMAのキャリアに限定したのは、持っているSIMロック解除済端末SO-01CとSO-02Fが北米で使われているLTEのバンドに対応しておらず、WCDMAの対応バンドでは、SO-01Cが2100 (band I), 1900 (band II), 850 (band V/VI)、SO-02Fが2100 (band I), 850 (band V/VI/XIX)で、1900と850は北米で使える可能性があるので。

そこで用意したのはAT&T (オレンジ) とT-Mobile (赤) 。どちらも3GはWCDMA。
ちなみに、VerizonやSprintの3GはCDMA2000なので対象外。

20160403_ATT-SIM20160403_ReadySIM

で、AT&Tは1900 (band II), 850 (band V)、T-Mobileは1900 (band II), 1700/2100 (band IV) なので、SO-02F (Z1f) はAT&Tのみ、SO-01C (arc)はAT&TとT-Mobileで使えそう。というわけで、現地ではAT&TのSIMをSO-02Fに、T-MobileのSIMをSO-01Cにさしてみた。

T-MobileのSIM (READY SIM) をさしたSO-01Cはホノルル空港についてサクッとネットワークにアタッチして問題なく使えた。データ通信、テザリングも問題なし。

一方、AT&TのSIMを刺したSO-02Fはいつまでたっても圏外のまま。

このSIM、実はSO-01CのIMEIでアクティベーションしていて、下に貼りつけたAT&Tのサイトには端末を変える場合はSIMを差し替えればOKみたいにかかれていたので、アクティベーションさえ出来ればいいと思っていたけどどうやらIMEI縛りがある模様。

20160403_ATT_Activation

そこで、AT&TのSIMをアクティベーションしたSO-01Cに差し替えたところさくっとネットワークにアタッチして、パケット呼まで張れた。やはりIMEI縛りがあるみたい。

とりあえず、T-Mobileの方がHSPAで繋がってるしテザリングも出来たのでこっちでしのぐことにした。

T-Mobileのプリペイド(READY SIM)はアクティベーションの手間とかチャージ(トップアップとかリフィル)の手間も要らないので、周波数が対応するならお手軽でいいと思った。

ちなみに、GSM/GPRSはどちらの端末も対応してるのでEGPRSで凌ぐという手もあったが今回はWCDMAにこだわってみた。今度はLTE対応のグローバル端末を仕入れて試してみたい。

グローバル対応の端末と言えばiPhoneなんだけど、IIJmioでIPv6に対応するならSIMロックフリーのiPhoneは即買いなんだけどなぁ。

PPPoE + DS-Lite with RTX810 (2)

投稿日: Leave a comment

PPPoEとDS-Liteを同時接続した状態でVPN接続するとRTX810が落ちる件、これまでは特定のホストからのパケットをPPPoEに流していたのを、逆に特定のホストのみDS-Liteに流すようにしたところ、リセットしなくなった。

configとしてはこんな感じ。

ip routing on
ip route default gateway pp 1 filter 500001 500002 500003 500004 500005 500006 500007 gateway tunnel 1
ip route default gateway tunnel 1 filter 500008 gateway pp 1
ip filter 500001 pass 192.168.100.1 * * * *
ip filter 500002 pass 192.168.100.2 * * * *
ip filter 500003 pass 192.168.100.240 * * * *
ip filter 500004 pass 192.168.100.241 * * * *
ip filter 500005 pass 192.168.100.242 * * * *
ip filter 500006 pass 192.168.100.243 * * * *
ip filter 500007 pass 192.168.100.244 * * * *
ip filter 500008 pass 192.168.100.33-192.168.100.96 * * * *

ip filterの500008を追加して、これに合致したパケットのみDS-Liteに流すようにした。

ちなみにヤマハにも問い合わせを出しているけどい半年近くたってまだ回答無し。一度状況確認してみたがわからないといっていたから、結構根が深い問題なのかな。