SE(しがないエンジニア)のブログ

IT技術ネタ(クラウド・セキュリティ周り)が中心です!他雑記(お馬さん 他いろいろ)もあり。

LanScope Cat × Splunk の連携を検証してみる

LanScope Cat 9.3 にて実装された勤怠ログ管理機能で

先日 LanScope Cat 9.3 にアップグレードした記事を掲載しているのですが、9.3 からは勤怠ログ管理機能が実装されています。昨今の「働き方改革」の一環で取り入れられた機能ではありますが、これには2つ課題点がありました。


1. Start - End までの詳細が分からない
実際に勤怠を確認する上で「業務時間内」の区分が単色ですと細かくどんな業務に取り組んでいるかが掴みにくいです。それを細かく知りたいという欲がありました。

2. 終業後(数時間後)に気になって操作するとバーがその分伸びてしまう(例:リモート時)
仮に19時に終業したとして数時間後に気になって再度ログインした場合は間が何も操作していないに関わらず実働したかのようにバーが伸びてしまいます。「1.」に関わるところでもあるのですが、間はアイドルとなっているはずなので基本はアイドルで拾ってほしいところです。


開発元の MOTEX 社様のススメもあり、Splunk と連携することでブレイクダウンした形で可視化可能ということで今回連携してみました。(Splunk の導入手順ポイントもあるので記事としては結構長めです!)

Splunk てなんぞや?

あらゆるデータをもとに適切なインサイトとアクションを導き出すソフトウェア(Splunk 社様のページから引用)とのことです。日々色々なITシステムから生成されるデータを加工し各組織が知りたい情報に可視化するツールというのがざっくりとした説明になると思います。ここ数年のバズワードからすると「ビッグデータ」が関連します。可視化した情報は障害対応に利用される側面を持ちますが今回のようなITセキュリティに対する親和性も非常に高いです。
そして、今回当記事で紹介するのは自社でも利用している LanScope Cat との連携です。
Splunkの紹介 | 連携製品 | LanScope Cat
LanScope Cat の Ver 9.0 より Syslog 転送(リアルタイム)が可能になったことにより各種 SIEM 製品との連携が強化されました。Splunk もその1つとなります。次の項では導入のざっくりとした流れをお伝えしつつ、迷いそうなポイントを個人的視点を踏まえお伝えします。

導入の概略

まずは LanScope Cat のマネージャー(弊社の場合は HACONEKO です)から Syslog 転送が可能なサーバに Splunk を導入します。前述の MOTEX 様の LanScope Cat × Splunk のページ下部にもリンクがありますが、下記リンクより各種情報を記入の上、Splunk Enterprise をダウンロードして下さい。私がダウンロードした際のバージョンは「8.0.3」でした。
f:id:btsn:20200410001851p:plain
ちなみに今回は Windows 10 Pro のマシンにインストールしております。
f:id:btsn:20200410002057p:plain
インストールに際して Customize Options を行っております。Python に関しては現在 3 系が主流なので「Python 3」を選択。インストールフォルダの変更、Local System Account の利用で対応しました。
f:id:btsn:20200410002457p:plainf:id:btsn:20200410002516p:plainf:id:btsn:20200410002527p:plain
ここから先に関しては MOTEX 様の保守運用サイトにアップされているマニュアルに沿って進めていきます。「LanScope Cat App for Splunk」と呼ばれる Splunk 用のアドオンをインストールします。これをインストールすることにより、LanScope Cat で収集したログのレポートを Splunk のダッシュボードに表示できます。App は提供された Sql を流し込むのみです。非常に楽チン。正常に追加されると Splunk のトップページ左袖メニューが下記のようになります。また、「LanScope Cat App for Splunk」をクリックするとメニュー追加が行われていることが分かります。
f:id:btsn:20200410003449p:plainf:id:btsn:20200410003709p:plain
更に今回の App のバージョンである「1.1.0」のレポート利用には「TimeLine」という App が別途必要です。なお、インストール途中に Splunk アカウントのユーザー名とパスワードが必要となります。
f:id:btsn:20200410004059p:plainf:id:btsn:20200410004116p:plain
その後は Splunk で受ける為のログ受信設定を行います。手順書に沿った形で少々迷いそうなところを記載しておきます。途中ポートを設定する場所がありますが、特段の社内セキュリティポリシーがなければ基本は Syslog のデフォルトポートである「514」を利用します。その後の「入力設定」では下記のようになるように設定します。また「確認」で同じ値になっているか確認して下さい。(ポートは「514」の場合)
f:id:btsn:20200410004627p:plainf:id:btsn:20200410004741p:plain
ここまでが Splunk 側の設定で次以降は LanScope Cat 側の設定です。手順書に沿っての「Syslog送信設定」が下記のようになるように設定して下さい。一部表示を削っておりますが、赤枠で囲んだ場所のみ設定変更すればOKです。「ホスト名またはIPアドレス」には Splunk を導入したサーバのIPアドレスを入力です。(「トークン」は元々入っていたと思います)
f:id:btsn:20200410005247p:plain
その後、「送信テスト」ボタンを押下しますが下記エラーが発生した場合は Splunk を導入したサーバ側で該当ネットワークの TCP 514 が受信規則で許可されているか確認して下さい。(または導入されているアンチウイルスソフトのポリシーを確認)
f:id:btsn:20200410010013p:plain
「送信テスト」が成功するとその下部の「送信対象」が選択できるようになります。今回は無償の範囲内なので一部のログ可視化を除外する形で(特に)勤怠ログ管理機能(Splunk 上では「LanScope Cat 勤務実態レポート」です)にフォーカスを合わせてます。アクティブ 50人 60~70台 程度が稼働している開発系の企業として目安にして下さいませ。
f:id:btsn:20200410114734p:plain
=====
500MB を超える日が30日以内に3回以上あるとロックがかかります。データの取り込みはできるが検索ができなくなります。とのことなので Syslog 取り込み後、数日は率をマメにチェックすることをオススメします。また、[設定]➡[モニターコンソール]➡[インデックス化]➡[ライセンス使用状況 - 過去 30 日]の切り替わった画面にて赤い棒の閾値まで届いてないかも要確認です。
f:id:btsn:20200410114853p:plain
MOTEX 様の話では「アプリ稼働ログ」と「アプリ通信ログ」だけで全体の半数くらいを占めるとのことです。ただ、これのチェックを外したら外したで可視化できなくなるグラフが出ることは注意下さい。他の注意点としては操作ログが大量に出力される点です。
=====

