6
20
2020
「シン・テレワークシステム」を使ってみる(その1 )
「シン・テレワークシステム」は諸刃の剣かも
NTT東日本とIPA(情報処理推進機構)が在宅勤務の推進のため、4月末に急遽一般に開放した実証実験「シン・テレワークシステム」は、誰でも(PCを自分で管理できる程度のスキルがあれば)簡単にインターネットを介した任意のPC間でリモート接続環境を構築できるという優れものではあるが、その反面、組織の情報セキュリティーの維持という面では非常に厄介な問題を孕んでいる.
多くの企業や組織では外部から組織内のネットワークや情報システムにアクセスするには、専用のリモートVPN装置を用い、単純なID・パスワードの組み合わせだけではなくセキュリティートークンやワンタイムパスワード、クライアント証明書などの多要素認証を採り入れており、外部から組織内へのアクセスは厳密に管理されている.
このような外部からのアクセスの仕組みを社員や職員に提供しているのは比較的規模の大きな企業や組織に限られ、情報システム部門のない小さな会社ではPCに少し詳しい社員がボランティア的に社内のネットワークやシステムを管理させられている場合が殆どだろう.当然ながら、このような組織では、予算や人員などの面でまともなリモートワーク環境を構築できていないのが現状だ.今回のコロナビールス対応で思ったほど在宅勤務が進まなかったのは、このような中小規模の組織のIT環境が貧弱な事に起因している.
このような状況をなんとかしようと、緊急にリリースされた施策がこの「シン・テレワークシステム」だ.
「シン・テレワークシステム」は “thin” という言葉から、従来のXenDesktopやXenAppなどの画面転送型のシンクライアント方式やVDI方式のクライアントデスクトップソリューションを想像するかもしれないが、実態はこれまでのリモートデスクトップと殆ど変わらないように見受けられる.通信路がTCP/UDP(3389) から、HTTPS(433) : TLS1.3 になったことと、簡易的なセキュリティー管理機能が備わっていることが違うところだろうか.
「シン・テレワークシステム」では、クライアント側のPCからリモート(サーバ)側のPCへアクセスする際に、デフォルトの構成ではWindowsの標準機能であるリモートデスクトップの仕組み(アプリケーション)を使っている.企業などのエンタープライズ用途で使われいるシン・クライアントシステムでは、Citrix ICA(Independent Computing Architecture)通信プロトコルのようなベンダー独自のプロトコルを用いて、サーバ側と専用のクライアント環境(アプリケーション)との間で、画面転送型の通信を行い利用する形が殆どだ.
画面通信型であれば、手元のPCとは独立(切り離された)した安全なユーザ環境を提供できるので、セキュリティーを求められる業務でも利用可能だ.
「シン・テレワークシステム」では画面転送方式ではなく、2台の独立したPCを一方をサーバ側、もう一方をクライアント側に見立てて、外部サーバを間に挟んだ形で相互に通信を行う.
シン・クライアント方式ではサーバの構築やサーバライセンス、クライアントライセンスに膨大な費用と環境整備のための時間が掛かるが、「シン・テレワークシステム」では、専用のサーバシステム、専用クライアントアプリを用意することなく、システム構築も費用も掛けずに擬似的なシンクライアント環境を誰でも簡単に実現できることが最大の特徴だ.
「シン・テレワークシステム」をシン・クライアント環境と捉えてはいけないが、「シン・テレワークシステム」という名前は一般人にもテレワークを行うためのシステムという認識が得られるので、ある意味実態をよく表した適切な命名だと思う.
「シン・テレワークシステム」の特徴
・政府の非常事態宣言を受けて急遽開発・リリースされたもので開発途上の実験的なシステムである
潜在的なバグやセキュリティーホールを抱えている可能性が高く、後追いでセキュリティー対策が付け加えられるなど、本番環境とはほど遠い位置付けのものである.
・ベースとなっている技術は、筑波大学発のベンチャー企業ソフトイーサー社の”Desktop VPN”
“SoftEther” という名前を聞いただけで、企業の保守的な情シス部門は拒否反応を示してしまいそうだが、Firewall内などの制限のある環境下でVPN通信を行うことにかけては定評?のある技術だ.
・サーバとクライアントのPC同士で使用する通信プロトコルは、暗号化された HTTPS (TLS1.3) を使っている
・Web会議システムと同じように外部の中継サーバ(IPAが設置)を介して通信が行われる
どのような組織でもHTTP通信はほぼ例外なくインターネット側へ抜けることが可能なので、ユーザは組織内のFirewallやプロキシの存在を殆ど意識しなくても使えるということを意味する.
これまでは、SoftEtherなどのL2-VPNの仕組みを利用するには、それなりのPC・ネットワーク知識を有する人しか扱えなかったが、今回の「シン・テレワークシステム」では、専用のアプリケーションインストーラーを用いて、ほんの数クリックだけで誰でも簡単にシステムを構築できてしまう.
・「シン・テレワークシステム」は専用のサーバを必要としない
・「シン・テレワークシステム」のクライアント側は一般的なWindows PCだけで良い
ユーザのPCをそのままサーバとして用いるので、特別なサーバは不要で、Windows10 などの普通のWindows デスクトップ OSで良いので、Windowsサーバではつきものの、CALライセンスやターミナルサーバなどのライセンス費用や管理に悩まされることもない.クライアント側のPCもサーバと同様ただのWindowsデスクトップOSだけで良い.XenDesktopやXenAppのような特別なクライアントソフトウェア環境は全く不要だ.
普通のWindows PC環境があれば、簡単かつ無償で「シン・テレワークシステム」を利用できるのだ.
ユーザにとっては限りなく都合の良いこれらの特徴(メリット)も、組織のシステム管理者やセキュリティー管理者の立場になると手放しでは喜べないことになる.エンドユーザの権限で誰でも簡単に導入可能であることと、サーバ側の設定をユーザが自分で管理する(管理者側で制限を掛けることは可能)仕組みであることから、いい加減なユーザがこの機能を使ってしまうと、重大なセキュリティーインシデントを招きかねない危険性がある.
勿論、「シン・テレワークシステム」にIPAが絡んでいるので、このシステムに関するセキュリティー対策は一応考えられてはいるが、後付けでセキュリティー機能が付け加えられるなど、「シン・テレワークシステム」に関してはセキュリティー対策面では簡易的な機能しか提供されていない.技術的にきちんと検討が重ねられた上でのリリースではないので、セキュリティー的な不安要因を拭い去ることはできないだろう.
セキュリティー的な対策に改善の余地はあるものの、とりあえず現時点で最低限必要なセキュリティー機能や利用ポリシー集中管理機能が備わっているので、短時間にこれだけのことを成し遂げた「シン・テレワークシステム」の関係各位に賞賛とエールを贈りたい.Good Job!!!
実際に「シン・テレワークシステム」を使ってみる
「シン・テレワークシステム」を使うには、ホームページの開設に従って進めて行けば良いので、ここではセキュリティー面に特化して、「シン・テレワークシステム」をなるべく安全に利用するという観点から、実際に設定を行ってみることにする.
今回は、通常のサーバ版をインストールし、「シン・テレワークシステム」でユーザ側の対策としてどのようなセキュリティー対策が可能かということと、後半では、組織の管理者側の視点で組織のセキュリティーを確保しながらユーザにこのシステムを安全に使って貰うためのポリシー管理機能について触れる.

