読者です 読者をやめる 読者になる 読者になる

プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

QNAP TS-251+ の設定(主に公開設定周り)

QNAP NAS

自宅のファイルサーバーとして、何台かのNASを使っているのですが、このたび、QNAP の TS-251+ を導入することにしました。 元々は、Netgear のNASばっかりだったのですが、もやし工房さんの記事を見て、Dockerが使えるのと、Netgear の NASでS3にバックアップを取れなさそうだったので、今回はQNAPを選んでみました。

www.moyashi-koubou.com

あ、Netgearの件は少し前に調べたので今は状況が異なっているかもしれません。なのと、GUIで簡単に設定するのがないだけで、SSHでログインして自分でS3へのバックアップを実行するようにすれば全然問題なく実現できると思います。

まずは、Dockerを使い始める前に、初期設定(主に公開設定周り)した話をまとめておきます。

あと、試したのは下記になります。

  • QNAP TS-251+
  • QTS 4.2.2

セットアップ

筐体を開けると、最近の機械の御多分に漏れず、簡単設定の方法が書かれた紙が入っていました。 本体にネットワークケーブルとHDDを追加して、電源を入れて、PCのブラウザで https://start.snap.com にアクセスして、筐体に書かれたアクセスコードを入力すればOK!

で、画面の設定に従って、必要事項を入力していけばいい・・・はずなのですが、この時点でいろいろと聞かれるので、まずこれが分かりにくい。 初期設定だけなら大したことしないだろうと思っていたので、画面キャプチャしなかったので、詳細を覚えてないのですが、いくつか設定する項目がありました。

  • myqnapcloud.com のアカウント登録(e-メールアドレス、パスワード)
  • myqnapcloud.com 上で使うデバイス(NAS)の名前
  • NAS 本体の名前
  • NAS の管理者用パスワード
  • NTP サーバー名

その他は確かデフォルト設定だったと思います。

で、一番わかりにくかったのが、(大して下調べもしてなかったのが原因ですが)myqnapcloud.com のアカウントって何?というところでした。 まあ、あとから、いろいろ調べてわかったのが、QNAPのNASをインターネット経由でアクセス可能とし、主にその際の公開設定などを行うためのサービスとなるようです。 NAS本体のセットアップだけを行うと思って、作業を開始していたので、この設定も同時に行わないといけないのに、ちょっとびっくりです。まあ、仕方ないのかな?もし、次にQNAPのNASを入れるときなったら、インターネット経由ではなく、ローカル環境で閉じた形でやってみるかな?

ストレージ設定

いろいと機能を試す間、ストレージにはとりあえず1TBのHDDを1台入れました。 設定方法はたいして覚えてないのですが、QTSデスクトップから『ストレージマネージャ』を起動して、あれこれしたように思います。

ただ、割り当ては、1TBまるまるストレージ領域として割り当てたのですが、システムがスナップショットなどに200GB近く予約してしまい、思ったよりユーザー領域が少なくなった印象でした。もっとも、このあたりの割り当て量はいろいりと変えられそうなので自分の目的に合わせて調整すれば良いかなと思います。

公開設定

で、セットアップ時に気になった myqnapcloud.com のアカウントですが、初期状態では NAS にインターネット経由で接続可能です。 試しに、myqnapcloud.com でデバイス名(公開用のNASの名前)を入力して検索すると、見事に表示されてしまいます。

f:id:junichim:20161004095759p:plain

ここで、 QTS Desktop を選択すると、なんと!NASの管理画面に入れてしまいます(もちろん、ユーザー名とパスワードは必要です)。同じく、File Station を選べば、NASに保存してあるファイルにもアクセス可能です。 便利といえば、便利ですが、プライベート用途のNASを公開設定で使うことは(当面)ないので、セキュリティ向上のためにも、いろいろと設定変更してみます。まずはいろいろと試したので、その様子を書いておきます。

デバイス検索の禁止

まずは、myqnapclod.com において、デバイスそのものの検索を禁止することができます。 QTSデスクトップの『myQNAPclod』→『アクセスコントロール』→『デバイスアクセス制御』で、プライベートを選択すると、myqnapcloud.com 画面から検索できなくなります。

f:id:junichim:20161004101401p:plain

ポート番号変更