では、肝心の「LanScope Cat 勤務実態レポート」は?

冒頭の話に戻りますが、9.3 で盛り込まれた機能をブレイクダウンした可視化グラフが環境構築後に確認可能となります。

<LanScope Cat 勤務実態レポート>
f:id:btsn:20200410121545p:plain
f:id:btsn:20200415103706p:plain
f:id:btsn:20200415103719p:plain
f:id:btsn:20200415103735p:plain
*MOTEX 様のオススメは「相対」で「昨日」を選択するとのことでした(一部表示をカットしております)
*バーの各所はクリックしてドリルダウンすることが可能です。遷移先の表示データはかなり細かい粒度です。
*現状、在宅勤務で行われていることもあり、アクティブなウインドウが前面に残る場合はバーがそのまま伸びる可能性もあります。(それはそれで「ここで業務終了したんだな」と判断できます)

<LanScope Cat 業務分析レポート - MicrosoftOffice製品 操作時間【全体】>
f:id:btsn:20200410121934p:plain
*やはり、Excel の利用が多いんだなぁと実感。(逆に Word は殆ど利用されていないとか)

<LanScope Cat インベントリレポート - マシンベンダー割合【全体】>
f:id:btsn:20200410122503p:plain
*2019年度は DELL をメインで購入していたので増えたなぁ、という印象。

ご紹介した3種のレポートのうちで「LanScope Cat 勤務実態レポート」に関してはココまで詳細に出るのが感動しました。Cat のログの詳細さにも感動しつつ、Splunk のログ取込からデータ表示までの速さにも感動です!コレであれば「遠隔地でも労務状況を見える化できた事で在宅勤務にも安心して踏み切れた」と胸を張れそうです。ちなみに、Splunk を導入したサーバを localhost 以外からアクセスする際は TCP 8000 のポート開放が該当ネットワークの受信規則で必要となります。それでは、良い LanScope Cat × Splunk ライフを!

初リモートワークを経験する(1day)

リモートワーク(トライアルですが)デビューしました

先日、3/27(金)ですが 1day で初リモートワークを行いました。以前のブログでも記事に挙げたのですが RSUPPORT さんの RemoteView を利用しての仮トライアルです。Twitter を眺めていると他社様、色々な組み合わせで工夫されているなぁ、と言った感じですが自社の場合は下記のような構成にしております。これもひとまず仮なので今後流動的に変化する可能性はありますが・・・・。

【リモートツール RemoteView】
検証した内容に関するブログ記事に関しては下記を参照下さい。
リモートワークの環境を検証する(RemoteView 編) - SE(しがないエンジニア)のブログ
試用に関しては現状4末までの予定なので5月以降は何かしら考える必要があります。

【Web会議 G Suite Meet】
SaaS が隆盛の昨今、G Suite なり O365 なりを利用している企業さんは多いと思います。基本、Google カレンダーを利用していれば予定とも連携して簡単に Web 会議を開始できるのでお手軽に導入するという意味ではオススメです。
Google Hangouts Meet: オンライン ビデオ会議 | G Suite

