web-dev-qa-db-ja.com

オーディオストリーミングサーバーに関連する脆弱性

サーバーをオーディオストリーミングサーバーとして使用しているときに直面する脆弱性は何ですか?すべての可能性とすべての知っておくべきことを説明してください。

最初に脆弱性について考えさせられたのは、ログインユーザーとパスワードがハッシュで使用されていないことでした-少なくとも IceCast -を使用している間は、それらはすべてクリアテキストです!代わりにハッシュを使用する方法はありますか?そうでない場合、どのような脆弱性が発生する可能性がありますか?

他に何が有害かもしれません-ポートなど-何か??また、ストリーミングサーバーを構成する際に注意する必要があることは何ですか?

私が使用しているものの詳細:

サーバーにIceCastを使用しており、Icecastストリーミングサーバーのソースクライアント(つまり、クライアント/リスナー)として EZStream を使用しています。

そして、私はこのプロジェクトをDebianJessieとCentOS7の両方で実行しています-まだ起動されていませんが、まだテストのようなベータ版なので、何でも変更できます。

ゼロから物事を行うことについてであっても、私はどんな提案にもオープンです。

3
Parsa Samet

以下の図の例を参照してください。この方法は、次の理由で優れています。

  • ストリームをプッシュするサーバーはパブリックインターネット上と同じではないため、パブリックアクセスがないなど、適切に保護されていることを確認できます。これにより、ストリームのプッシュやその他のトリックに関連する多くのエクスプロイトを閉じることができます(これで公開ストリームを有効にする必要があります)
  • エッジサーバーでは、パスワードやアクセス(ストリームのプッシュなど)を設定する必要はありません。ソースストリームがあるオリジンサーバーをポイントするだけです。
  • 次に、2つのEdgeサーバーを使用し、単一のOriginサーバーを使用しながらそれらの間で負荷分散を行うことができます(DNSを使用して実行できます)
  • Edgeサーバーがいっぱいになったり、ロードされたりした場合に備えて、オーディオプッシュの安定性が向上しました

これは次のように行うことができます。-同じボックスで2つのサーバー(オリジンとエッジ)をホストしますが、ポートは異なります-EZStreamシステムでオリジンサーバーをホストし、ルーターのポートを静的IPアドレスに転送してそこからプルします。この方法は次のとおりです。より安定していますが、静的IPアドレスが必要です-エッジサーバーで可能な限り無効にし、通常のVPSで最大ストリーム数を100MBps以下に制限します-EZStreamシステムに静的IPアドレスがある場合は、ファイアウォールを設定してEZStreamのみを許可しますOriginサーバーに接続します。持っていない場合は、WHOIS(IPアドレス)に基づいてクラス全体のファイアウォールルートを設定します。

この種のセットアップは、何もしなくても最も安定していて最も安全です。また、SELinuxをCentos7ボックスに保持し、必要に応じて最終的にIceCastのルールを追加します(audit2allow)。これにより、ネットワークデーモンの非常に高いレベルのセキュリティが保証されます。これはIceCastサーバーに強くお勧めします。

Simple Radio Streaming

3
Aria