「シン・テレワークシステム」アプリケーションインストーラ画面

サーバ版とクライアント版の2つのアプリケーションを併用することが可能

クライアント側ではRDPによるWindowsログインするのとほぼ同じ方法でアクセスする

「シン・テレワークシステム」を通じてサーバ側のPCにRDPログインする
ユーザ側のセキュリティー対策
「シン・テレワークシステム」のインストーラを起動すると、2種類のサーバ環境(通常版と共有機能無効版)とクライアント環境の3種類のインストールを行うことができる.画面の説明にあるように、サーバの「共有機能無効版」は、ファイル共有やクリップボードを介した共有機能を使えないようにしたものである.勿論、「共有機能無効版」の方がセキュリティー的に好ましいのだが、通常のRDPを使っているユーザから見れば、不便極まりない物で、とても積極的に使いたいとは思わないだろう.
・接続名設定

サーバアプリケーション設定画面
このPCにクライアント側から接続する際に必要となるサーバ名を設定する.このサーバ名はデフォルトでIPAのサーバ側に登録されている他のユーザと被らないように一意な名前が勝手に付いているが、できれば分かり易い名前に変更しておく方が良いだろう.
・WEBプロキシ設定(必要があれば)

WEBプロキシ設定画面
自組織内にWEBプロキシサーバを経由しなければ外部のWEBサイトにつながらない場合は、WEBプロキシの設定を行う.設定方法は通常のWEBプロキシ設定と同じなので、WEBブラウザやWindowsで設定している同じ設定を行えば良いだろう.
・セキュリティー設定
「シン・テレワークシステム」では、単純なID・パスワード認証の他に、組織内に設置されているRADIUSサーバやADなどと連携したり、証明書認証など、エンタープライズ系の認証システムと連携させることが可能だ.
最低限の設定で使いたければ、「パスワードのみによる簡易認証」だけで良いが、パスワードだけではセキュリティー的に脆弱なので、できる限り設定が簡単な「ワンタイムパスワード(OTP)機能」と組み合わせておくと良いだろう.