【社内向けチャットツール RocketChat】
社内で Slack やその他チャットツールが乱立していた(シャドー IT の観点も踏まえて)ものをオンプレのチャットでまとめようとして(ある程度)標準化したものが RocketChat です。OSS で利用可能でオンプレサーバ(自社では Ubuntu を利用)に載せられるというのが魅力でした。UI も Slack に近しいということで参入障壁が低かったことも決め手の一つでした。
Rocket.Chat - Free, Open Source, Enterprise Team Chat
自社の場合は「#remotework-startend」というチャンネルを作成してこのチャンネルに始業終業のコメントを入れるようにしております。

1日やってみた感想は?(順不同)

・1度プチトライアルは行っていたのですが、今回は本格的なトライアルで人数も増えたので接続関連のトラブル等は少しありました。

・ただ、実際に行ってみると通信負荷は大きな問題にならなかったです。(今後はもう少し人数も増えそうなので現状の回線では少し心配ではありますが。。)

・対面での会話が必要な時は Meet を利用して気軽に声をかけることができました。招待を見てもらうのには RocketChat で声をかけました。
 →同日に外部の方との Mtg で Teams を利用する機会があったのですが、オンラインで一気通貫できる世の中になったあたりイイ世の中だなと思いました。

・自分自身として1日座ってやってみると腰が痛くなった、適度に身体を動かすのは重要です。椅子とかは重要です!
 →まだ、1日目だったので色々と身の回りは整っていなかったです。笑

*他、随時追記予定。

今後は?

コロナの影響がどこまで長引くか・・・・というところではありますが、今後もリモートワークの機運は更に高まっていくのかなと思います。4/1(水)は本来入社式を行う企業さんも多い中で今年はリモートで行うところもあるようで。そもそも、「入社式」という形式的?なものが今後は絶対的なものにならなくなる可能性もありそうな。
corp.rakuten.co.jp

追記(Appendix)

2020/04/09

緊急事態宣言2日目、RemoteView 勢には試練の1日となりました。9:00を過ぎてログイン画面に接続しにくくなる事象が発生・・・・結果、完全復旧したのは 13:00 後半でした。実際には他社製のリモートツールもアクセス障害が発生したようでリモートワークへの強いシフトチェンジを感じました。(翌日は落ちませんように。。)

Pleasanter のフォルダやサイトの色を変更する(単一版)

良く利用するフォルダまたはサイトを目立たせたい!

という要望はありませんでしょうか?Google 先生に聞いて下記のサイトは出てきたものの、単一のフォルダやサイトに対しては適用が出来ない感じだったため、少しカスタマイズしてみました。
サイトメニューへのスクリプトとスタイルの設定ができるようになりました! - オープンソースWebDBのプリザンター(pleasanter)ブログ

やり方

最上位の階層の場合

そもそも、管理メニューが存在しないのでサーバ側の「C:\inetpub\wwwroot\pleasanter\App_Data\Parameters\ExtendedStyles」(デフォルトのインストールパス)に任意の css を作成し下記のように記載します。

/* ○○サイト */
li[data-value="8"] {
    background-color:#ffff99;
}

/* ○○フォルダ */
li.nav-site.sites.ui-sortable-handle[data-value="1"] {
    background-color:#99ff99;
}

「data-value」に関しては各ブラウザの開発者ツール(F12等)を利用してご確認下さい。

フォルダで1階層以上下った場合

管理メニューが存在するので[管理]➡[フォルダの管理]➡[スタイル]にて任意のスタイルを作成し下記のように記載します。(下記の場合はサイトのみ)

/* ○○サイト */
li[data-value="6587"] {
    background-color:#ffff99;
}

結果として

下記のような感じになります。
f:id:btsn:20200317165830p:plain
f:id:btsn:20200317165843p:plain

Pleasanter の一覧表示のレコードに対して更新を自動化する

ベースは以前作成したスクリプトより

かなり前ですが Python + Selenium + Chrome を利用したスクリプト(G Suite のメールログ収集スクリプト)を Github に公開しており、今回は Pleasanter 用に改変しました。単一スクリプトで環境さえあればすぐに実行可能ということもあり、今回は当ブログ上にそのまま記載してしまいます。

どんな時に利用するのか?

Pleasanter のスクリプト更新タイミングにもよるのですが、編集画面から「更新」を押下した際にデータ更新を実施する場合を想定しております。自環境で編集が必要そうなところは括弧書きしておりますので適宜変更願います。

# Python + Selenium + Chrome
#
# Pleasanter の 一覧画面から編集に入ってデータ更新を実施

