user:password @ hostを使用せずにxmlrpcサーバー(P2Pネットワークのノードで実行される)に認証を追加しようとしています。これにより、すべての攻撃者にパスワードが明らかになります。認証は、基本的にプライベートネットワークを作成し、許可されていないユーザーがそれにアクセスするのを防ぐためのものです。
これに対する私の解決策は、これに非常によく似たチャレンジレスポンスシステムを作成することでしたが、これをxmlrpcサーバーコードに追加する方法がわかりません。ここで同様の質問(カスタム認証が必要な場所)を見つけました。
そこで、クライアントがサーバーに接続するたびに呼び出されるモジュールを作成してみました。これは、クライアントで実行されているチャレンジレスポンスサーバーに接続し、クライアントが正しく応答した場合はTrueを返します。唯一の問題は、モジュールを1回しか呼び出せなかったため、reactorを再起動できないというエラーが発生したことです。では、「check()」関数が呼び出されるたびに接続してこれを実行するクラスを作成する方法はありますか?
最も簡単なことはSSLを使用して接続することでしょうか?それはパスワードを保護しますか?ただし、すべてのノードに対してSSL証明書を生成する必要がないようにしようとしているため、このソリューションは最適ではありません。