iVideon+パソコン+IPカメラ+USBカメラで監視カメラシステムを構築する

iVideonとは

iVideonを利用して監視カメラシステムを構築してみる。

システムと言っても、無料のクラウドサービスを利用するだけなので、そんなに難しいことはない。この記事は無意味に長いが・・・

iVideonはクラウドサービスで、パソコンにiVideon Serverというソフトをインストール・実行、パソコンに接続されたUSBカメラやLAN上のIPカメラを、ユーザ認証した上でインターネットを通じて、外出先からモバイル端末などでカメラ映像を視聴できるサービスを提供している。動体検知機能を兼ね備え、動きを検知すると自動で録画されるというスグレもの。しかもカメラ2台までは無料で使用できるので財布もにやさしい。

iVideonのサイトにログオンしてブラウザで自宅のカメラの映像を表示
iVideon01

ブラウザからIPカメラの映像を表示
iVideon02

動体検知のテスト。黄色い部分が動きを感知した部分
iVideon_Tenvis03

7インチ Androidタブレット SHARP SH-08E NTTdocomoのLTE回線を経由して、自宅の2台のカメラに接続。右はUSBカメラの映像。なお、iOS版のiVideonクライアントもあるので、iPad等でも自宅に接続できる。
Screenshot_2014-09-14-12-50-55Screenshot_2014-09-14-12-52-08

 

iVideonでできること

  • 外出先からこどもの様子を確認したい
  • ペットの様子を確認したい
  • お店の様子を24時間監視、録画したい

 

プライベートIPが割り当てられていても接続できる

マンションなどで、インターネット接続はプライベートIPが割り当てられた環境でも利用できる。

 

しかし、無料で便利なものには裏があるかも?自宅の様子をさらすわけであるから、セキュリティもできる範囲で確認しておこう。

ただし、私はセキュリティの専門家でもないし、この分野に詳しいわけでもないので、評価を下すことはしない。

 

iVideonのセキュリティ

  • アカウントを作成して、ユーザIDとパスワードで認証し、サービスを利用する。
  • デフォルトで自分のカメラには自分しかアクセスできないようになっている。設定により公開することや指定した人にだけ公開することもできる。
  • 接続はSSLを利用する。SSLの安全性をチェックしてみたが、あまりいいとは言えないようだ。SSL証明書のチェック結果や実際の接続先を記事の最後に記述したが、インターネット越しに自宅カメラにアクセスするわけだから、自分の目でセキュリティ状況を確認すべき。
  • カメラの映像はiVideonのサーバを介してモバイル端末から閲覧するので、カメラ映像がiVIDEONのサーバでどのような扱いを受けているのか知る術はない。よってiVideon側には筒抜けであるくらいの構えをもって運用すべきである。

 

イメージ
ivideonイメージ

要件

  • セキュアに監視映像を配信できること
  • 外出先からモバイルで監視映像をみれること
  • 動体検知による録画ができること
  • 14畳程度のリビングを監視できること
  • 明示的に配信した場合だけ配信されること
  • 自分だけ(認証されたユーザだけ)が配信映像をみれること
  • できるだけ安く運用できること

 

お品書き

  • Windowsパソコン
    Windows 8.1 Update Pro 64bit
    IPカメラ、USBカメラの映像をパソコンにインストールした iVideon Server というソフトを使って、インターネット上のサーバに配信するので、パソコンが必要。
    IMG_3262
  • iVideon Server(Windows用)
    Get Internet Video Monitoring | Ivideon
    https://www.ivideon.com/get/ からダウンロード
  • USBカメラ
    iBUFFALOのUSBカメラ「BSW20KM11BK
    ドライバなしに使用可能。
    IMG_2319
  • IPカメラ
    TENViS JPT3815W
    IMG_2320
  • インターネット接続
    マンション全体契約で、各戸にはプライベートIPが割り当てられている。光回線で1Gbpsの通信速度と言われているが、実測10Mbps~80Mbps程度。

 

構築

 

前提

 