# 必要なライブラリのインポートを行う
import sys
import time
import calendar
from datetime import datetime, date, timedelta
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# コマンドラインからの引数を拾う
# args[1] none or retry
# args[2] number (minute)
args = sys.argv

# 初期値作成
login_id = "(Pleasanter Username)"
password = "(Pleasanter Password)"

# Chrome 用の WebDriver インスタンスを作成し認証画面を開く
# - 適宜パス名は変更願います
driver = webdriver.Chrome("c:/driver/chromedriver.exe")
# Pleasanter Access URL
driver.get('(Pleasanter Login URL)')


# 認証部分
time.sleep(1)
driver.find_element_by_xpath("//*[@id='Users_LoginId']").send_keys(login_id)
time.sleep(1)
driver.find_element_by_xpath("//*[@id='Users_Password']").send_keys(password)
time.sleep(1)
driver.find_element_by_xpath("//*[@id='Login']").click()

# 更新したい一覧ページへのアクセス
time.sleep(3)
driver.get('(Pleasanter Target List URL)')

# 各行のリンクを発見して配列に入れる、またリトライ用に更新時間も入れる。
urlArray = []
urlTimeArray = []

# 現在時刻取得
# - unixtime_now 現在時刻の UNIX TIMESTAMP
# - unixtime_past n分前以前のものを更新する際に利用(リトライ時に使用)
now = datetime.now()
unixtime_now = int(now.timestamp())
unixtime_past = unixtime_now - (int(args[2]) * 60)

# テーブルの要素から更新に必要なデータを収集する
# - 取得位置(3 や 11 に関しては一覧の並び順にもよる為、定義変更願います。)
tableElem = driver.find_element_by_class_name("grid")
trs = tableElem.find_elements(By.TAG_NAME, "tr")
for i in range(1, len(trs)):
	tds = trs[i].find_elements(By.TAG_NAME, "td")
	urlArray.append(tds[3].find_element_by_tag_name("a").get_attribute("href"))
	tm = tds[11].text
	datetime_tm = datetime(int(tm[0:4]),int(tm[5:7]),int(tm[8:10]),int(tm[13:15]),int(tm[16:18]),int(00),0000)
	unixtime_tm = calendar.timegm(datetime_tm.timetuple())
	urlTimeArray.append(unixtime_tm - 32400)

# urlArray の配列をベースに1行1行更新する
i = 0
if args[1] == 'none':
    # none mode
	for url in urlArray:
		time.sleep(1)
		driver.get(url)
		time.sleep(1)
		formElem = driver.find_element_by_id("MainCommands")
		buttons = formElem.find_elements_by_tag_name("button")
		buttons[1].click()
		time.sleep(3)
		driver.get('(Pleasanter Target List URL)')
else:
	for url in urlArray:
        #retry mode
		if urlTimeArray[i] < unixtime_past:
			time.sleep(1)
			driver.get(url)
			time.sleep(1)
			formElem = driver.find_element_by_id("MainCommands")
			buttons = formElem.find_elements_by_tag_name("button")
			buttons[1].click()
			time.sleep(3)
			driver.get('(Pleasanter Target List URL)')
			i = i + 1
		else:
			i = i + 1

# 終了(終了時に5秒 Wait)
time.sleep(5)
driver.close()

その後はどうすれば良いのか?

スクリプトに任意のファイル名で「.py」拡張子をつけて頂いて実行すればOKです。Windows のタスクマネージャーで組み込む場合は排他にかからないことが前提なので夜中他、ユーザーが居ない時間帯での更新をオススメします。

LanScope Cat を 9.3.0.0 にバージョンアップする

バージョンアップ前の注意点!

保守サイトの注意書きにも記載がありますが、Ver 9.3.0.0 より SQL Server と接続する通信仕様に変更が入るため、SQL Server と通信するサーバーまたは PC に Microsoft OLE DB Driver for SQL Server をインストールしておく必要があります。

