
Ubuntu日本語フォーラム

ログインしていません。
Ubuntuサーバーでmotionというソフトを使ってwebカメラのライブ映像をストリーミング配信います。ライブ映像は外部のネットワークからも観れるように
しているのですが、誰でも観られるのはプライバシー的にまずいのでパスワード認証を行っています。パスワード認証はapacheの公開フォルダにライブ映像
配信用のページを置きapacheの機能を使うこと、つまり配信ページへのアクセスを認証しています。ここで問題なのが配信用のURLはhttp://(localhost or ドメイン):8888
なのですがiphoneアプリのLiveCamsなのでapacheで公開しているwebページを介さずにドメインとポート番号を指定し、直接ライブカメラにアクセスすること
でパスワード認証することなしに、ライブ映像を観ることができてしまいます。いろいろ調べてみたのですが、motionの設定で管理用ページに接続するポート8080に
対するパスワード認証は設定できるようですが、http://(localhost or ドメイン):8888や8888ポート自体にパスワードを設定することはできないみたいです。
なにか良い方法はないでしょうか?よろしくお願いします。
オフライン
私はこのMotionというのは使ったことがないので詳しくはないのですが、
設定ファイルの netcam_userpass という項目で設定することができるのではないのでしょうか。(control_authentication のほうではなく)
http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigOptionNetcamUserpass
また、 webcam_localhost という項目もあるようですし。
http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigOptionWebcamLocalhost
オフライン
返信ありがとうございます。
>設定ファイルの netcam_userpass という項目
私もはじめここが関係しているのでは思ったのですがどうやらmotionが別ネットワークカメラにアクセスするときに接続先のカメラに対して
アクセス認証が必要な場合に設定するみたいです。
話は変わりますが、motionでは実現不可能と思い他のソフトを探すことにしました。するとMJPG-streamerと言うものを使ってみました。
結果なんと、上記でやりたかったとおりapacheを通してではなく直接webカメラストリーミングにアクセスしてもパスワード認証を掛けること
ができました。ここまではよかったのですがiPhoneのlivecamsというアプリを使ってライブ映像を観た場合、MJPG-streamerで認証設定を
していない場合はlivecams側でライブ映像を観ることができます。認証設定をした場合はlivecams側で認証情報を入力してもライブ映像が
観られません。どうやらlivecamsの認証機能はwebカメラ自体に対して認証設定がされている場合にのみ有効のようですね。
オフライン
そもそもどういうシステム構成になっているのかわからないのですが、
ポート80かなにかでBasic認証なりにアクセスして、Apacheウェブサーバを通してMotionが保存したデータを間接的に読み出しているのでしょうか。
だとすれば、Motion自体は localhost からの接続のみを許容するように設定すればいいと思うのですが。
また、発想を切り替えて、
Ubuntuで、 TCP Wrapper(/etc/hosts.deny など)や、ip tables (あるいはそれを利用するufwなど)で、当該ポートを遮断すればいいのではないでしょうか。
オフライン
説明不足ですみません。流れとしては
motionを使って自宅外から家を監視したい
↓
映像の配信はapacheを使いjavaアプレットを埋め込んだページを公開することにより行う。
このページの説明にあるような方法です。
http://www.bird-soft.net/mt/2009/06/linuxwebmotion_1.html
↓
他の人に観られてもまずいので、公開ページへのアクセスはダイジェスト認証により行う
↓
どうせならiPhoneからも観れるようにしたいので、livecamsというアプリを使うことにした。
このアプリでは、ドメインとポート番号を指定することにより先ほど作成した公開ページにアクセスすることなしに
自宅の映像を観ることができる。つまり、ダイジェスト認証は意味なし。
↓
motionでは配信ポート8081自体に認証設定をすつことはできないので代わりにMJPG-streamerというソフトを使うことにした。
オフライン
無事解決しました。
先ほどURL自体にユーザー名とパスワードを持たせることはできないかと思い検索をかけた結果なんと
http://user:pass@domain/でできることを知り、アプリの設定でIP/HOSTをuser:pass@domain:port
PORTをportにすることにより接続できるようになりました。
お力添えどうもありがとうございました。
オフライン
あっという間に、
・motion でストリーミングサーバに認証をかけられないか
↓
・LiveCamsで認証付きサーバにアクセスする方法
に話が替わってしまったのでなんですが、
調べてみたところ、motion の、 Git で、または SVN として配布されている最新版では、認証機能があるようです。
http://sourceforge.net/mailarchive/message.php?msg_id=28312511
http://www.lavrsen.dk/svn/motion/trunk/CHANGELOG
* Add authentication methods 'Basic Authentication' and 'Digest Authentication'
to the "Live Stream Server". (Michael Finsterbusch)
http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionStreamAuthPatch
現時点ではまだUbuntuのリポジトリには入っていないようなので、もしインストールするならば手作業になるでしょうが、可能なはずです。
オフライン