0

次の行で、RESTHeart と HTTPie を使用して MongoDB に接続しました。

http PUT 127.0.0.1:8080/myfirstdb desc='this is my first db created with restheart' -a username:password

しかし、RESTHeart のユーザー名とパスワードをコマンド内で直接使用するのは安全ではないと思います。コマンドで REST ユーザー名とパスワードを入力せずに、この要求を安全に行うにはどうすればよいですか?

4

2 に答える 2

1

繰り返しますが、RestHeart のドキュメントを引用します。

RESTHeart は基本認証を使用します。ユーザー名とパスワードは、要求ごとにネット経由で送信されます。http リスナーの使用は安全ではありません。ユーザーの資格情報が中間者攻撃によって傍受される可能性があります。

http://restheart.org/docs/configuration.html

基本認証 (ユーザー名:パスワード) のみがサポートされている認証モードのようです。RestHeart では、パスワードが平文で傍受されないように、http sリスナーを設定することをお勧めします。

于 2015-08-12T07:05:58.850 に答える
1

コマンドでパスワードを省略した場合、httpie はそれを要求します。

http PUT 127.0.0.1:8080/myfirstdb desc='this is my first db created with restheart' -a username

認証に成功した場合、RESTHeart は認証トークンを返します。これを以降の呼び出しの一時パスワードとして使用できます (設定ファイルで設定できる有効期限があります)。

応答ヘッダーの例を次に示します。

 Auth-Token: 6a81d622-5e24-4d9e-adc0-e3f7f2d93ac7
 Auth-Token-Location: /_authtokens/user@si.com
 Auth-Token-Valid-Until: 2015-04-16T13:28:10.749Z 

そうすることができます(基本認証パスワードとして使用される認証トークンに注意してください):

http GET 127.0.0.1:8080/myfirstdb restheart' -a username:6a81d622-5e24-4d9e-adc0-e3f7f2d93ac7

また、実稼働環境では https を使用する必要があることに注意してください。

詳細については、RESTHeart ドキュメントのセキュリティ セクションを参照してください https://softinstigate.atlassian.net/wiki/x/W4CM

于 2015-09-09T11:11:21.680 に答える