ちなみに、Microsoft のサイトでファイルをダウンロードしますが同一ファイル名なのでどっちをダウンロードすれば良いか迷うと思います。(ファイル名:msoledbsql.msi

 

・ダウンロードサイズが大きい ➡ 64bit OS 用

・ダウンロードサイズが小さい ➡ 32bit OS 用

 

また、インストール時のコンポーネントSDK も表示されておりますが、インストールの必要はありません。

 バージョンアップ中の注意点

9.2 系から比較的大きめのバージョンアップではありますが、前述の注意点以外は普段のバージョンアップと特に変わらないと思います。

もしかしたらですが、バージョンアップに関する FAQ が多かったのか以前よりバージョンアップのマニュアルが詳細化したような・・・・。

バージョンアップ後の改良点・変更点(ピックアップ)

1.「勤怠ログ管理機能」の追加

目玉はやはり「勤怠ログ管理機能」の追加でしょうか。昨今、コロナウイルスの影響もありテレワークが増えている中でリモート先の PC がどう利用されているかを把握できるのはタイムリーだと思います。

f:id:btsn:20200305102251p:plain

ちなみに勤怠ログ作成は LanScope Cat コンソールの[システム設定]➡[勤怠ログ作成]から[勤怠ログ設定]が必要です。デフォルトの区切りは 5時 でした。(「Administrator」ユーザでないと表示されないらしい)

f:id:btsn:20200304165641p:plain

f:id:btsn:20200304165705p:plain

実際には同等の機能が LanScope Cat のコンソール自体にも付いているのですが、Web コンソールからお手軽に確認できるという意味では革新的です!

f:id:btsn:20200304165857p:plain

*Web コンソールで「勤怠」を押下した際にブラウザ(私の場合は Chrome でした)によって正常 に遷移しない場合があるのでその際は「Shift + F5」で更新しましょう!

 

2.ダッシュボード画面から CSV 出力可能に

これですかね?前からあったような気もしないような・・・・。笑

f:id:btsn:20200304170357p:plain

 

3.ダッシュボード機能で「アプリケーションパッチの適用状況」画面の項目に「最終稼働日」が追加

これのようですね。まだまだ、ダッシュボードは成長の可能性を多く秘めてそうなので MOTEX 様に頑張って頂きたいなと思ってます。

f:id:btsn:20200304170621p:plain

 

4.TLS 1.2 対応によるデータ更新の処理時間 20% 程度増加

セキュリティ関連の仕様の移り変わりによるものなのでやむを得ないのですが 9.3.0.0 に更新することで表題のパーセンテージ程、データ更新の処理時間が増加するとのことです。TLS 1.1(1.0も) は 2020年前半 にも廃止になる予定です。データ更新の後に何か連携処理を組んでいる環境の場合は要注意です。

 

5.Windows Server 2008 / SQL Server 2008 関連のサポート対応除外(R2 も)

これも「4.」と似たような感じで世の流れによるものなのでやむを得ないところです。

追記(Appendix)

2020/03/05

勤怠ログの作成が一度回ったので参考画像を添付しました。所感は下記の通りです。

=====

・操作ログのウインドウタイトルがベースとのことなので、一度抜けて数時間後にまた開始した場合はバーが純粋に伸びてしまう。(アイドルと判断出来る材料があれば別の色にしてほしいなと、難しいといえば難しいですが。。)

・ウインドウのヘッダの時間部分がスクロールすると隠れてしまうのは改善してほしいかも

=====

とはいえ、おおよその目安にはなりそうなので役立ちそうです!

プリザンターと Rocket.Chat を連携する

プリザンターの通知連携に Rocket.Chat が無い!?

昨今のチャットツールの流れから考えるとメールで通知するよりはチャットツールに投稿した方が見られる可能性も高い、というわけなのですがプリザンターの基本仕様としては Slack / ChatWork / Microsoft Teams 等のメジャーどころしかありません。

自社で Rocket.Chat の試験運用を行っているのですがこれに連携できないかと思い立ち、少し調べてみた結果を残しておきます。(かなりニッチですが。。)

実のところ

「Slack を選択した上で Rocket.Chat と連携できる」というのが結論です。どうも、連携する仕様は似通っているようで成功しました。まずは Rocket.Chat 側の「管理」にて「サービス連携」から「新しいサービス連携」を選択します。

f:id:btsn:20200304145144p:plain

続いて「着信WebHook」を選択。

f:id:btsn:20200304145337p:plain

以下は例ですが作成します。「投稿先チャンネル」に関しては後作成でも問題無いと思いますが先に作成しておきましょう。ここまで入力すれば「変更を保存」で。

f:id:btsn:20200304145748p:plain

 その後に「サービス連携」に戻り作成済の対象 WebHook を選択すると連携するための URL が表示されます。

f:id:btsn:20200304163747p:plain

これをプリザンター側の対象サイトの通知で設定します。「通知種別」は「Slack」のままで良いようです。

f:id:btsn:20200304164330p:plain

追加した後に試しにレコードを作成してみると?

f:id:btsn:20200304164619p:plain

成功です。

追記(Appendix)

2020/03/05

当記事にまさかの公式アカウントが「★」を!有難う御座います。笑

f:id:btsn:20200305201202p:plain

Azure Shared Disks (Preview) に触れてみる【断念】

Azure Shared Disks ってなんぞや?

というところから。複数の仮想マシンVM)からマネージドディスクを同時に接続できるという新機能です。オンプレミスに置き換えると SAN(Storage Area Network) でイメージすると分かりやすいです。Twitter 上でも話題になっていたので Web フォームからプレビュー版を申し込みました。

