人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MongoHQを使い始めました。ユーザーとパスワードを接続時に指定しますが、これはSSLなどで認証・暗号化されているのでしょうか?されているかどうかがわかるURLを教えて下さい。

●質問者: kabisuke
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● うぃんど
●50ポイント

URLを見ると判りますよ。

httpではなくhttps(HTTP over SSL/TLS)となっていますので、
SSL/TLSを使っています。

https://mongohq.com/login


いらないとは思いますが、他の人もみるでしょうから、辞書も追加しておきます。
http://e-words.jp/w/HTTPS.html

HTTPS【HTTP over SSL/TLS】

通信プロトコルの種別などを表すURIスキームの一つで、Webのデータ転送に用いられるHTTPが、SSLやTLSで暗号化されている状態を表したもの。WebサーバとWebブラウザの間の通信が暗号化されていることを意味し、通信経路上での盗聴や第三者によるなりすましを防止する。

http://www.atmarkit.co.jp/aig/02security/https.html
http://ja.wikipedia.org/wiki/HTTPS


kabisukeさんのコメント
質問が悪くてくみません、 MongoDBの管理コンソールでなく、 MongoDBのデータなどをアプリケーションなどから操作するときの暗号化について、です。

うぃんどさんのコメント
通信を秘匿する環境は、別途用意することになりますね。 ドキュメントではVPNを例にあげてますが、社内利用のようにLAN内での話しであれば、 OSのユーザーアクセス管理レベルでアクセス拒否するなどで対応すれば楽ですね。 http://jp.docs.mongodb.org/master/tutorial/deploy-geographically-distributed-replica-set/ >> Aサイトと Bサイト (あればCサイトも)のシステム間のバーチュアルプライベートネットワークを設置して、 サイト間の全トラフィックを暗号化し、プライベートに保ちます。 <<

kabisukeさんのコメント
ありがとうございます。 やはりMongoDB自体は暗号化通信をサポートしてないのですね? 今はMongoHQなんですが、これはローカルネットワークではないから安全な通信は無理ってことですかね。

うぃんどさんのコメント
きっちりかっちり見たわけではないですが、 php用のドライバなどを見てみると接続は平文(暗号化されてない)ですね。 https://github.com/mongodb/mongo-php-driver ただ・・・クライアントから直接アクセスするのではなく、 WEBサーバーにあるrubyとかphpなどからのアクセスになるので、 顧客データのような重要なものを置かない限りは気にしすぎと言えるかもしれませんし、 心配であればデータを暗号化して保存するようにすることでも十分だと思われます。

kabisukeさんのコメント
ログイン操作そのものが秘匿化されていないと、傍受されてアカウントを乗っ取られる可能性がある(とくにMongoHQみたいな有名なサービスだと尚更危ない)ので、そこの部分が特に知りたかったのですが、MongoDBの認証プロトコルはa-kuma3さんの回答にある通りDigest認証なので、そこは大丈夫なようですね。 ただ、データそのものは平文みたいですので、少なくともアプリのユーザ用のパスワードを平文で送るような真似だけはしてはいけませんね。。。 ありがとうございました。

2 ● pretaroe
●50ポイント

MYQSLなどと基本は同じで、暗号化はされていない。

http://blog.madoro.org/mn/86
http://d.hatena.ne.jp/yamamucho/20110430/1304129571
http://support.mongohq.com/


kabisukeさんのコメント
やはり、暗号化はされないのですか。 参照URLをみても暗号化されるのかがハッキリとわからなかったのですが、 どこかに明記されてませんでしょうか。

pretaroeさんのコメント
Java 開発 2.0: クラウド・コンピューティング用の Java アプリケーション・データをセキュアにする 秘密鍵を使用した暗号化によってクラウド・データを保護する リスト 6. MongoDB での暗号化 http://www.ibm.com/developerworks/jp/java/library/j-javadev2-23/

kabisukeさんのコメント
やはりアプリケーション側での暗号化がカギのようですね。 Heroku + MongoHQのような組み合わせでアプリを作ることを考えてましたが、外部サービスを利用する以上は暗号化は多少考慮する必要がありそうです。

3 ● a-kuma3
●200ポイント ベストアンサー

http://www.mongodb.org/ のサイトに記載があります。

http://www.mongodb.org/display/DOCS/Security+and+Authentication

Security and Authentication
...
FAQ


kabisukeさんのコメント
これはまさにの回答ですね! ログインパスワードはDigest認証で暗号化されるけど、 それ以外の操作は暗号化されない、というわけですね… 少なくとも、盗聴を恐れるならアプリ側で暗号化してから送るべきという事ですね。

a-kuma3さんのコメント
先のお二方の回答と、そのコメントがあったので、探しやすかったです。 Stack Overflow にも、似たような質問がありました。 http://stackoverflow.com/questions/8803332/mongodb-database-encryption rdb 自体が暗号化の仕組みを持ってなくて、クライアント側で暗号化するときには、 クライアントプログラムの言語やライブラリに依存するかもしれない、という悩みがあります。 逆に、rdb 自体が暗号化の仕組みを持っていると、DB のダンプだと内容が分からなくて、 障害時の復旧に苦労することがある、という懸念はあるんですよね。 暗号化って、難しいです(個人の感想です)。

kabisukeさんのコメント
ありがとうございました。よくわかりました。 他に暗号化してデータを記録してしまうと検索が難しくなるという問題もありますね。 せめて、通信路だけ暗号化して保存時に平分に戻してもらえると色々問題が解決するんですけど・・・ 今後の拡張に期待、といったところでしょうか。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