web-dev-qa-db-ja.com

幅広いポートを開く危険性はありますか? (モッシュ)

ファイアウォールを構成して、特に許可しないトラフィックをすべて除外するのはなぜですか?これは、システムでマルウェアを実行していない場合に何も購入しない多層防御のための追加のセキュリティ層ですか?

いくつかのポートを開くだけでは安全性が大幅に低下する、着信UDP接続用のポート60000〜61000を開くと言う危険はありますか?

mosh を聞いたところ、モバイルssh(wifi /携帯電話経由)を実行するための優れた方法として宣伝されています。 MoshはTCPではなくUDPを使用するため、トンネルに入るか、IPアドレスの変更(携帯電話の塔の切り替え)を短時間行った場合、輻輳制御から戻ったり、新しいsshセッションを確立したりするのを待つ必要はありません。基本的にmoshは、sshを使用して非特権ユーザーとしてmosh-serverをリモートで起動し、sshを使用してAES-OCBキーを交換し、暗号化されたパケット(シーケンス番号付き)を60000〜61000の範囲のポートに送受信します。ファイアウォールを開くように構成します。

私は着信(UDP)接続用に最大1000個のポートを開くことに多少不快ですが、これについての非常に良い理由は考えられません。そのポートでデータをリッスンしているソフトウェアがない場合は、無視されますか? (編集時:いいえ-実際にはサーバーにICMP(ping)宛先到達不能応答を返信するように指示します)。私のサーバーでマルウェアが実行されている場合、これらの開かれたポートの1つで偽造されたIPアドレスからの指示を聞くのを待っている可能性があります。ただし、インターネットに接続されたシステムで実行されているマルウェアは、他のマルウェアサーバーからの接続/ダウンロード情報を確立し(IPアドレスを知っている必要があります)、命令を取得する可能性があるため、セキュリティがそれほど安全ではありません。

編集:興味深い、これだけを見た 他の質問 これは私に DP_flood_attack について読むように導きました。さらに、新しく開いたUDPポートに対して、システムが何らかの理由でping宛先到達不能応答を送信できないようにする必要があると思います。

29
dr jimbob

リモートからアクセスできるように誤ってアプリケーションを開いてしまったというジャスティンの回答に加えて、接続を特別にリッスンしているものがない場合でも、オペレーティングシステムは常にリッスンしていることに注意してください。または、静かにパケットをドロップします。したがって、オペレーティングシステムは依然として1つの特定の攻撃ベクトルであり、ファイアウォールが「非アクティブ」ポートへのトラフィックフローを許可する場合、保護されないままになる可能性があります。

ただし、このシナリオではすべてが同じなので、1つの非アクティブポートまたは1000の非アクティブポートを開いてもほとんど違いはありません。しかし、間違いなく最小特権の原則のアドバイスに注意してください。

11
logicalscope

私が理解している限り、Moshが動作するために実際に1000個のポートを必要としません。 (クライアントごとに)1つだけ必要です。したがって、任意の単一のポートを開いて、それを使用するようにMoshに指示することができます( the manual から):

mosh -p 60000 my.server

ランダムにポートを選択する理由は何ですか?これはわかりません。

[UPDATE]ランダムなポートを選択しません。ポートのセットを検索して、最初に開いているポートを見つけます( コードを参照 )。そうでない場合は、マルチユーザーシステムで手動で空きポートを選択する必要があります。

これは、サーバー上にユーザー(moshを使用する可能性のある人)と同じ数のポートのみが必要であることを意味します。自分のボックスの場合は、ポート60000を開くだけで済みます。

11
Leonid Shevtsov

問題は、広範囲のポートを開くと、攻撃者がそれらのポートを使用している別のアプリケーションを公開できる可能性があることです。たとえば、患者の記録を保存するために使用される私のEMRアプリケーションは、それらの範囲のポートを使用するように構成されているかもしれませんが、信頼できないインターネットの誰かがその開口部を悪用できるようにしたくありません。できる限り最低限の権限を強制することになります。これらのシナリオでは、そのポート範囲を開くVPNを活用する必要があります。これにより、認証、したがって承認の問題が解決されます。 DMZの外部ファイアウォールについて話している場合、プロトコル/ポートレベルでのみ信頼するため、さらに厳密にする必要があります。

6
Justin Andrusk

MoshのUDPポート範囲を最小化することは完全に可能であるはずです

https://github.com/keithw/mosh/blob/master/src/network/network.h#L77

私が正しく理解していれば、これは送信側プロセスがUDPポートを選択する範囲です。したがって、ローカルの「狭い範囲」のmoshエディションをコンパイルし、moshに適合するローカルの「狭い範囲」のファイアウォールUDPポリシーを設定できるようにする必要があります。

これは私にメタ質問をもたらします:モッシュが役立つのに十分な範囲の幅はどれほど広いですか?

私が正しく理解していれば、moshサーバーごとに1つのポートが必要です。したがって、パーソナルサーバーとtmux(=たった1つのクライアント)の常用の場合、1つは作業用で、もう1つは物事を修正するために必要です。

しかし、私は間違っているかもしれません。私はCコーダーではなく、昨日だけモッシュを発見しました。

4
Peter