17

インターネット経由でfirebirdサーバー2.5を使用するクライアントサーバーアプリケーションがあります。私は、FB データベースへの安全なアクセスを与えるという問題に直面しました。最初のアプローチとして、トンネル ソリューションをアプリケーション (より正確には STunnel ソフトウェア) に統合することで、この問題を解決しようとしました。しかし、このアプローチには多くの側面があります。 - これにより、クライアント/サーバー側の両方でより多くのリソース消費 (CPU、メモリ、スレッド) が追加されます。 - STunnel ソフトウェアは Dll またはコンポーネント (WinNT Service のインストールには管理者権限が必要) とクライアント アプリケーションをインストールせずに実行する必要があります。

だから、私は雄牛を角で(または火の鳥について話すときは羽で鳥を)取ることにしました。私は Firebird 2.5 のソース コードをダウンロードし、安全なトンネライゼーション コードを彼の低レベル通信層 (INET ソケット層) に直接挿入しました。現在、暗号化/復号化は、各 TCP/IP パケットに対して Firebird エンジンによって直接行われます。

このアプローチと外部トンネライゼーションについてどう思いますか?

4

4 に答える 4

1

両側から SSL/TLS ストリームでデータ交換をラップすることをお勧めします。これは実績のある標準です。一方、静的キーを使用したカスタム実装は安全ではない可能性があります。

たとえば、IV が一定の CTR モードでは、インクリメントされたベクトルのみを暗号化し、それをデータと XOR するため、多くの情報が明らかになります。したがって、2 つの暗号化されたパケットを XOR すると、暗号化されていないパケットの XOR されたバージョンが表示されます。

于 2012-12-08T09:49:28.023 に答える
0

物事を成し遂げるための最速の方法は、firebird を改善することではなく、接続を改善することです。SSL 証明書認証を実行できる 2 つのファイアウォール デバイスを取得し、DB サーバーと firebird デバイスの前に配置します。ファイアウォール デバイスに暗号化/復号化を行わせ、DB サーバーにすべてのパケットに干渉する手間をかけずにその仕事をさせます。

于 2014-12-17T23:05:53.910 に答える
0

一般に、セキュリティ クリティカル コードに対する私の見解は、「問題のコードにできるだけ多くの注目を集めたいが、自分で保守したくない」というものです。その理由は、誰もが間違いを犯し、共同作業環境では間違いを犯す可能性が高いからです。さらに、これらはより適切にテストされる可能性があります。

私の見解では、いくつかの許容できる解決策があります。すべてのアプローチで多少のオーバーヘッドが追加されますが、このオーバーヘッドは、必要に応じて別のサーバーで処理できます。可能性は次のとおりです。

  1. スタンネル

  2. IPSec (私のお気に入りの 1 つ)。IPSec を使用するとトンネルを作成でき、これらを他のホストに転送できるため、VPN 管理を db ホスト以外のコンピューターに移動できることに注意してください。ホストに対して直接 IPSec を実行することもできます。

  3. PPTP

  4. tinc などのクロスプラットフォーム VPN ソフトウェア。

ここで、セキュリティ上、無料のランチはありません。要件を慎重に確認し、使用しているソリューションを完全に理解する必要があることに注意してください。

于 2013-03-09T00:46:04.230 に答える