0

私は、当社のプラットフォームをハードウェア会社である B 社の製品に統合するソフトウェア会社である A 社で働いています。B 社の製品では、B 社のプロセスがデバイスを管理するために実行されており、そのプロセス内には、設定ページなどを提供するために使用される Web サーバーがあります。私の会社のプラットフォームは、デバイス上の別のプロセスで実行されます。

統合の一環として、プロセスからの情報を表示する Web ページを追加するように依頼されました。これは、プロセスからファイル システムの適切な場所に HTML ファイルを生成するだけで簡単に追加でき、B 社の Web サーバーが喜んでサービスを提供します。

この Web ページに、いくつかのインタラクティブな機能 (プロセスからテストをトリガーするボタン) を含む機能を追加するように依頼されました。私の問題は、Web ページのボタンがプロセス内のイベントをトリガーする方法がないことです。簡単な解決策は、Web サーバーで CGI を使用し、B 社のプロセスが POST されるたびにデータを私のプロセスに送り返すことです。私の上司は、開いている CGI をセキュリティ ホールと見なし、製品がリリースされる前に Web サーバー上のすべての CGI を完全に遮断したいため、このソリューションが気に入らないと何度も述べています。

そのため、Web サーバー プロセスと自分のプロセスの間でそのように通信できない場合は、別の解決策を考え出す必要がありました。PHP を介してファイルにデータを書き込むなど、ひどいハックなことを何度か試みましたが、まだ機能する解決策は見つかりませんでした。

だからここに私の2つの質問があります:

1) Web サーバーが投稿可能な CGI を必要としない、root アクセス権を持つプロセスに Web ページからボタンの押下を通信する安全な方法はありますか?

2) そうでない場合、私たちのプロセスにデータを送信し、いくつかの診断機能のみをトリガーできる単一の CGI を開くことが、彼が求めていることを達成するための安全な方法であることを上司に納得させるにはどうすればよいでしょうか?

4

1 に答える 1

0

それはすべて、私が言うように、それらがどのように埋め込まれているかによって異なります。

Web サーバーを B 社のコードに埋め込むことができる場合、基本的にソフトウェア自体の内部から関数を呼び出すことになりますが、これは別の Web サーバー プロセスからの通常の CGI 呼び出しよりも大きなセキュリティ ホールと見なされる可能性があります。

Fast-CGI を検討して、お気に入りの百科事典を参照することもできますが、最終的には前面に CGI 機能を残すことになります。

システムにエンドユーザーがログインしない場合は、必要ないくつかの必要な機能のみを公開し、Web サーバー内でできる他のすべてを無効にし、検証するコードを追加する場合、cgi オプションが最善の可能性だと思います。 cgi 呼び出しに渡す入力 - おそらく B 社の関数を呼び出す前にラッパーを使用して、期待されるデータのみを正確に渡すことができることを確認します (SQL インジェクション、バッファ オーバーフローなど)。 .) は拒否されます。

ユーザーがログインでき、そのようなものを回避できる場合、新しいセキュリティ ホールが導入されることはありません。おそらく、システムは上司が望むほど安全ではありません...私の 2c だけです

于 2016-05-23T08:39:33.633 に答える