iVideon Serverをダウンロードする

Cloud Video Surveillance
https://www.ivideon.com/ iVideonのサイトに行き、Get iVideon をクリックgetiVideon01

Windows
getiVideon02

適当な場所に保存する
getiVideon03

 

iVideon Serverはサービスとしてインストールするか?通常のインストールか?

iVideon Serverはサービスとしてインストールするか、通常のインストールか選択できる。いろいろ考えた結果、サービスとしてインストールするようにした

サービスとしてインストールされるとWindows起動後、ログオンなしに自動的に配信される。配信を停止するには、一旦ログオンしiVideon Server を起動し、配信を停止しなければならない。なお、配信停止しても再起動すると、再起動後は再び自動で配信されてしまう。店舗の監視などで、常に配信するケースはいいかもしれないが、個人で自宅の様子を配信するケースでは、自分だけが配信映像を見れる状況だったとしても、知らぬ間に配信されてしまうかもしれないので不安だ。

そこで、グループポリシーによりスタートアップとシャットダウン時に、サービスを自動起動から手動起動に切り替えるスクリプトを実行させることで、サービスとしてインストールしてもWindows起動と同時に配信されてしまうことを回避するようにした。自動配信が嫌ならサービスとしてでなくインストールすればいいじゃないか!と思うところだが理由がある。

  • サービスとしてインストールしない場合

    インストール先を既定のフォルダ(管理者のプロファイルフォルダ)にした場合、一般ユーザがアクセスできないので、実行ユーザは管理者限定になってしまう。
    iVideon Server を一般ユーザで実行したいので、インストール先を一般ユーザでもアクセスできる(変更権あり)フォルダ、例えば「D:\iVideonWork」した場合、EXEやDLLはProgram Files ではなくここに保存される。録画データもこの中のArchiveというフォルダの中に保存されるので、archiveフォルダにはiVideonServerの実行アカウントに対し「変更」が許可されていなければならない。また、iVideonWork の中にはログや設定情報があり、これらは更新されるので、結局のところ一般ユーザ権限でiVideonWorkを更新できないといけないようだ。EXEやDLLについてまで、一般権限で変更できてしまうので、危険かもしれない。
    archiveフォルダの場所を別の場所に指定できるが、ログや設定情報の場所は指定できないので、更新されるファイルだけは一般ユーザ権限でも更新できるフォルダに移し、EXEやDLL等のプログラムファイルは管理者権限でないと更新できないフォルダに置いておくという構成にできない。
  • サービスとしてインストールする場合

    インストール先は既定で C:\Program Files (x86)\iVideon となる(インストール先を変更できるが)ので、一般ユーザには変更権はない。録画データもこの配下のArchiveフォルダを選んでおく。このフォルダ内のファイルを更新するにはUACを突破しなければならい。またiVideonのサービスはローカルアカウントであるローカルシステムで実行されている。ローカルシステムには、C:\Program Files (x86)\iVideon 配下に対しフルコントロール権が与えられている。ローカルシステムアカウントや管理者アカウントを乗っ取られなければ、iVideon関連のプログラムファイルを不正に改ざんされてしまう脅威を低減できると思う。

ではサービスとしてインストールしない場合でも、インストール先を C:\Program Files (x86)\iVideon にすればいいかというと、そうはいかない。一般ユーザで iVideon Server を実行するので、C:\Program Files (x86)\iVideon 内にある 設定ファイルやログファイルを更新できない。更新させるために一般ユーザに変更権を与えるのはセキュリティとしてよろしくないと思った。

ローカルシステムはログオン可能なアカウントでないので、映像を配信するようなプログラムであるiVideon Serverはサービスとしてローカルシステムに実行させるのが無難ではないかと思う。

以上のことから、Windows起動時に自動配信させないのにサービスとしてインストールした方がいいのではという結論に達した。

 

iVideonServerをインストールする

特に説明がない限り、作業は図のとおりである。

保存した「IvideonServer_3.5.0_win32_setup.exe」をダブルクリック。instiVideon01