デフォルト状態では、UPnpにより、以下のポートが(外部向けに)ルータに空いています。

  • 8080 : QTS Desktop, http
  • 8081 : Webサーバー, https
  • 8082 : QTS Desktop, https
  • 8083 : Webサーバー, http

ルータでUPnpの様子を表示させると、下記の様になっています。

f:id:junichim:20161004092739j:plain

それぞれが対応するポート番号もわかると思います。

このうち、内部ポート番号の8080番(QTS Desktop, http) は、QTSデスクトップから『コントロールパネル』→『システム設定』→『一般設定』→『システムポート』で変更することができます。 同様に、8081番のポート番号は、『コントロールパネル』→『アプリケーション』→『一般設定』→『Webサーバー』→『セキュア接続を有効にする』で変更することができます

これらはポート番号を変更すると、同時に対応する外部向けのポート番号も変更されます。 f:id:junichim:20161004093846p:plain (上図は、8081番を8084番に変更した場合の様子)

ですが、8082番、8083番のポート番号を変更する方法はわかりませんでした(443や80を変更すると、ローカル側のポート番号が変更されるため、単にUPnPで開けたポート番号からは接続できなくなります)。

プライベート化

もう少し試してみます。 デフォルト状態ですと、いくつかのサービスが公開状態になっています。 f:id:junichim:20161004095109p:plain

このうち、NAS Web (安全なNASウェブ)というのが QTS Desktop への接続になります。この『公開』状態は、myqnapcloudでストレージを見つけたら、誰でもアクセス可能になっている状態です。

f:id:junichim:20161004095759p:plain

ここで、『プライベート』にチェックを入れるとmyqnapcloud.comからアクセスしする際に、プライベートタブを開きますが、

f:id:junichim:20161004095742p:plain

のように、ユーザー名とアクセスコードの入力を求められます。なお、アクセスコードはプライベートにチェックを入れると、設定画面の下部に設定欄が表示されるので、そちらで入力可能となります。

公開停止

プライベートの機能は別の誰かにアクセスコード等を伝えて、共有するときに使います。でも、自分一人で使うなら、公開そのものが無くても問題ありません。 というときは、さきほどの設定画面で『公開』のチェックボックスを外して、公開そのものを取りやめてしまってもOKです。

注意点

さて、上記に書いたような方法で、外部からのアクセスを制御できるかと思いますが、これらはあくまでも myqnapcloud.com 経由でのアクセス設定を管理しているだけです。なので、アクセス用のURLを直接指定してブラウザでアクセスすれば、上記設定に関係なくアクセス可能です。ま、考えてみれば、NAS を自宅のLANの外部に公開するために、UPnP によりルータに穴をあけて、DDNSでURLを割り当てているので当然ですね。

外部ポート利用の停止

さて、いろいろと書いてきましたが、自宅のNASをインターネット上に公開してアクセスするのは、特段の理由もない場合は、怖いだけです。

ということで、最終的には、外部向けの公開を停止します。 QTSのデスクトップから『myQNAPcloud』→『自動ルータ構成』を選択し、『UPnPポート転送を有効化』のチェックを外します。

f:id:junichim:20161004100124p:plain

また、DDNSも不要になるので、『My DDNS』を選択し、『myQNAPclodd DDNSサービスを有効にする』のチェックも外しておきます。

あと、myqnapcloud.com でのデバイス検索をプライベートにし、公開サービスもなくしておきます。まあ、 myqnapclod.com を使わないのであれば、アカウントをサインアウトしてもよいのですが、ちょっと様子を見ようとも思いますので、このようにしました。

f:id:junichim:20161004104632p:plain

その他

もう一つついでに、QTS Desktop へのアクセスはhttpsに限定し、ポート番号も443から変更しておきます。 デフォルトでは、Web公開フォルダにある index.php が http://IPアドレス でアクセスすると、管理用インターフェースにリダイレクトする設定になっているので、このファイルを削除して、空の index.html ファイルを入れておきます。 あと、『コントロールパネル』→『セキュリティ』→『ネットワークアクセス保護』を表示して、『ネットワークアクセス保護を有効にする』にチェックを追加し、SSH/HTTPS/SAMBA にもチェックを入れておきます。

とりあえずこれで、自宅のLAN内部に侵入された場合も多少は防御できるかな?

次は機能的な面の設定をあれこれ触ってみたいと思います。

(参考)

chimtty.blogspot.jp