2017年11月8日水曜日

APFS は case-sensitive で

APFS を何も考えないでデフォルトのままフォーマットして macOS High Sierra をインストールして使っていたが、case-insensitive であることに気付いて、再度、SSD を完全に初期化し、case-sensitive フォーマット(非暗号化)にして、High Sierra をインストールし直した。

OS インストール後の各設定のカスタマイズや、基本ツールのインストールなどは、一度それぞれの方法を確立した後だったので、今回はそれらを通してメモにまとめておくことができた。FileZilla の設定 .xml はちゃんと iCloud ドライブに退避させておかなければならない、などの要点を整理するいい機会だった。

ちなみに、なぜ非暗号化でフォーマットしたかというと、一度暗号化でフォーマットしたのだが、OS のインストール後、暗号化されたドライブ用のユーザーアカウントが表示されるようになったので、気持悪かったので、非暗号化でフォーマットして仕切り直した次第である。OS のインストール完了後に、FileVault を有効化して暗号化したが、完全に暗号化が終わると、APFS のフォーマット自体が暗号化されたものに置き換った。ということは結局、最初から暗号化しておいた方が、時間的に遠回りしなくてスマートだったことになる(意味不明のユーザーアカウントはどうにか消す方法がある)。

2017年11月4日土曜日

QNAP の SSH のアクセス元制限の不完全な仕様

OpenVPN で実家の LAN につなぎ、VPN 経由で NAS(QNAP)にアクセスできるようになったので、ネットワークセキュリティを強化すべく、NAS の SSH にアクセス元制限を付けた。/root/.ssh/authorized_keys の公開鍵リストに、from="(ネットワークアドレス)" のオプション設定を追記したわけだ。

ところで、元々ブリッジモードの VPN 設定だったのを、ルーターモードに変更したため、アクセス元のクライアント機のネットワークアドレス(192.168.11.0/24)は NAS 側のネットワークアドレス(192.168.0.0/24)と異なるものとなった。そのため、from にカンマ(「,」)区切りでネットワークアドレスを列挙する必要がある。

from="192.168.0.0/24,192.168.11.0/24" ssh-rsa AAAAB3N...

しかし、どうやら QNAP の SSHd では仕様が不完全なようで、from として列挙したものを与えると、正常に動作しない(すべてのネットワークからアクセスできなくなった。仕方なく、一時的に telnet を使って復旧作業をする羽目になった)。

つまり、authorized_keys の from 設定としては列挙で設定することはできず、一種類の設定しか与えることができないのである。

簡単に思い浮ぶのは、VPN をルーターモードで運用するのをやめて、ブリッジモードに戻すことである。そうすれば、クライアント機のネットワークアドレスは NAS 側のネットワークアドレスと同一なので、from のエントリーは一種類で済む。

それでもせっかくルーターモードにしたのにブリッジに戻すのも何となく嫌だったので、(専門家でもないのに独学でネットワークエンジニアの資格をパスしたという“昔取った杵柄”を活用できたのか)ポク・ポク・ポク・チーンと思い付いたのが、ネットワークアドレスに、192.168.0.0/23 という値を使う方法。23 ビットというネットマスクを使う奇策である。この設定は、192.168.0.0 〜 192.168.1.255 の範囲の IP を意味するネットワークアドレスである。

from="192.168.0.0/23" ssh-rsa AAAAB3N...

従って、OpenVPN の設定においても、ルーターモードで使うネットワークアドレスを、192.168.11.0/24 から、192.168.1.0/24 に変更し、さらに、VPN サーバーや NAS の所属するネットワーク(192.168.0.0/24)側のゲートウェイとなるルーターの静的ルーティングの設定に 192.168.1.0/24 へのゲートウェイが VPN サーバーであることを設定し直す。

これで NAS の SSHd を再起動し、VPN に接続し直し、ssh がログイン可能であることを確認できた。ただし、ssh そのものと scp は SSHd の再起動で上手く行ったが、sftp は SSHd の再起動では駄目で(おそらく独立した別個の daemon なのだろう)、NAS 自体を再起動する羽目になった(もしかしたら、管理画面の SFTP を有効にするを OFF(適用)→ ON(適用)するだけで良かったかもしれない)。


※ちなみに、僕の環境では QNAP の NFS の(共有フォルダ)設定でもアクセス制限を行っていたので、ここの設定も 192.168.0.0/23 に直した。