www.atmarkit.co.jp

主な用途としてはクラスタ環境で動作しているアプリケーションになります。すぐにピンと来る例でいうと DB のフェールオーバーが必要なアプリケーション環境でしょうか。

折り返しのメールの From は MS で従事されている個人名のようでした、ちょっとビックリ。(勿論、英語で来ます。)

早速設定してみる

ここを参考に共有ディスクを有効にします。

Enable shared disks for Azure managed disks - Azure Windows Virtual Machines | Microsoft Docs

折り返しで来ていたメールには West Central US Region との記載があったので上記サイトを参考に「米国中西部」を指定してデプロイしました。無事デプロイが完了すると下記のようなイメージになります。

f:id:btsn:20200303235742p:plain

当たり前ではありますがデプロイしてすぐは何にもアタッチされていない状態です。

f:id:btsn:20200303235947p:plain

そこでまたドキュメントに戻って Azure PowerShell 部分を実行しようとしたのですが・・・・テスト用で利用している「Visual Studio Professional」のサブスクリプションは「米国中西部」に VM が作成できない関係で要件の1つである「ディスクを共有するすべての仮想マシンは、同じ近接配置グループに展開する必要があります。」を満たせません。(ちなみにポータルで VM を「米国中西部」に作成しようとすると下記のような感じになります)

f:id:btsn:20200304011328p:plain

解散!

リモートワークの環境を検証する(RemoteView 編)

コロナウイルスの影響を受けて

世間は在宅勤務への切替に真っ最中なようです。主なきっかけとしては NTTデータ の件でしょうか。

当社拠点における新型コロナウイルス感染者の発生について | NTTデータ

口火を切ったのは GMO というイメージですが続々と切替が始まり、色々なニュースを見て回っても期間の定めは無いようです。(終息し次第?)

「推奨」ではなく「実施」に踏み切ったところで一番多い人数は一昨日の NEC が一番です。就業規則・セキュリティ・成果の考え方等、色々とぶち当たる壁はあると思うのですが「決断して一歩を踏み出す」というのが重要で運用面含め、まずは最低ラインを抑えつつ後追いで色々と変えていくというのが一番なのではないでしょうか。

NEC 約6万人の社員が一斉にテレワーク実施 | NHKニュース

NECも「一斉」ということで不安点はあったようですがいざ始まってみると各人が自ら考え1日が終了したようです。

インフラ環境とそれに対する取り組みとして

では、良くある環境として幾つか挙げてみます。(制御元:自宅 制御先:会社)

=====

★会社のPCは存在せず自宅PCのみ

➡全社的に社内リソースを持たず SaaS のみのサービスで運用している企業であれば可能。また、作業対象もクラウド上に存在している場合。

➡社内リソースを持つという意味では後述のリンク先が近しい?Azure Active Directory と Intune の組み合わせは今後主流になっていく?

=====

★自宅で利用するのは会社(貸与)PCで会社のPCにVPN経由でアクセスする

➡大企業・中小企業に関わらず最近のルータには VPN 機能が付いていることが多いです。VPN で接続した上で会社のPCにリモートデスクトップでログインするといった形がある。

➡この経由でアクセスした際は GPO をいじっていない場合、コピー&ペーストが出来てしまうので会社のPC側は禁止にする必要があればポリシーを変更しておく必要がある。(※)

➡仮に会社(貸与)PCでないPCにて VPN 情報を作成されて接続された際に想定していない不要な通信を通さないようにする為、ネットワーク環境を見直す必要があるかもしれない。(把握している中小企業向けのルータでは VPN アクセス元の PC で判断して遮断することが出来なかった)

=====

VPN ではなく外部サービスの MagicConnect(よく見るのは USB 型) や CACHATTO、RemoteView のようなリモート管理(+セキュリティ)に特化した外部サービスを利用

➡今回はその中でも RemoteView を紹介

=====

★上記3点と趣向は異なり Azure の Windows Virtual Desktop や AWS の Workspaces のような DaaS を環境として提供する

https://azure.microsoft.com/ja-jp/services/virtual-desktop/

Amazon WorkSpaces(セキュアな仮想デスクトップ(VDI)サービス )| AWS

=====

(※)Active Directory 環境下であれば GPO を書き換えることで対象のPCによるコピー&ペーストは防止できます。ローカル側に管理者権限がある前提で「ローカル グループポリシー エディタ」にて同等の部分を書き換えたところ防止はそのまま、レジストリの対象のキー(「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp」配下)は対象2値とも「0」で防止はそのままでした。

f:id:btsn:20200222162250p:plain

f:id:btsn:20200222162308p:plain