instiVideon02

サービスとしてインストールするので「Install as Service」にチェックする。
instiVideon04

ivideonService01

instiVideon08

Share with Friens のチェックを外した。
instiVideon09

 

セットアップウィザードでアカウントの取得とカメラを登録する

setupiVideon01

メールアドレスを入力し、使用場所を選択する
setupiVideon02

パスワードを入力する。インターネットで利用するので、できるだけ長く英数記号を入れるなどしたほうがいいだろう。
setupiVideon03

メールアドレスは正しいか確認されるので、Yes
setupiVideon04

USBカメラをPCに接続、IPカメラはネットワークに接続されていればNEXT
setupiVideon05

USBカメラはすぐに表示され、IPカメラは20秒程度でみつかる
setupiVideon06

IPカメラにチェックをつける
setupiVideon07

録画データをローカルに保存するかどうか?保存するならその場所と上限サイズを指定する。
ivideonService02

これでウィザードは終了。
setupiVideon09

 

カメラの動作設定

ウィザードが終了するとiVideon Serverが起動するので、カメラごとに設定を行う。

settingiVideon01

まずはIPカメラから
settingiVideon02

カメラのメーカーは適当なのが入っているのでカメラにあったものを設定する。
settingiVideon03

メーカーはTenvis PT、モデルはDefaultを選ぶ。モデル名にJPT3815Wが選択肢にあるが、それを選ぶとストリーミングできない。紛らわしいので注意。このIPカメラにマイクはないので Use audio source はチェックしない。
settingiVideon04

録画のタイミングを設定する。動体検知時に録画するを選ぶ。
settingiVideon06

動体検知の感度を調整する。黄色い資格が動体検知している部分。風で草が揺れているのでそれを検知している。
settingiVideon07

検知レベルを上げる少しの揺れも検知する。
settingiVideon08

録音機能はないので何も選べない
settingiVideon09

録画対象スケジュールの設定
settingiVideon10

緑は動体検知時録画、赤は常に録画、白は録画しない という意味。
settingiVideon11

時間間隔を30分単位にもできる
settingiVideon12

時間間隔を15分単位にもできる
settingiVideon13

パン、チルト、ズームを有効にするか設定する。このIPカメラはパン、チルトは可能なのでチェックする。
settingiVideon14

次にUSBカメラ
settingiVideon15

USBカメラはマイク機能付きなので、使用できるマイクから割り当てるマイクを選ぶ。カメラ内蔵のマイクを選ぶ。
settingiVideon16

settingiVideon17

settingiVideon18

プレビューを選ぶとプレビューできる
settingiVideon19

settingiVideon20

録画タイミングは動体検知にする。
settingiVideon22

動体検知の感度設定。
settingiVideon23

録音レベルの感度設定。
settingiVideon24

手を叩くいたところを検出している。
settingiVideon25

音の検出を有効化すると感度調整できる。たぶん真ん中の横線を超えたら録音し、下回れば録音しないのだと思う。
settingiVideon26

スケジュール設定
settingiVideon27

以上で、カメラごとの設定は終わり。

iVideon Serverで配信を開始する

Startをクリックと配信を開始する。
startiVideon01

Stopをクリックすれば配信終了。
startiVideon02

iVideonのサイトで配信映像を確認する

Accountをクリックする
startiVideon03

iVideonのサイトが開く。
startiVideon04

サインインする。
startiVideon05

左がリビングのIPカメラ、右が別の部屋のUSBカメラ。
startiVideon06

IPカメラをクリックすると拡大する。中心部にあるカーソルはパン・チルト用。マウスでクリックした位置にパン・チルトする。
startiVideon07

右上をクリックした。
startiVideon08startiVideon09

カメラが右上を向いた。
startiVideon11

元の位置に戻す。
startiVideon12startiVideon13

カレンダーをクリックすると、指定した日の録画を観ることができる。
startiVideon14

録画データをエクスポートしようとすると、FREEサービスではダメとでる。
startiVideon15startiVideon16

