ソロベイカーセットアップによるセキュリティ
2 回答
- 投票
-
- 2019-01-30
署名者のファイアウォールは、IPIがホワイトリストに登録されているノードVPSから署名者ポートへの接続のみを許可します.このため、署名者認証を設定する必要はないと感じました.
これが私が抱える主なセキュリティ上の懸念事項です.一般に、セットアップはかなり安全ですが、主なリスクは次のとおりです.
- 署名者には認証がないため、ベーキングシステムにログインできる人は誰でも、債券/預金の残高移行など、リモート署名者と何らかの方法でメッセージに署名できます.
- VPSプロバイダーの多くはサイドチャネル攻撃から適切に保護されていないため、署名者の秘密鍵もVPSで実行されるリスクがあり、VPSプロバイダーまたは別の顧客がメモリの内容を表示できる可能性があります. VMの秘密鍵を公開します.
低コストの可能性があるもう1つの安全な方法:
- 自宅で実行できる小さなLinuxサーバーを入手します.これは、2GB以上のメモリと、ブロックチェーン用の十分なディスク容量(現在、2019年1月の時点で73GB)があれば、使用済みのPCである可能性があります.
- 元帳を使用して秘密鍵を保存します.
- 自宅のインターネット接続を使用して、ベイカーを
--private-mode
でTFブートノードに接続します.
The the signer's firewall only allows connections to the signer port from the node VPS who's IP I whitelisted. Because of this, I didn't feel it was necessary to setup signer authentication.
This is the main security concern I would have. In general, your setup is fairly secure, however, the main risks are:
- Because the signer has no authentication, anyone that can login to your baking system somehow can sign messages with the remote signer, including balance transfer of your bond/deposit.
- The private key on your signer could also be at risk running on a VPS, as many of the VPS providers don't properly protect against side-channel attacks, which could allow the VPS provider or another customer to view the memory contents of your VM and expose the private key.
Another secure method that might be low cost:
- Obtain a small Linux server that you can run at home. This could be a used PC as long as you have 2GB of memory or more and enough disk space for the blockchain (currently 73GB as of January 2019).
- Use a Ledger to store your private keys.
- Have the baker connect in
--private-mode
to the TF boot nodes as you are already doing, using your home internet connection.
-
ありがとう!ああ、そうそう、認証を設定する必要があります.そして、秘密鍵については、鍵のパスワードを入力すると、暗号化されずにメモリに保存されます. 小さなLinuxサーバーについては、私のIPはDHCPを介して提供されており、インターネットプロバイダーが原因で何らかの理由で頻繁に変更されます.このIPの変更は、自分のノードに接続している他のノード(TFノード)にとって問題ではありませんか?Thanks! Ah, ok yeah I should setup authentication. And right about the private key, after I enter the password for the key it will live in memory unencrypted. About the small Linux server, my IP is provided via DHCP and changes often for whatever reason due to my internet provider. This changing IP isn't a problem for other nodes (the TF nodes) contacting my node?
- 1
- 2019-01-30
- lostdorje
-
`--private-mode`を使用している場合、接続はすべてアウトバウンドであるため(ノードは予期しないインバウンド接続をブロックします)、動的IPアドレスを使用しても問題はありません.If you're using `--private-mode` your connections are all outbound anyway (your node will block any unexpected inbound connections) so having a dynamic IP address won't be a problem.
- 1
- 2019-01-30
- Luke Youngblood
-
- 2019-01-30
署名者のファイアウォールは、IPIがホワイトリストに登録されているノードVPSから署名者ポートへの接続のみを許可します.このため、署名者認証を設定する必要はないと感じました.
これを裏返します.署名者へのすべての着信接続をブロックし、代わりに署名者をTFに接続させます.そうすれば、悪意のあるノードがIPハイジャックなどの攻撃を通じて署名者に接続しようとすることを心配する必要がありません.
The the signer's firewall only allows connections to the signer port from the node VPS who's IP I whitelisted. Because of this, I didn't feel it was necessary to setup signer authentication.
I would flip this. Block all incoming connections to the signer and instead have the signer connect to the TF. That way you don't have to worry about a malicious node trying to connect to your signer through attacks such as IP hijacking.
-
私はこれを理解しているかどうかわかりません.署名者は、署名の要求を受け入れる必要があります.署名者自体は何にも接続せず、署名要求にのみ応答します.I'm not sure I understand this. The signer needs to accept requests to sign. The signer itself doesn't connect to anything, it only responds to signing requests.
- 3
- 2019-01-31
- lostdorje
-
これは接続レベルです.署名者はリクエストを発行する必要があります.これは、ホームルーターなどのNATの背後にある可能性があることを意味し、外部から署名者にアクセスできるようにするためにポートを開く必要はありません. これは、署名要求の発行方法には影響しません.TCP接続を開始するユーザーにのみ影響します.This is on the connection level. The signer should issue the request. It means that it can potentially be behind a NAT, such as a home router, and you don't need to open any port to make the signer accessible from the outside world. This doesn't affect how signing requests are issued. It only affects who initiates the TCP connection.
- 1
- 2019-02-01
- adrian
多くの人がベーキング用のtezosセットアップについて言及しているのを見てきました.一般的な考え方は、地理的に分散している可能性のある少数のFEノードを実行し、FEノードのみに接続するプライベートノードを用意することです.また、可能であれば、プライベートノードはベイク/署名操作に元帳を使用します.
そのようなシステムは私にとって経済的に実行不可能です.私はまた、ホームシステムをセットアップするだけでは不十分なほど巡回しています.そこで、セットアップのセキュリティに関する一般的な考えについて質問したいと思いました.
VPSで単一のノードを実行します.プライベートモードで実行され、そのピアはTFピアのみです.ノードは、プライベートネットワークを介して別のVPSで実行されている署名者と通信します.署名者のファイアウォールは、私が選択した署名者ポートを除いて完全にブロックされており、sshはプライベートネットワークの一部でもあるトンネルマシンを介してのみ利用できます.
署名者のファイアウォールは、IPIがホワイトリストに登録されているノードVPSから署名者ポートへの接続のみを許可します.このため、署名者認証を設定する必要はないと感じました.
署名者が私の代理人の住所に署名し、代理人の住所には、estimated-rights.py スクリプト.
残りのテジーは、元帳に保存されているアカウントキーを使用して、私の代理人に委任する他の場所で作成されたアカウントに存在します.
いくつかの質問:
ボーナスポイント:イーサリアムの場合と同様に、AWSブロックチェーンテンプレートが機能していることを誰かが知っていますか?参照:の使用イーサリアム用のAWSブロックチェーンテンプレート
(この質問には、私にとって経済的に実行不可能な正確な設定の図があります.私はただの一人のパン屋だと)