Ist es sicher, einen Paritätsknoten öffentlich zu hosten?

Im normalen Anwendungsfall läuft Parity auf localhost. Ich baue jedoch eine Demo-Website, die Web3JS verwendet, um eine Verbindung zu einem öffentlichen Paritätsknoten herzustellen, der auf Port 8545 ausgeführt wird.

Ich serviere öffentlich eine Node/VueJS-Site mit nginx. Das clientseitige Web3-Javascript betrachtet localhost:8545, was impliziert, dass die Benutzer Parity auf ihrem lokalen Computer ausführen müssen, damit die Seite funktioniert.

Es ist für Benutzer mühsam, Parität zu installieren und eine Konfigurationsdatei einzurichten, nur um diese Webseite anzuzeigen.

Ein Gedanke, den ich hatte, war, einen öffentlichen Paritätsknoten auf Port 8545 zu betreiben, um diese zusätzlichen Schritte zu umgehen. Allerdings mache ich mir Sorgen um die Sicherheit.

Ist dies sicher, und was sind die empfohlenen Best Practices, um dies zu erreichen?

Sie können auch Ihre Demo-Site und den JSON-RPC-Endpunkt einfach mit einem Passwort schützen tokenmarket.net/blog/…
Der Kennwortschutz Ihres Endpunkts gibt Ihnen Widerstandsfähigkeit gegen Denial-of-Service- und solche Angriffe, die andernfalls öffentliche API-Endpunkte treffen würden.
Auch die Nginx-Proxy-Anweisungen im obigen Link zeigen, wie Sie JSON-RPC in HTTPS-Port 443 ausführen können.

Antworten (1)

Lassen Sie mich Sie durch die Optionen führen.

  • Ich gehe davon aus, dass Sie den RPC nur für Ihre Benutzer benötigen, also führen Sie entweder den Paritätsmodus aus --public-node, der die Kontospeicherung und Transaktionssignierung auf Ihrem Server deaktiviert, oder deaktivieren Sie die Brieftasche mit --no-ui.
  • Wenn Sie wirklich nur RPC bedienen möchten, können Sie nicht nur den Websocket deaktivieren, --no-uisondern auch den Websocket mit --no-wsund den Dapps-Server mit --no-dapps.
  • Um Ihren RPC der Öffentlichkeit zugänglich zu machen, müssen Sie Ihren --jsonrpc-interfaceauf setzen <your public ip>und zulassen --jsonrpc-hosts all.
  • Und schließlich zu Ihrer anfänglichen Frage: Um nur sichere APIs für Ihre Benutzer verfügbar zu machen, können Sie --jsonrpc-apis safe.

Also sieht es ungefähr so ​​aus:

parity --no-ui --no-ws --no-dapps --jsonrpc-interface 133.3.3.37 --jsonrpc-hosts all --jsonrpc-apis safe

Bitte teilen Sie mir mit, ob Sie danach gesucht haben.

Offenlegung: Ich arbeite für Parity.

Die --no-wsOption gibt mir einen unbekannten Flag-Fehler. Ich sehe es auch nicht, wenn ich es tue --help. Ich bekomme unbekannte API mit der safeOption. Alle anderen Optionen funktionieren super.
Okay, tut mir leid, beides ist in 1.7 verfügbar, das noch nicht veröffentlicht wurde. Wenn Sie diese Funktion jetzt möchten, können Sie den neuesten Master aus der Quelle erstellen, der Ihnen diese Funktionen ermöglicht. Die Version 1.7.0 wird (wahrscheinlich) gegen Ende April erscheinen.