こちらはUSBカメラ。
startiVideon17

メニューでネットで公開する、指定した人に公開するなどを選べる。
startiVideon18

カメラ表示サイズを変更することができる。
startiVideon19

左側のメニューからカメラを選ぶとさらに大きく表示さされる。
startiVideon20startiVideon21

 

Windows起動時に自動で配信されないようにする

サービスとしてインストールすると、Windows起動後ログオンしないでも自動的にカメラ映像が配信される。明示的に配信する操作をしない限り配信されないようにする。

Ivideon Video Surveillance Service がiVioden Server。スタートアップが「自動」になっているので、Windows起動後、自動で起動し、かつ配信まで開始する。サービス管理ツールでスタータップを「手動」に切り替えても、配信操作をすると、再びスタートアップが「自動」に戻ってしまう。

service01

そこで、スタートアップスクリプトとシャットダウンスクリプトでレジストリを操作することにより、Ivideon Video Surveillance Service のスタートアップを「手動」に設定し、自動でサービスが起動しないようにする。

Startが3は手動起動、2は自動起動。
ivideonService10

iVideonServiceManualStart.cmd を作成する

REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\ivideon_video_service" /v Start /t REG_DWORD /d 3 /f

ファイル名を指定して実行でグループポリシーエディタを起動し、あとは図のとおり。
ivideonService13
ivideonService14
ivideonService15
ivideonService16
ivideonService17
ivideonService17-2
ivideonService18
ivideonService19
ivideonService20
ivideonService21
ivideonService22
ivideonService23
ivideonService24
ivideonService25
ivideonService26

 

外出先でモバイルからアクセスする

パソコンの電源が入っていて、iVideon Server が配信中なら、外出先からモバイル端末などで監視映像や録画映像を確認できる。

ここではAndroidタブレット SHARP SH-08Eを使用する。iVideon MonitorのアプリはGoogle Playから入手できる。

iVideon Monitorを起動する
Screenshot_2014-09-14-12-48-57

Sigin inをタップ
Screenshot_2014-09-14-12-50-00

E-Mailとパスワードを入力し、Sigin in をタップ
Screenshot_2014-09-14-12-50-34

2台のカメラが見える
Screenshot_2014-09-14-12-50-55

IPカメラ。下のタイムラインで録画されている部分が青くなっている。
Screenshot_2014-09-14-12-51-06

タイムラインをピンチアウトすると拡大される。目的の時間をタップすると録画データが再生される。おやつ食べたかな?とか確認するときいいかも。
Screenshot_2014-09-14-12-51-56

カレンダーをタップすると、指定した日の録画が再生される。
Screenshot_2014-09-14-12-51-51

こちらはUSBカメラ
Screenshot_2014-09-14-12-52-08

メニューのShow ivent をタップすると動体検知のあった時間がリスト化され表示される。動体検知した個所をタップすると、その時間帯を再生してくれる。
Screenshot_2014-09-14-12-52-50Screenshot_2014-09-14-12-53-00Screenshot_2014-09-14-12-53-22

 

外出先からパソコンの電源を入れる

リビングを24時間監視するのではなく、必要な時だけ監視したいので、通常はパソコンの電源を切っておく。パソコンの電源が入っていない時でも外出先からリビングを監視したい場合がある。そこで SmartServe 経由で自宅の無線LAN親機 WZR-600DHP にログインし、Wake On Lan マジックパケット送信機能を使って、パソコンの電源を入れる。外出先からパソコンの電源を入れるに関しては SmartServe(スマートサーブ)を使って外出先から自宅パソコンを利用する を参照。
Screenshot_2014-09-11-11-58-25

WZR-600DHP にログオンした。
Screenshot_2014-09-11-11-58-39

下の方にあるネットワークサービス一覧を表示をクリック
Screenshot_2014-09-11-11-58-45

LANに接続された機器一覧が表示されるので、今回電源投入するパソコンSN78SH7の右にあるボタン「WOL」をクリックする。
Screenshot_2014-09-11-11-59-12Screenshot_2014-09-11-11-59-27

