13

通常、大規模なネットワークでは、コンピューターは認証されたプロキシの背後で動作する必要があります。外部への接続には、ユーザーがメールやワークステーションなどにログインするために使用するパスワードであるユーザー名/パスワードが必要です。

これは、ネットワークパスワードをファイルに入れる必要があることを意味し、apt.conf通常はhttp_proxy, ftp_proxyhttps_proxy~/.profile

これで設定できることはわかってapt.confいますがchmod 600(Ubuntu / Debianではデフォルトでは設定されていません!)、私たちのシステムにはルート権限が必要な人がいます。

また、root アクセス権を持つ人からパスワードを保護することは技術的に不可能であることも認識していますが、偶発的な発見を防ぐためにパスワードを隠す方法があるかどうか疑問に思っていました. Windows はユーザーを管理者として操作しますが、何らかの方法でネットワーク パスワードを保存します (おそらく何らかの方法でレジストリの奥深くに保存されます)。

先日、システム間で構成ファイルを比較しているときに、この方法で他の誰かのパスワードをまったく偶然発見したので、私は尋ねるだけです。

@monjardin - 残念ながら、このネットワークでは公開鍵認証は代替手段ではありません。さらに、ほとんどのコマンドライン ツールでサポートされているとは思えません。

@Neall-他のユーザーがWebにアクセスしてもかまいません。彼らは私の資格情報を使用してWebにアクセスできます。プレーンテキストでパスワードに遭遇したくないだけです。

4

9 に答える 9

8

次のアプローチでは、プロキシ パスワードをプレーン テキストで保存する必要はありません。http/https/ftp アクセスが必要になったらすぐに、インタラクティブにパスワードを入力するだけです。

  • openssl を使用して、プレーン テキストのプロキシ パスワードをファイルに暗号化します。たとえば、AES256 暗号化を使用します。

openssl enc -aes-256-cbc -in pw.txt -out pw.bin

  • エンコードされたファイルを保護するために (別の) パスワードを使用する
  • プレーンテキスト pw.txt を削除
  • ~/.alias などにエイリアスを作成して、http_proxy/https_proxy/ftp_proxy 環境変数を設定します ($USER/proxy/$PORT に適切な値を設定します)。

alias myproxy='PW=`openssl aes-256-cbc -d -in pw.bin`; PROXY="http://$USER:$PW@proxy:$PORT"; http_proxy=$PROXY をエクスポートします。https_proxy=$PROXY をエクスポートします。export ftp_proxy=$PROXY'

  • このファイルを通常のシェル環境にソースする必要があります (一部のシステムでは、これは自動的に行われます)。
  • 「myproxy」と入力し、ファイルの暗号化に使用した openssl パスワードを入力します
  • 終わり。

注:パスワードは、シェル セッションの間、ユーザー環境内で使用可能 (および読み取り可能) です。使用後に環境からクリーンアップする場合は、別のエイリアスを使用できます。

エイリアス clearproxy='export http_proxy=; https_proxy= をエクスポートします。export ftp_proxy='

于 2013-01-08T13:18:32.083 に答える
3

パスワードを隠す方法はたくさんあります。認証情報を rot13 形式または BASE64 で保存するか、CVS が使用するのと同じパスワード スクランブリング アルゴリズムを使用することができます。ただし、本当の秘訣は、アプリケーションにスクランブリング アルゴリズムを認識させることです。

環境変数については、~/.profileエンコードして保存し、変数を設定する前にデコードできます。次に例を示します。

encodedcreds="sbbone:cnffjbeq"
creds=`echo "$encodedcreds" | tr n-za-mN-ZA-M a-zA-Z`

それは に設定さcredsれ、その後などfoobar:passwordに埋め込むことができます。http_proxy

あなたはこれを知っていると思いますが、繰り返しますが、これはセキュリティを追加しません。別のユーザーのパスワードを不注意に見られるのを防ぐだけです。

于 2008-08-25T21:06:27.540 に答える
2

Gnome Keyringと統合するアプリケーションを優先します。もう 1 つの可能性は、外部マシンへの SSH トンネルを使用し、それを介してアプリを実行することです。シングルサービング転送-Dではなく、ローカル SOCKS プロキシ インターフェイスを作成するオプションを見てみましょう。-L

于 2008-08-21T14:57:38.333 に答える
1

使用している特定のツールで難読化された形式が許可されていないか、難読化された形式からプレーン オンデマンドに移行するための何らかのワークフローを作成できない限り、おそらくうまくいきません。

このようなケースで私が目にしたことの 1 つは、特定の IP からのみプロキシにアクセスできる、サーバーごと、ユーザーごと、またはサーバーごと/ユーザーごとの専用資格情報を作成することです。コアの難読化の問題は解決しませんが、価値がほとんどないため、誰かがパスワードを見た場合の影響を軽減します.

後者のオプションに関しては、このようなものに使用する職場での「逆暗号」パスワード エンコーディングを考え出しました。pw をデコードするために必要なすべてのデータがエンコードされた文字列に格納されるため、これは難読化にすぎませんが、プレーン テキストのパスワードが誤って表示されるのを防ぐことができます。したがって、たとえば、上記のパスワードのいずれかをこの形式で保存し、apt.conf を動的に構築し、実際の apt を呼び出し、終了時に apt.conf を削除する apt のラッパーを作成することができます。しばらくの間、pw はプレーンテキストのままになりますが、ウィンドウが最小化されます。

于 2008-08-21T15:13:33.817 に答える
0

公開鍵認証はあなたにとって有効な代替手段ですか?

于 2008-08-20T22:31:32.493 に答える
0

ローカル プロキシを作成し、それを介してこれらのツールをポイントし、ローカル プロキシにインタラクティブにユーザーに外部プロキシ パスワードを要求させ、それを適用することができると思います。オプションで、これを難読化された内部ストレージに数分間記憶することもできます。

明らかな攻撃ベクトルは、特権ユーザーがこのローカル プロキシを変更して、入力したパスワードを使用して別のことを実行することです (パスワードを要求する電子メール クライアントやウィンドウ システム自体など、他のものと同じように)。不注意による閲覧を防ぎます。

于 2010-11-18T21:01:13.237 に答える
0

これらの 3 つのすべてが当てはまる限り、あなたは運が悪いです。

  1. サーバーには Web アクセスが必要です
  2. ユーザーはサーバーを完全に制御する必要があります (ルート)
  3. ユーザーにサーバーの Web アクセスを許可したくない

#2 または #3 を削除できない場合、唯一の選択肢は #1 を削除することです。すべてのソフトウェア更新をホストする内部サーバーをセットアップします。その 1 つを他のユーザーからロックダウンし、他のサーバーに Web アクセスを許可しないでください。

あなたがやろうとする他のことは、ただ自分をだますだけです。

于 2008-08-21T12:26:08.617 に答える
0

rpm、apt、またはその他の同様の更新 (ウイルスデータベース、Windows など) でプロキシパスワードを要求しないことで、この問題を解決しました。これは、プロキシに追加する既知のリポジトリの小さなホワイトリストです。

于 2008-09-17T14:57:09.513 に答える