ちなみに、昨今は「ゼロトラスト」というキーワードにも代表される通り、クラウド環境を主としたセキュリティモデルの構築が進んでおります。そのクラウドベンダーであるマイクロソフトが提唱しているゼロトラストセキュリティモデルに関して良い記事が紹介されていたので共有致します。(英語です)

www.microsoft.com

結果として、かけられるリソースとコストに依存しますがどのような形であれ「セキュリティ」は重要なキーワードです。

RemoteView による検証

遠隔ソフトソリューションが強みの RSUPPORT という企業が提供するソリューションです。今回はコロナウイルスに関連して4末まで環境(数に制限はあり)を無償提供してくれるとのことです。太っ腹!

【新型肺炎対策】テレワーク・BCP対策ソリューション無償提供のお申し込み

折り返しの連絡が来て接続出来る環境を構築するまではそこまで時間がかかりませんでした。数に制限がある 10Agent 分程であれば1日もあれば環境を準備できると思います。大まかな流れは下記の通りです。

=====

・受け取った情報を元に導入予定のPCで Agent を入れていく(要管理者権限)

➡Agent 導入時には ID / PASS の設定が必要

 

・管理ユーザとは別でアクセスするユーザ用のアカウントを発行する

➡権限は一般ユーザ側にしておく方が良いです

➡発行した上で割り当てるマシンやコピー&ペースト他のポリシーを決めます

 

・ユーザ側(自宅のPCと見立てた形)で2点目で発行したアカウント情報を元にアクセスし Agent を入れたマシンにアクセスする

=====

なお、接続に際して注意点があります。

=====

・Agent を入れた PC はリモートアシスタンスと同様で制御する際に基本ロック状態になりません。その為、制御するユーザ側のマシンで明示的にロックをする必要があります。