パソコンの電源を入れたらリモートデスクトップでログインし、iVideonServer の起動して配信すればOK。

 

SSL証明書のチェック結果

チェック日は2014/9/14

私はセキュリティの専門家ではないし、詳しくもない。下記サイトでiVideon.comのSSL証明書をチェックしてみたが、結果はBだった。なお、Aが一番いいらしく、下にはB,C,D,E,Fとつづくみたいだ。ランクの見方は下記にあるみたい。また、クラウドサービスなので、実際にはiVideon.com以外のドメインにわたって接続されると思うので、iVideon.comの証明書だけをチェックするのはあまり意味がないかもしれない。

Qualys SSL Labs - Projects / SSL Server Rating Guide
https://www.ssllabs.com/projects/rating-guide/index.html

Qualys SSL Labs - Projects / SSL Server Test / ivideon.com
https://www.ssllabs.com/ssltest/analyze.html?d=ivideon.com&hideResults=on&ignoreMismatch=on
証明書チェック

iVideonはAmazonのAWSを使用しているみたいだ。

Qualys SSL Labs - Projects / SSL Server Test / ivideon.com
https://www.ssllabs.com/ssltest/analyze.html?d=ivideon.com&s=107.23.32.135&hideResults=on&ignoreMismatch=on
証明所チェック1

Qualys SSL Labs - Projects / SSL Server Test / ivideon.com
https://www.ssllabs.com/ssltest/analyze.html?d=ivideon.com&s=54.246.206.110&hideResults=on&ignoreMismatch=on
証明書チェック2

Qualys SSL Labsは英語なのでQualys SSL Labsのサービスを利用したGMOのサイトが日本語で評価結果を出力してくれるので確認してみた。

設定状況や信頼性がわかる!SSLチェックツール|GMOグローバルサイン
https://sslcheck.globalsign.com/ja/sslcheck?host=ivideon.com
GMO証明書チェック1

ivideon.com - 107.23.32.135 - SSLチェック|SSLサーバ証明書ならグローバルサイン (旧日本ジオトラスト株式会社)
https://sslcheck.globalsign.com/ja/sslcheck?host=ivideon.com#107.23.32.135
GMO証明書チェック2GMO証明書チェック3GMO証明書チェック4GMO証明書チェック5

ivideon.com - 54.246.206.110 - SSLチェック|SSLサーバ証明書ならグローバルサイン (旧日本ジオトラスト株式会社)
https://sslcheck.globalsign.com/ja/sslcheck?host=ivideon.com#54.246.206.110
GMO証明書チェック11GMO証明書チェック12GMO証明書チェック13GMO証明書チェック14

脆弱性があるとか、何とかが設定されていないとか・・・いろいろ指摘されている。

どういう実装がされていて、どのような脅威に対して、どういう脆弱性があるから、どれくらい危ないんだ!というようなことを、残念がら私には判断する能力がない。

そこで銀行のSSL証明書と相対的に比べてみることにする。比較対象はみずほダイレクトで利用される「web.ib.mizuhobank.co.jp」にする。

web.ib.mizuhobank.co.jp - SSLチェック|SSLサーバ証明書ならグローバルサイン (旧日本ジオトラスト株式会社)
https://sslcheck.globalsign.com/ja/sslcheck?host=web.ib.mizuhobank.co.jp
証明書チェックみずほ1

web.ib.mizuhobank.co.jp - 210.130.209.40 - SSLチェック|SSLサーバ証明書ならグローバルサイン (旧日本ジオトラスト株式会社)
https://sslcheck.globalsign.com/ja/sslcheck?host=web.ib.mizuhobank.co.jp#210.130.209.40
証明書チェックみずほ2証明書チェックみずほ3証明書チェックみずほ4証明書チェックみずほ5

みずほダイレクトのSSL証明書の評価はCだった。

