リモート RPC アクセス

7 件のメッセージ BitcoinTalk Marko, doublec, nelisky, マイケル・マーカート, サトシ・ナカモト, LZ 2010年9月27日 — 2010年10月1日
Marko 2010年9月27日 16:50 UTC 原文 ·

こんにちは、

RPC インターフェースを介して getinfo を呼び出すクライアントがある。host=localhost の場合はすべて正常に動作する。 しかし、別のホストにある Bitcoin にアクセスしようとするとできない。 Wiki を読んだところ、インターフェースは 127.0.0.1 からのリクエストのみを受け付けるとのことだ。これは今も変わらないのか? オーバーライドする設定はあるか?

なければ、各マシンにデプロイする「プロキシ」アプリを書かなければならないだろう。できれば避けたいのだが。

よろしく、 Marko

doublec 2010年9月28日 00:51 UTC 原文 ·
Markoの投稿(2010年9月27日 07:50 UTC)

wikiを読んだら、インターフェースは127.0.0.1からのリクエストしか受け付けないとあった。今もそうか? オーバーライドする設定はあるか?

まだ変わっておらず、オーバーライド設定はないと思う。ソースにハードコーディングされている。「プロキシ」アプリを書く代わりに、SSH トンネルが使える。例えば Bitcoin インスタンスが「example.com」で動いており SSH サーバーがあるなら、別のマシンからこうトンネルできる:

ssh -N example.com -L 9481:localhost:9481

これでローカルマシンのポート 9481 の RPC インターフェースが、暗号化された SSH セッション経由で Bitcoin RPC サーバーにトンネルされる。

JSON-RPC パスワードはクリアテキストで送信されるため(base64 エンコードだが実質クリアテキスト同等)、接続の暗号化が必要だ。

nelisky 2010年9月28日 00:55 UTC 原文 ·
doublecの投稿(2010年9月27日 15:51 UTC)
Markoの投稿(2010年9月27日 07:50 UTC)

Wikiを読んだところ、インターフェースは127.0.0.1からのリクエストのみを受け付けるとのことだ。これは今も変わらないのか? オーバーライドする設定はあるか?

これは今も変わらず、オーバーライドする設定はないと思う。ソースにハードコードされている。「プロキシ」アプリを書く代わりに、SSHトンネルを使える。例えば、bitcoinインスタンスが「example.com」で動作しており、そのマシンでSSHサーバーが稼働していれば、別のマシンから以下のようにトンネルできる:

ssh -N example.com -L 9481:localhost:9481

これでローカルマシンのポート9481でRPCインターフェースを使えるようになり、暗号化されたSSHセッションを通じてbitcoin RPCサーバーが稼働しているマシンにトンネルされる。

接続を暗号化したいのは、JSON-RPCパスワードが平文で送信されるからだ(実際にはbase64エンコードされているが、基本的に平文と同等だ)。

自分で Bitcoin をコンパイルできるか? 最新の SVN には localhost だけでなく他のインターフェースにバインドするオプションがある。できなければ、次のバージョン(0.3.13)にそれが含まれるはずだ。

theymos 2010年9月28日 00:58 UTC 原文 ·

SVN に -rpcallowip= スイッチがあり、指定した IP アドレスから RPC にアクセスできる。ただし、MITM 攻撃に対しては安全ではない。

Marko 2010年9月28日 13:58 UTC 原文 ·

みなさん……フィードバックありがとう

SSH の方法は素晴らしい。ただし、マシンはすべて Windows なので、すべてにインストールする必要がある。プロキシアプリを書くよりはましだけど……

数週間前の -rpcallowip スイッチに関するエントリを見た。必要なら自分でコンパイルする。とはいえ、公式リリースの方がいい。次のバージョンがいつリリースされるか知っている人はいるだろうか?

MITM 攻撃の可能性については、公開するネットワークが信頼されていない場合にのみ問題になる。それとも見落としている他の影響があるだろうか?

自分の LAN 上で使用する場合、例えばある場所に複数のサーバーがあって互いに通信する場合は安全だ。

0.3.13 RC1 が Windows 版で利用可能だ: http://www.bitcoin.org/download/bitcoin-0.3.13-rc1-win32-setup.exe

LZ 2010年10月1日 01:19 UTC 原文 ·

そして今、リリースが利用可能だ:link 😊