0

strongbox gemを介して公開鍵暗号化で暗号化されたデータに対して、長い復号化プロセスを定期的に実行します。このプロセスでは、一部のメッセージを復号化し、安全ではなくなったデータを要求元に送信します。

場合によっては、復号化プロセスに十分な時間がかかり、実際には非同期で実行する必要があります。仕事をresque schedulerに渡すことでそれを処理したいと思います。

復号化パスワードは Web リクエストからのものです - パスワードを安全に resque に渡すにはどうすればよいですか? (resque と web リクエストは別の AWS インスタンスにあります)。resque ログにアクセスできる人がパスワードにアクセスできるようにしたくありません。

4

1 に答える 1

0

フィルタ パラメータ:

ログからパラメーター/パスワードを確実にフィルター処理できるため、ResqueロガーまたはRailsロガーを介してログに記録するたびに、それらのパラメーターをフィルターで除外してみてください

基本的なコード スニペットが次のようになると想像してください。

def filter
  @filter ||= ActionDispatch::Http::ParameterFilter.new(Rails.application.config.filter_parameters)
end

def filter_parameter(params)
  filter.filter params
end

ロガーを呼び出すたびに、パラメーターを単純にフィルターします

[Rails | Resque].logger.info (filter_parameter(my_parameter))

これにより、パスワードを知っているResque人やロガーにアクセスできる人の問題が解決しますRails

安全な Redis 接続:

これはログ内のパラメーターをフィルター処理する可能性がありますが、Resque/redis には機密データが含まれています。

redis内のパスワードのスニッフィングを防ぐためにあなたがする最大のことはredis、パスワードで接続することだと思います。

あなたができる方法は、パスワードを設定することですredis.conf

redis.conf 内でこの行を探します (コメントを外してパスワードを設定します)

#requirepass [set your redis password)

次に、これをResque使用して接続しpasswordます。これにより、redis パスワードを認識しているクライアントのみが接続を許可されます。

Resque-web :

どうやらresque-web、データを使用している場合でも UI で利用できる可能性がある場合は、Basic Auth またはニーズに合った認証メカニズムを使用し、必要に応じて正常に認証されたもののみを許可することをお勧めします。

これは私が思いついたアプローチであり、今のところ他のアプローチはありません:)

この助けを願っています

于 2013-09-10T16:16:44.427 に答える