10

これは明らかな質問のように思えますが、私は高低を調べましたが、答えが見つかりません。状況は次のとおりです。

  1. 私は公共のインターネット上で Jenkins 継続的統合サーバーを実行しており、(信頼できる) ボランティアが Windows と Linux マシンの混合でスレーブを実行しています
  2. JNLP (Web start) doodad を使用してスレーブを起動し、ファイアウォールの問題と ssh のセットアップ/デバッグを回避しています。
  3. サーバーはマトリックスベースのセキュリティでセットアップされています

問題は、セキュリティが JNLP でどのように機能するかについてまったく情報が見つからないことです。匿名の読み取り許可が付与されている場合、世界中の誰でも slave.jar をダウンロードして、サーバー上の (推測しやすい) URL で jnlp ファイルにアクセスし、スレーブとして接続できます。

すべての匿名アクセスを取り消すと、jnlp ファイルはブロックされますが、slave.jar には引き続きアクセスできることがわかりました。

1 つの長い 16 進数を除いて、jnlp ファイルには特に安全なものはないようです。このセットアップは安全ですか、それとも他に何かしなければならないことがありますか?

訪問者がログインせずに最近のビルドを表示できるとよいのですが、ここでも匿名に読み取り権限を付与すると、誰でも jnlp ファイルにアクセスできるようになります。

4

2 に答える 2

3

匿名の読み取り許可が付与されている場合、世界中の誰でも slave.jar をダウンロードして、サーバー上の (推測しやすい) URL で jnlp ファイルにアクセスし、スレーブとして接続できます。

これは、実際には Jenkins の重大なセキュリティ上の脆弱性であることが判明しました。

https://wiki.jenkins-ci.org/display/SECURITY/Jenkins+Security+Advisory+2013-01-04

私の質問への回答として、すべての匿名読み取りアクセスを無効にすることが最善の方法のようです。

于 2013-01-09T22:18:54.110 に答える