パスワード設定画面

メールによるワンタイムパスワード(OTP)と併用する事を推奨する

ログイン時に送られてくるワンタイムパスワード(OTP)メールの内容
・IPアクセス制限リスト
IPアクセス制限リストに接続するクライアントPCのIPを登録することにより、特定のPCのみを接続許可する、または特定のPCのみを接続させないなど、クライアントPCのIPアドレスによるアクセス制限を掛けることが可能だ.但し、ここでのアクセスリスト(ACL) は単純なポリシー定義しかできないので、きめ細やかなアクセス制御は諦めた方が良い.
クライアントIPアドレス(IPv4/IPv6)、許可(Permit/)拒否(Deny) 、優先順位の3つのポリシーの組み合わせしかないので、注意深く設定する必要がある.注意して欲しいのは、このアクセスリストに引っ掛からなかったものは、全て拒否(Deny)ではなく、許可(Permit)なので、気をつけて欲しい.一番最後に 「全て拒否」の設定を入れておかないと、許可設定を入れた意味が無くなってしまうので、特定のPCだけを許可したい場合は「全て拒否」の設定を忘れずに.
このクライアント側のIPによる制限は、殆どの家庭では家庭内のPCからインターネット側へ送出する際のIPアドレスを固定的なグローバルIPと紐付けることができないので意味をなさない.このIPアドレスでのアクセス制限よりは、次のMACアドレスによるアクセス制限の方が現実的だろう.

IP制限リスト(ACL)に接続元(クライアント)のポリシーを追加していく

接続元(クライアント)の許可ポリシーを追加していく

一番最後に「全て拒否」を入れるのを忘れずに

最終的なACLはこんな感じになる

ログインパスワード、ワンタイムパスワードを入力した後で、接続拒否ダイアログが現れる
・MACアドレスによる接続許可
一般家庭でも、個々のPCを識別する方法として、ネットワークインタフェースのMACアドレスで識別するのは簡単なので、特定のPCだけアクセス許可を行いたい場合は、このMACアドレスによるアクセス許可が適切だろう.

接続許可MACアドレスリストにクライアントのMACアドレスを追加していく

MACアドレスが登録されていない場合には接続拒否される
・「高度なユーザ認証機能を使用する(A)」 を設定した場合の設定
「高度なユーザ認証機能を使用する(A)」 を設定すると、組織の認証サーバ(RADIUS, NTドメインコントローラ)や認証局が発行した証明書による認証が可能となる.組織などでユーザの利用を細かく管理する必要がある場合は、この機能を利用すると都合が良いだろう.但し、これらの項目の設定は、IT管理者レベルの知識がないと無理なので、情報システム部門が個々のユーザ毎にこの設定をアシストすることは現実的ではないだろう.

組織の認証システムと連携させることも可能だが、IT部門の支援が無いと設定は無理だろう

テスト用のユーザアカウント(ローカル)を作成して、細かく管理してみる

ユーザのログイン履歴などを管理可能

「高度なユーザ認証機能を使用する(A)」 を設定した場合のログイン画面
エンドユーザ側の設定だけでも、かなり細かなセキュリティー対策を施すことが可能だが、実際にこれらの設定や運用ポリシーをエンドユーザ側に押しつけるのは非現実的だろう.情報システム部門の管理者でもない限り、こんな面倒な設定は誰も行わないだろう.
流石に、エンドユーザ側にセキュリティー対策や利用ポリシー遵守を求めることは無理と悟ったのか、「エンタープライズ環境用ポリシー規制サーバー」を組織内に設置することにより、組織の管理者側で「シン・テレワークシステム」を利用するユーザのセキュリティー対策や利用ポリシーを強制的に設定する仕組みを提供するようになった.
次回は、この「エンタープライズ環境用ポリシー規制サーバー」を中心に、ユーザのコントロールを行う方法について説明する.