ここが、いちばん高い壁
自前のデータセンターを考えていくと、どこかで必ずぶつかる壁があります。セキュリティです。電気や回線は、お金と手間をかければ何とかなります。セキュリティは、知識と、続ける注意力が要ります。
責任が、すべて自分に来る
クラウドを使う場合、建物の警備、機械の管理、ネットワークの根幹は、クラウドの事業者が守ってくれます。利用者が守るのは、その上に載せた自分の部分だけです。
自前でインフラを持つと、この線がなくなります。建物の鍵から、機械、ネットワーク、OS、アプリケーションまで、すべての層を守る責任が、自分一人に来る。どこか一か所で設定を間違えれば、そこが入り口になります。
トンネルは、経路を守るだけ
連載の第3回で、自宅のNASを外にさらさないために、入口のVPSとトンネルでつなぎました。これで安全になった、と考えたくなりますが、トンネルが守るのは経路だけです。
入口のVPSが乗っ取られれば、攻撃者はトンネルを通って自宅まで来られます。トンネルの中は、家の中の廊下のようなものです。玄関に鍵をかけても、廊下に入られたら、部屋ごとに鍵が要ります。
守りを、何重にも重ねる
一枚の壁で全部を守ろうとせず、破られることを前提に、守りを重ねます。
入口で絞る
外に開けるのは、入口のVPSのHTTPSと、トンネルの待ち受けだけ。VPSへのログインは鍵認証にし、パスワードでは入れないようにします。
中を分ける
自宅側のネットワークを、役割ごとに分けます。管理のための通信、NAS同士のデータの通信、外からのリクエストを受ける通信。NASの管理画面やSSHには、決めた端末からしか入れないようにします。
外へ出させない
NASから、インターネットへ自由に通信できないようにします。もしNASのどこかが乗っ取られても、盗んだデータを外へ送ったり、別の悪いプログラムを取ってきたりしにくくなります。
記録を集めて、見る
各機械のログを一か所に集め、深夜のログインや、急に大量の読み出しがあった、といった普段と違う動きに気づけるようにします。記録を取るだけで、見なければ意味がありません。
消されないバックアップを持つ
最後の守りはバックアップです。データを暗号化して身代金を求める攻撃では、つながっているバックアップまで一緒に暗号化されることがあります。一定期間は書き換えも削除もできないバックアップと、ふだんはネットワークから切り離しておくバックアップを持っておきます。
守るほど、使いにくくなる
守りを固めるほど、自分でも使いにくくなります。認証を厳しくすれば、自動で動く処理が止まる。外への通信を止めれば、更新が取ってこられない。
セキュリティは、一度設定して終わりではありません。守りと使いやすさの釣り合いを、運用しながら取り続けることが、データセンターを持つということです。
知られていないことは、守りにならない
「個人の小さな設備なんて、誰も狙わない」とは考えません。インターネットにつながった機械は、自動化された攻撃に、相手を選ばず探されています。構成が珍しいことを守りの当てにせず、ここまでの守りを重ねておきます。
設定を、コードにしておく
守りの設定は、手作業で積み上げると、どこに何をしたか分からなくなります。連載の第4回で立てた自前のGitに、ファイアウォールやネットワークの設定も入れておきます。拠点や機械を増やすとき、同じ守りを同じ手順で再現できるようにするためです。
そしてもう一つ。このサイトのように構築の記録を公開するなら、鍵、IPアドレス、ポート番号、拠点の場所は載せない。記録そのものが、攻撃の手がかりにならないようにします。