6
21
2020
「シン・テレワークシステム」を使ってみる(その2 )
ユーザの利用をコントロールする方法
前回は、主にサーバ側の設定でユーザ自身が行うセキュリティー対策等について説明したが、今回は組織の情報システム管理者の立場から行うセキュリティー対策を中心に説明して行くことにする.
先ずは、「シン・テレワークシステム」が内部的にリモートデスクトップの仕組みを使っている事から、リモートデスクトップの最大の欠点(ユーザレベルでは利点なのだが...)である、クリップボード共有やファイル共有などの機能を制限する方法を見ていく.
「シン・テレワークシステム」では、ユーザ側で共有機能を禁止しない限り通常のリモートデスクトップと同様に簡単に共有を行うことが可能だ.クリップボードを介したコピーは勿論のこと、ファイル共有も比較的簡単に行うことができる.
サーバ側の共有設定はユーザが自分で禁止しない限りデフォルトで共有ONとなる
クライアント側の共有設定もユーザが自分で細かくコントロールすることが可能
サーバ側のテキストエディタ(NotePad++) から手元のPC上のテキストエディタ(TeraPad)間でCopy&Paste
ローカルPC側の共有ボリューム(”C on MBAir”, … )がサーバ側で共有されている
このように、「シン・テレワークシステム」ではユーザ側で特に共有機能を停止しない限り、サーバ側PCとクライアント側PCとの間で簡単にクリップボードや共有ボリュームによるファイルアクセスができてしまう.組織の情報システム部門にとっては限りなく頭の痛い大問題だ.ユーザに共有機能を自主的に停止して貰うという方針では、上手コントロールできないだろう.
管理者側による利用ポリシーの強制
管理者側から見るととても許容のできない「シン・テレワークシステム」の共有機能ではあるが、流石に「シン・テレワークシステム」側もまずいと思ったのか、緊急リリース後の事ではあるが、組織内にポリシー規制サーバを設置する事で、管理者側でユーザの利用を細かくコントロールする機能を付け加えた.これにより、ユーザ側の自制心やセキュリティー意識に頼ること無く管理者側で集中管理可能になるので、ある程度安心してこの「シン・テレワークシステム」をユーザに使わせることができるようになる.
そもそも、「シン・テレワークシステム」そのものを組織内では一切使わせないと言うのであれば、 「組織LANにおける利用規制申請」 を行えば、組織のドメインからIPAの仲介サーバへのアクセスそのものを遮断することが可能になる.但し、組織からインターネット側の出口が完全な固定IP接続でなければならないなどの制限がある.外部のクラウド型のWEBセキュリティーサービスなどを利用している場合は技術的に利用規制を行うことができない.
ポリシー規制サーバの仕組みやどのような管理を行えるかは、ホームページに詳しい解説があるのでそちらをご覧いただくとして、実際にポリシー規制サーバを立てて、「シン・テレワークシステム」がポリシー規制サーバによってきちんと管理されることを確認してみることにする.
「エンタープライズ環境用ポリシー規制サーバー」を組織内に設置することで、
・ファイル共有機能の強制無効化
・認証方式の強制
・syslogサーバへのログ出力を強制する
・クライアント検疫状態による接続制限の強制
が可能となる.この内容であれば、組織の情報システム部門もある程度安心してユーザに「シン・テレワークシステム」を使わせることができるだろう.
ポリシー規制サーバを組織内に設置するのは大変面倒で、時間もお金も掛けられないのではと心配するかもしれないが、ポリシー規制サーバの中身は、只の静的なWEBコンテンツサーバなので、組織内のユーザからアクセス可能な場所に、WEBサーバがあればそれを流用することも可能だ.
ポリシー規制の方法はいたって単純で、「シン・テレワークシステム」のサーバアプリケーションが起動時に、ポリシー規制サーバの規制内容を確認し、そのポリシー内容に沿った設定をサーバアプリケーションに設定するという仕組みだ.サーバアプリケーション側では、組織内にポリシー規制サーバが存在しなければ、サーバアプリケーション側のローカル設定に基づいたポリシーを適用することになる.
サーバアプリケーション側では、起動時以外に定期的(5分毎)にポリシー規制サーバにアクセスするということなので、ポリシー内容を変更してもユーザ側へ変更内容がきちんと伝わるようだ.
懸念点は、ユーザ側でこのポリシー規制サーバを回避する簡単な小細工を施すと、サーバアプリケーション側でポリシー規制サーバが存在しないと見なされて、ローカルポリシーでの運用になってしまう点だ.これは緊急事態下で後追いの形で導入してしまったので仕方がないが、今後早急に解決しなければならない致命的な欠陥だ.(ちょっとPCに詳しい程度のスキルレベルのユーザでも、このポリシー規制サーバを回避する方法は直ぐに分かるだろう)
従って、ユーザに組織のポリシー規制を適用させたい場合は、必ずポリシー規制サーバを設置しなければならない.
ポリシー規制サーバの要件を確認しておく.
・プライベートIPv4アドレスを用いて社内 LAN に設置されていること
・HTTPS(TCP/443) でアクセス可能であること
・TLS 1.2 または 1.3 で動作すること
・TLS の証明書は自己認証局によるものでもOK
何れも、普通の内部用WEBサーバでは当たり前の機能なので、特に問題となるようなことはないだろう.最初のプライベートIPv4 アドレスというのは、組織によっては内部でもグローバルIPv4アドレスを使っている場合があるので、プライベートIPv4アドレスに限定するのはちょっと問題がありそうだ.古くからインターネットを利用している組織では、クラスBでIPアドレスの割り当てを受けている組織が多いので、内部の利用でもグローバルIPv4アドレスを使っているケースも考えられる.この場合は、Virtual Host機能を使うなどの工夫や、別途WEBサーバを立てるなどの対応が必要だろう.
サーバアプリケーション側に、ポリシー規制サーバを検出させるための仕組みとして、DNSベースの検出の仕組みを実装している.ポリシー規制サーバのIPアドレスを組織内の内部DNSサーバに登録するだけで良い.サーバアプリケーション側からアクセスするポリシー規制サーバのURLは予め規定されたURLを用いる.
例えば、組織のドメインが “abc.co.jp” であれば、”https://thin-telework-policy-server.abc.co.jp” というURLでポリシー規制サーバにアクセスするようにDNSを設定すれば良い.
DNS登録が難しい場合には、”10.255.255.127″という宛先固定のIPv4 アドレスでアクセス可能となるようにポリシー規制サーバを立てれば良い.この場合は、組織内NWに追加のルーティング設定が必要になるのでちょっと面倒かもしれない.
ポリシー規制サーバのURL”https://thin-telework-policy-server.abc.co.jp”に置く、ポリシー内容を設定したテキストファイルの内容は、”https://telework.cyber.ipa.go.jp/enterprise/sample_policy.txt” にサンプルが置かれている.
ポリシー設定内容のサンプル
# NTT 東日本 - IPA 「シン・テレワークシステム サーバー」
# 企業ネットワーク環境におけるセキュリティポリシー設定ファイル
#
# '#' (シャープ) 文字で始まる行は、コメントです。
#
# ファイルサイズは、4096 バイト以下である必要があります。
#
# ファイルの文字コードは UTF-8 である必要があります。
# 先頭の BOM は付いていても付いていなくても構いません。
# ★ 従業員に「役員からのメッセージ」などをメッセージ配信する機能 ★
# 「シン・テレワークシステム サーバー 設定ツール」を起動した際に表示されるメッセージを指定できます。
# "
" で改行できます。最大文字数は 500 文字です。
# テレワーク利用に関する情報システム部門からの注意喚起などを記載しましょう。
SERVER_MESSAGE 「テレワーク中のPC利用には細心の注意を払って下さい.」
# ★ 規制フラグ ★
# ワンタイムパスワード (OTP) 機能の使用を強制する (OTP が無効な場合は有効にするまで接続を受け付けない)
# 値は、1 か 0 で指定します。指定しない場合は、0 とみなされます。
ENFORCE_OTP 1
# ★ 規制フラグ ★
# ファイル共有機能を無効にする (共有機能有効版のサーバーであっても、強制的に無効にする)
# 値は、1 か 0 で指定します。指定しない場合は、0 とみなされます。
DISABLE_SHARE 1
# ★ 規制フラグ ★
# クライアント検疫の強制 (アンチウイルスおよび Windows Update 適用検査) 機能の使用を強制する
# 値は、1 か 0 で指定します。指定しない場合は、0 とみなされます。
ENFORCE_INSPECTION 1
# ★ 規制フラグ ★
# クライアント MAC アドレス認証機能の使用を強制する
# 値は、1 か 0 で指定します。指定しない場合は、0 とみなされます。
ENFORCE_MACCHECK 1
# ★ 統制監視オプション ★
# 「シン・テレワークシステム サーバー」の動作状況のログの一元管理を有効にします。
# syslog で送付する先の syslog サーバーのホスト名および UDP ポート番号を指定します。
# SYSLOG_HOSTNAME が省略された場合は、syslog を送付しません。
# SYSLOG_PORT が省略された場合は、UDP 514 が使用されます。
SYSLOG_HOSTNAME 192.168.100.6
SYSLOG_PORT 514
ポリシー規制サーバを実際に設置して「シン・テレワークシステム」の動作を確認する
組織内のDNSサーバにポリシー規制サーバのエントリーを登録し、「シン・テレワークシステム」側からFQDNでポリシー規制サーバにアクセスできるように設定を行い、Apacheやnginx等を用いて、HTTPSでアクセス可能なWEBサーバを立ち上げる.WEBサーバには自己認証局で発行したサーバ証明書(所謂オレオレ証明書)を設定する.
この辺の手順は、組織の情報システム管理者であればここで説明しなくても自分で設定できることだろう.不慣れな場合は、ネット上に情報がたくさん有るのでそちらを参照して欲しい.
ここでは、ポリシー規制サーバのURLを、
https://thin-telework-policy-server.home.yoko/get-telework-policy/
とし、プライベートドメイン “home.yoko” 内にポリシー規制サーバ [IP: 192.168.100.6] を apache で立てている.プライベートドメイン “home.yoko” を管理するDNSサーバ上に、”thin-telework-policy-server.home.yoko” のIPv4アドレス(Aレコード)情報を登録している.
テスト用に内部DNSサーバに登録したエントリ
$ORIGIN .
$TTL 10800 ; 3 hours
home.yoko IN SOA netprobe.home.yoko. root.netprobe.home.yoko. (
2020062103 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
1209600 ; expire (2 weeks)
86400 ; minimum (1 day)
)
NS netprobe.home.yoko.
NS server2.home.yoko.
NS nas.home.yoko.
NS smoker.vl200.home.yoko.
$ORIGIN home.yoko.
...
thin-telework-policy-server A 192.168.100.6
policy CNAME thin-telework-policy-server.
...
自己認証局によるサーバ証明書作成とApacheへの設定
[root@ploicy ~]# openssl genrsa > policyserver.key
Generating RSA private key, 2048 bit long modulus
........................................................................................................................+++
..........+++
e is 65537 (0x10001)
[root@ploicy ~]# openssl req -new -key policyserver.key > policyserver.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Chiyoda-ku
Organization Name (eg, company) [Default Company Ltd]:Y2Home
Organizational Unit Name (eg, section) []:Family
Common Name (eg, your name or your server's hostname) []:thin-telework-policy-server.home.yoko
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@ploicy ~]# openssl x509 -req -signkey policyserver.key < policyserver.csr > policyserver.crt
Signature ok
subject=/C=JP/ST=Tokyo/L=Chiyoda-ku/O=Y2Home/OU=Family/CN=thin-telework-policy-server.home.yoko
Getting Private key
[root@ploicy ~]# mkdir /etc/httpd/conf/ssl.key
[root@ploicy ~]# mkdir /etc/httpd/conf/ssl.crt
[root@ploicy ~]# cp policyserver.key /etc/httpd/conf/ssl.key/.
[root@ploicy ~]# cp policyserver.crt /etc/httpd/conf/ssl.crt/.
[root@ploicy ~]#
[root@ploicy get-telework-policy]# cd /etc/httpd/conf
[root@ploicy conf]# ls -la
total 28
drwxr-xr-x. 4 root root 67 Jun 21 12:40 .
drwxr-xr-x. 5 root root 92 Jun 21 12:30 ..
-rw-r--r--. 1 root root 11753 Nov 28 2019 httpd.conf
-rw-r--r--. 1 root root 13064 Apr 2 22:14 magic
drwxr-xr-x 2 root root 30 Jun 21 12:40 ssl.crt
drwxr-xr-x 2 root root 30 Jun 21 12:40 ssl.key
[root@ploicy conf]#
[root@ploicy conf]# ls -la ssl.crt
total 4
drwxr-xr-x 2 root root 30 Jun 21 12:40 .
drwxr-xr-x. 4 root root 67 Jun 21 12:40 ..
-rw-r--r-- 1 root root 1281 Jun 21 12:40 policyserver.crt
[root@ploicy conf]# ls -la ssl.key
total 4
drwxr-xr-x 2 root root 30 Jun 21 12:40 .
drwxr-xr-x. 4 root root 67 Jun 21 12:40 ..
-rw-r--r-- 1 root root 1675 Jun 21 12:40 policyserver.key
[root@ploicy conf]#
[root@ploicy conf.d]# pwd
/etc/httpd/conf.d
[root@ploicy conf.d]# ls -la
total 28
drwxr-xr-x. 2 root root 98 Jun 21 12:43 .
drwxr-xr-x. 5 root root 92 Jun 21 12:30 ..
-rw-r--r--. 1 root root 2926 Apr 2 22:13 autoindex.conf
-rw-r--r--. 1 root root 366 Apr 2 22:14 README
-rw-r--r-- 1 root root 9570 Jun 21 12:43 ssl.conf
-rw-r--r--. 1 root root 1252 Nov 28 2019 userdir.conf
-rw-r--r--. 1 root root 824 Nov 28 2019 welcome.conf
[root@ploicy conf.d]#
[root@ploicy conf.d]# cat ssl.conf
#
# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
Listen 443 https
...
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/httpd/conf/ssl.crt/policyserver.crt
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# 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.)
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/policyserver.key
...
今回設定したポリシー内容
[root@ploicy get-telework-policy]# pwd
/var/www/html/get-telework-policy
[root@ploicy get-telework-policy]# cat index.html
SERVER_MESSAGE 「テレワーク中のPC利用には細心の注意を払って下さい.」
ENFORCE_OTP 1
DISABLE_SHARE 1
ENFORCE_INSPECTION 1
ENFORCE_MACCHECK 1
SYSLOG_HOSTNAME 192.168.100.6
SYSLOG_PORT 514
[root@ploicy get-telework-policy]#
実験君
上記のポリシー規制サーバに、「シン・テレワークシステム」側からアクセスできることを確認する.
ポリシー規制サーバにWEBブラウザからアクセスして、ポリシー内容が表示されることを確認.
「シン・テレワークシステム」のサーバアプリを起動し、設定内容を確認する.
検疫機能とMACアドレス認証のチェックが”ON”になって、変更できないようにグレーアウトされている
勿論、共有オプションも強制的に禁止される
OTPの利用を必須にしているので、ユーザがOTP設定を行っていない場合は次のようなメッセージが出力されて、接続を拒否される.
OTPの設定がされていないというメッセージダイアログが現れる
ポリシー規制サーバ有効時に表示されるサーバアプリケーション起動時のメッセージ
「シン・テレワークシステム」のセキュリティー対策は必ずしも十分ではないが、組織としての最低限のセキュリティー対策はシステム側である程度担保できることが分かった.後は、ユーザ自身のセキュリティー意識の向上なのだが、そこだけは一筋縄で行かないので、地道なセキュリティー意識向上活動を続けて行くことしか対策がなさそうだ.