意外や意外、SSL証明書の総合評価とはいえ、強固なセキュリティを要求される銀行よりも、iVideonの方が評価が高いとは。

 

モバイル側のiVideon Monitor と PC側のiVideonServer と PCのブラウザからiVideon.com への実際の接続先を確認

 

モバイル側のiVideon Monitorの実際の接続先

NoRootファイアーウォールというアプリを使って、iVideon Monitor の通信先を調べた。3つの接続を確認した。

Screenshot_2014-09-15-10-43-43

  • 216.52.203.23:443
  • 54.84.244.165:443(ec2-54-84-244-165.compute-1.amazonaws.com)
  • 216.52.203.13.443

上記3つの接続すべてにポート443を使用しているのでSSL接続だと思う。SSL接続なのでSSL証明書のチェックをしたところ、54.84.244.165 のみチェックができた。残りの2つはドメイン不明のためSSL証明書をチェックできなかった。

ec2-54-84-244-165.compute-1.amazonaws.com - SSLチェック|SSLサーバ証明書ならグローバルサイン (旧日本ジオトラスト株式会社)
https://sslcheck.globalsign.com/ja/sslcheck?host=ec2-54-84-244-165.compute-1.amazonaws.com
ec2-54-84-244-165.compute-1.amazonaws.com_01ec2-54-84-244-165.compute-1.amazonaws.com_02ec2-54-84-244-165.compute-1.amazonaws.com_03ec2-54-84-244-165.compute-1.amazonaws.com_04ec2-54-84-244-165.compute-1.amazonaws.com_05

216.52.203.13、216.52.203.23のドメイン検索結果。Fully,inc San Fancisco とあるので広告・分析会社のようだ。
whois216.52.203.23

207.244.64.3にも接続している。Leaseweb USA, Inc. という会社のようだ。ホスティング、ストレージ、サーバレンタル系の会社?
whois216.52.203.23

iVideonはamazonのAWSを利用しているようにみえたので、ec2-54-84-244-165.compute-1.amazonaws.comは許可し、それ以外を拒否したら、iViden Monitor は接続できなくなった。
Screenshot_2014-09-15-12-44-51Screenshot_2014-09-15-12-45-50

憶測ばかりで情けないが、iViden Monitor はよくわからないところに接続しているようだ。

 

PC側のiVideonServer の実際の接続先

TCPView v3.05を使用して iVideonServer の接続先を調べた。

207.244.64.2に接続している。Leaseweb USA, Inc. 。モバイルの閲覧ソフト iVideon Monitor もここに接続している。カメラ映像のストリーミングデータは Leaseweb USA, Inc.が提供するサーバ群に送信されている?
iVideonServerの通信先閲覧中

 

PCのブラウザからivideon.comに接続した場合の実際の接続先

TCPView v3.05を使用して iVideonServer の接続先を調べた。data-xata.com はロシアのレンタルサーバを提供しているっぽい。
ieicCheck03

data-xata.com - SSLチェック|SSLサーバ証明書ならグローバルサイン (旧日本ジオトラスト株式会社)
https://sslcheck.globalsign.com/ja/sslcheck?host=data-xata.com

証明書チェックdata-xata.com01証明書チェックdata-xata.com02証明書チェックdata-xata.com03証明書チェックdata-xata.com04証明書チェックdata-xata.com05

 

最後に

すべて憶測の域だが、クラウドサービスで展開されているのだから、いろんなところに接続されるのも無理ないか。無料だから広告・分析系の会社にも何かしらのデータが送付されているようだし。

長くて憶測ばかりな記事を書いてしまったが、自分の家の映像がよくわからないところへ配信されているようなので、とても便利なサービスであるが、iVideonの利用はやめようかなと考えてしまう。

コメント

このブログの人気の投稿

ダブルクォーテーションで括られたCSVカ​ンマ区切りテキストファイルを SQL Server で Bulk Insert する方法

PowerShellでTSV/CSVの列を絞り込んで抽出し、(先頭/行末)からN行出力する

IKEAの鏡を壁に取り付ける