(Agent 側の PC のメインモニタ右下に右記が表示されます→f:id:btsn:20200222180800p:plain

 

・Agent を入れた PC がマルチモニタの場合はユーザ側のマシンの解像度にもよりますがかなり縮小表示になるため、基本的には[画面]➡[遠隔モニター]でアクセスするモニターを制限した方が良さそうです。(画面を制限したモニターに集約する)

 

・(通信)環境にもよりますが、画面のスクロール等はカクつくことがあります。グラフィック関連の重い処理は厳しいかもしれませんので、作業によっては一部割り切る必要が出てくる可能性もありそうです。また、通信量も画面のスクロール時ですが一時的に上がることがあるので 10Agent またはそれ以上に同時多発すると通信がボトルネックになる可能性もあります。

f:id:btsn:20200222181804p:plain

=====

今後も気づいた点があれば追記しますが、ひとまずはこんなところで!

追記(Appendix)

2020/03/19

対象の PC に接続する際、「Webビューアで遠隔接続」で接続すると Web 経由でアクセス可能となります。検証比較した限りではこちらの接続方式の方が転送量が抑えられ、かつ、レスポンスもスムーズです。

「WebViewer方式」と 「プラグイン・アプリケーション方式」の差を教えてください。 – RemoteView Help Center

2020/03/30

3/27(金)に実際 1day のリモートワークトライアルを行い、感想をまとめてみました。

初リモートワークを経験する(1day) - SE(しがないエンジニア)のブログ

この中での気付きなのですが、どうも「Webビューアで遠隔接続」は通常のものよりセッションが切れやすいようでケースによっては即時復帰が出来ないこともあるようです。その為、自社の場合はNGになった場合は「遠隔制御」で接続するよう指示してます。この辺もエラー対処方法が判明したらまた追記します。

2020/04/30

在宅勤務が本格化し早1ヶ月が経過しようとしております。アクセス過多による画面重い問題は時々あるものの RemoteView 全体としては(他プロダクトと比較しても)個人的評価は高いです。最近、「遠隔制御」改版も登場したようでメーカー側の努力も垣間見えます。他方、他プロダクトではこんな障害も発生していようで・・・・。

www.traicy.com

選定段階では挙げていただけにチョイスしなくて良かった、というのが正直な感想。

2020/07/19

何気に当記事はここ最近の長い間、人気記事の上位を維持しているので(久々の)記事更新をしようと思います。在宅勤務も3ヶ月少々が過ぎようとしており、自社の場合は RemoteView を5月以降で年間契約した関係で VPN + RemoteView という形が標準化する形になりました。もろもろの社内のインフラ環境を考えると回線の増強も行いたかったのですがこれは将来的な課題ということで。

ところで4末の記事追記の際に挙げた「リモートワークス」ですが残念ながらサ終(サービス終了)の記事が上がっていました。かなり有名な会社さんのプロダクトだったのでこの幕切れには少々驚きました・・・・。

www.nikkei.com

FalconNest を利用してセキュリティの状態を知る

FalconNest というツールをご存知でしょうか?

何か厨二病をくすぐるような名前のツール(「ファルコンネスト」と読む)ですがれっきとしたセキュリティのツールです。株式会社ラック様が提供している Web サービスで主に標的型攻撃による侵害痕跡の発見とマルウェアの判定を手軽に行ってくれます。機能としては下記の3つに分類されます。

 

・侵害判定サービス(Live Investigator:LI)

マルウェア自動分析サービス(Malware Analyzer:MA)

・メモリ自動分析サービス(Phantom Seeker:PS)

 

詳細に関してはラック様のサイトに記載されておりますのでご参照下さい。

無料調査ツール「FalconNest(ファルコンネスト)」 | セキュリティ対策のラック

どうやったら使えるの?

FalconNest

f:id:btsn:20200218111855p:plain

利用に際してはユーザ登録が必要です。自前の Gmail アドレスや UCOM アドレスは弾かれました。明らかな個人用はダメっぽいですね。利用可能なアドレスで登録出来ると基本は翌営業日に対象のメールアドレスへ折り返しメールが来るようです。

メールに記載されている情報をベースにログインすると下記のような画面が。

f:id:btsn:20200218112058p:plain

今回は LI の機能を利用してみようと思います。利用するに際して対象のマシンで(膨大な)ログを収集する必要があります。ツールは下記画像の赤枠部分をクリックすることでダウンロードできますのでダウンロードし次第、対象のマシンにコピーし任意の場所に展開して下さい。

f:id:btsn:20200218112819p:plain

対象のマシンで「start.bat」を実行すると処理が開始されます。ところどころ同意を求められるところがありますので定期的にチェックして下さい。ちなみに当ツールは Windows Sysinternals の「Autoruns」(自動起動プログラムのチェック)や「Sigcheck」(署名検証のチェック)を利用しており疑わしき挙動がないかを確認するログを収集しているようです。完了までに20分程度かかりました。

f:id:btsn:20200218113204p:plain

f:id:btsn:20200218113504p:plain

アウトプットされた zip ファイルを FalconNest の LI 機能ページへアップロードしましょう。分析中は「結果」列に「分析中」と表示されますので待ちます。途中途中更新して確認しましたが、15分程度かかったようです。

分析後は疑わしきと思われる項目が表示され、更に詳細を確認することも可能です。スクショは敢えて掲載しませんが、まずはお手軽に調査するという意味でもオススメのツールだと思いました!

Cylance Smart Antivirus を導入する

Cylance って聞いたことがありますか?

セキュリティ系のソフトでアンチウイルスやアンチマルウェア対策のものは数多くありますが Cylance(サイランス) は聞いたことがありますか?私自身、とある企業様のプロダクトに関わるまでは全然聞いたことがなかったのですがマルウェアが流行っている昨今、この Cylance が非常に注目されています。

www.cylance.com

そのとある企業様というのは当ブログでも何度か取り上げている MOTEX 様なのですが Cylance PROTECT という製品と連携しております。防御率は 99.9% の精度を誇るそう。しかもその防御率を誇る上で超軽量だとか。(従来型のシグネチャーベースの製品とは異なり当製品の場合はAIをベースとし防御を行うというのが特色)

個人向け製品はあるの?

実は Cylance PROTECT に関しては法人向けがメインであり、個人向けの製品は存在しておりません。Cylance Japan の FAQ ページでも記載していますが、「Cylance Smart Antivirus」という製品は英語版のみですがリリースされている状態です。ただし、日本語版でのリリース時期は未定であり、今回の導入はあくまでも自PCのみへの試験導入がメインです。

よくある質問(FAQ) | Cylance Japan株式会社

購入にあたり参考にしたページは下記のページです。早くから注目されていた方もいらっしゃるようです。

【SSS】企業クラス!?AI予測型のCylance Smart Antivirusは個人向けで軽量

かなり詳細に記載されているので、当ページでは躓きそうな部分のみ記載していくことにします。

と思いましたが、下記のスクリーンショットから先はクレジット情報を入力し折り返しのメールで Regist する、その後はダッシュボードを開設するために個人の情報を入力する、といった感じでそこまで難しいものはありませんでした。

f:id:btsn:20200216234001p:plain

ダッシュボードは下記のような感じです。まだデバイスを追加していない状態ですが、「デバイスを追加する」リンクから自PCのプラットフォームに合わせたものをダウンロードしトークンをコピーした上でインストールすればOKです。

f:id:btsn:20200216234403p:plain

登録後の画面は下記のような感じです。

f:id:btsn:20200216234838p:plain

CPU の使用率に関しては 0.8~2.0% での推移でした。使い始めたばかりではありますが軽くて良い感じですね。あとは、今後検知の実力がいかなるものか・・・・が楽しみです。(いや、検知されたくないんですが。。)