2011-05-23 13 views
0

これがここに属しているのか、おそらくスーパーユーザーか何かには分かりません。私はリモートで自分のサーバにログインし、たくさんのタスクを実行できるようになるLinuxベースのサーバ/サービスを作成したいと思っています。クライアントは、サーバへのログインを介して認証が必要なモバイルアプリケーションになりますタスクを実行します。リモート管理のためにサーバー/サービスを作成したい、助言が必要

私は、作業のサーバ側でどこから始めるべきかわかりませんし、それを探しているはずのメカニズムについての情報や提案をいただければ幸いです。

これからは非常に基本的なものから始めて、私が認証できるようにしておきたいと思います。そして、そのボタンをクリックすると、タスクがサーバ上で実行されたかどうかが表示されます。

そこで実行されているWebサーバー、JSPなどで、またはネイティブアプリケーションをコンパイルすると、これを行う必要がありますか?

別の方法よりも1つの方法をお勧めする場合は、私が解決策を選択するのに役立ち、それに続いて「正しい」回答を得ることができる理由が好きです。

ありがとう、私は正しい方向に私にスタートを与えるために提供することができる任意のヘルプに感謝します。

編集:私はWebサービスを使用する必要があるので、私はどの技術が推奨されるかを質問するように調整します(そしてネイティブコマンドを実行するWebサービスを作成するチュートリアルが好ましい)。私はJava、C、C#、C++に精通しており、Linuxサーバー上で動作していますが、まだWebサービスに関する経験はほとんどありません。

答えて

0

これは任意の数の方法で行うことができます。このようなことを書いていたら、おそらくAPIを書いているので、クライアント側で簡単に実装できます。実行する必要のあるツールを実行する権限を持っている限り、サーバーの内容は重要ではありません。 APIは、次のようなURLを持つHTTPベースのAPIになります。

https://server/management?userId=x&apiKey=y&command=cmd&param1=p1&param2=p2 

これは、クライアントとサーバーの両方で簡単に実装できます。サーバ上では、サポートされているパラメータの配列を持つことができ、userIdapiKeyが有効で、必要な権限があればコマンドを実行するだけです。 apiKeyが何らかの形で侵害された場合は、userIdのもう1つを作成するだけで、侵害されたapiKeyが自動的に無効になります。

注:セキュリティ上の理由から、すべてがHTTPSを経由することが重要です(あなたのuserIdapiKeyで詮索したくない人)。

+0

ありがとう、私はさらに明確にすべきでしたが、私はクライアント側のアプリケーションだけを開発して配布するので、APIはありません。これはAPIキーの必要性を否定しますか?私の唯一の関心事は、このようなパラメータを持つ(抽象)URLの投稿のセキュリティです。あなたの意見/知識は何ですか? – Hamid

+0

通信がSSL(HTTPS)を送信する限り、正常に動作します。 POSTリクエストをHTTPSサーバーに(必要なだけのデータを格納できるように)作成します(データをスヌープすることはできません)。 2次予防策として、静的IPがある場合は、特定のIPからの要求のみをサーバーに指定することができます。 – rid

+0

唯一のユーザーと管理者のユーザーになる場合は、ユーザーIDまたはAPIキーは必要ありません。これらの要素がなければ、同じことをすることができます。 – rid

関連する問題