2017-07-05 13 views
0

私はTornadofxアプリケーションを作成し、運用環境に配備しようとしていました。このために私は2つのオプションを検討していた:JavaのウェブはJavafx - FxlauncherとJava Web Startを使用してアプリケーションを配備する際のセキュリティ上の懸念

Fxlauncherを開始

  1. Fxlauncher

  2. のみGradleの設定やコマンドを使用して、展開がとても簡単に思えました。
    しかし、私の主な関心事は、十分に安全かどうかです。
    たとえば、Javaウェブスタートでは、私はドキュメンテーションを読ん及びこれを見つけた:Java Web Startの Java Web Startのに使用される

    署名JARファイルを強制セキュリティサンドボックスは。デフォルトでは、アプリケーションクライアントを含むすべてのアプリケーションに最低限の権限しか与えられません。 Java Web Startアプリケーションは簡単にダウンロードできるため、Java Web Startはネットワーク経由でアクセス可能な潜在的な有害なプログラムから保護します。アプリケーションでサンドボックスが許可するよりも高い特権レベルが必要な場合、特権を必要とするコードは署名されたJARファイル内になければなりません。 Java Web Startは、署名されたJARファイルをダウンロードすると、JARに署名するために使用された証明書に関する情報を表示し、署名されたコードを信頼するかどうかを尋ねます。同意すると、コードは昇格されたアクセス許可を受け取り、実行されます。署名済みコードを拒否すると、Java Web Startはダウンロードしたアプリケーションを開始しません。

    基本的にjarの署名は、Java Web StartとJNLPを使用する際の重要な懸念事項の1つです。しかし、Fxlauncherでは、そうするための要件や標準を見つけることができませんでした。
    Fxlauncherはこのようなセキュリティ問題をどのように処理しますか?
    現在、fxlauncherを使用して、クライアントのマシンからファイルを読み書きできます。瓶の署名なしでこれはいいですか?

    参考までに、私は実際にJava Web Startを使用していませんでしたが、Oracleのガイドラインを読んでいました。
    Refrences:

    Signing JAR Files Used in Java Web Start

    Understanding Signing and Verification

+0

通常、悪意のあるアプリを開発していないため、この種の問題は開発者としての懸念事項ではありません。これは、アプリのユーザーの関心事です。具体的には、ユーザーはJavaアプリケーションをWeb Start経由で実行できるようにするかどうかを選択しますか?もしそうなら、どのアプリケーションが信頼していますか?悪意のあるアプリケーションを悪用するか、社会的なエンジニアリングのいずれかをして、誰かを悪用することはないと確信していますか?もしそれがすべてOKであれば、彼らはあなたが信頼するならあなたのアプリを走らせることでおそらくOKです。 – jewelsea

+0

「あなたは十分に安全ですか?」と尋ねると、あなたはあなたが心配していることは何ですか?セキュリティの許容レベルに違反し、害を及ぼすような攻撃経路や悪意のある行為が発生する可能性はありますか?その害の費用はどれくらいで、それを軽減するためにどのような努力を費やしたいですか?このような質問をすることで、アプリの適切なセキュリティ戦略を決定し、出てきた質問と回答を提供することで、このようなフォーラムやhttps://security.stackexchange.comでアプリのセキュリティに関するアドバイスを得ることができます。 – jewelsea

+0

@ jewelseaパブリックサーバーにアプリをデプロイすると言うシナリオが心配です。ハッカーが自分のアプリjarを把握して、それを自分のものに置き換えると、クライアントがアプリケーションをランは私が開発したものです。だからこそ、私たちはハッカーが持っていない証明書で瓶に署名します。 – mercy123

答えて

2

FXLauncherが最終的にjavapackagerユーティリティを使用してインストール可能なネイティブアプリケーションを作成します。あなたが望むならば、セキュリティ上の懸念がJVMからOSに1レベル上げられたと言えるかもしれません。したがって、他のネイティブアプリケーションと同じ方法で、FXLauncherでパッケージ化されたアプリケーションを扱う必要があります。

現在、Gradleプラグインはアプリケーションバンドルへの署名機能を公開していませんが、プラグインがキャッチアップするまで別途に行うことができます。アプリケーションに署名することで、エンド・ユーザーは、あなたがあなたの人物であることを自信を持って認識し、セキュリティ警告を代わりに自分の身元を示すダイアログに置き換えることで、インストール・エクスペリエンスを向上させることができます。

ボトムライン:ネイティブアプリケーションをインストールすると、基本的にはある程度開発者が慈悲を受けるようになります。これは、FXLauncherパッケージアプリケーションの場合と同じです。

+0

迅速な対応に感謝します。 jarファイルを公開する方法ではなく、ネイティブインストーラで公開する方法は?その場合、jar署名機能を提供するJNLPと連携してFxlauncherを使用することは可能ですか?はいの場合は、実装方法の概要を教えてください。 – mercy123

+0

いいえ、それは現在可能ではありませんが、私は2.0の再起動のためにそれを調べます:) –

1

JNLP/WebStartコマンドを実行して、署名付きアプリケーションを起動できます。同じ証明書を持つライブラリに署名するか、別の.jnlpファイルにコードを書き出す必要があります。

限りネイティブインストールの経験として、ここに署名し、サンドボックスWebStartのアプリを取る:WebStartのプラグインは、あなたが直接、もはやアプリケーションをプルアップすることはできませんので

https://www.bekwam.net/sortme/sortme.jnlp 

を、あなたはネイティブをキャプチャすることができますこのようなことをして経験をしています。

$ alias sortme='javaws https://www.bekwam.net/sortme/sortme.jnlp' 

これにより、コマンドラインから「sortme」と入力してアプリケーションを実行できます。さらに進めたい場合は、sortme.desktopというファイルを追加することができます(Ubuntu用)。これにより、アイコンをダブルクリックするか、ランチャーからアクセスすることができます。

[Desktop Entry] 
Version=1.0 
Type=Application 
Name=Sort Me 
Exec=/opt/jdk1.8.0_141/bin/javaws https://www.bekwam.net/sortme/sortme.jnlp 
StartupNotify=false 
OnlyShowIn=Unity; 
X-BAMFGenerated=true 

この展開では、超高速のダウンロードサーバーから自分のJNLPファイルとJARファイルを提供するために、コンテンツ配信ネットワーク(CDN)を活用することができます。インストールスクリプトに "last mile"を指定します。実行可能な場合は、署名付きアプリとサンドボックス版のすべての保証を受けることになります。

+0

こんにちは。だから私の質問は、Fxlauncherが何らかの種類の署名用のjarセキュリティを提供しているかどうかだった。あなたの答えは、javawsの使い方を説明しています。基本的には、Fxlauncherのやり方ではなく、私のアプリを展開するJava Web Startの方法をサポートしています。それは...ですか? – mercy123

関連する問題