最初の1024ポートがrootユーザーのみに制限されているのはなぜですか?


53

これは、他の何よりも怠idleな好奇心です。友人から「Linuxでrootだけが使用できるポート範囲はどれですか?」私は彼に0-1024が制限されていると言いました。それから彼は私にそれがなぜそうだったか尋ね、…私は途方に暮れていた。まったくわからない。

これらのポートが制限され、1025-65535が制限されない理由はありますか?

ほとんどの主要なネットワークサービス(HTTP、FTP、SSH、Telnet、HTTPS、POP、SMTPなど)はこの範囲にあるため、考えられる答えは次のとおりです。

  • 信頼できないユーザーは、これらのポートでログオンの詳細をリッスンするプログラムを実行できます。
  • 信頼できないユーザーが不正なサーバーアプリケーションを実行する可能性があります。

誰もがここに光を当てることができますか?

回答:


52

ポートが1024未満のコンピューターとデータを交換しており、コンピューターがUNIXのバリアントを実行していることがわかっているとします。次に、そのポートで実行されているサービスがシステム管理者によって承認されていることがわかります。サービスはルートとして実行されているか、少なくともルートとして開始する必要がありました。

インターネットの広く野生の世界では、これは問題ではありません。ほとんどのサーバーは、それらで実行されているサービスと同じ人によって管理されます。他のユーザーよりもルートを信頼することはないでしょう。

特にローカルネットワーク上のマルチユーザーマシンでは、これは重要です。たとえば、民間暗号化の前の時代、別のマシンでシェルコマンドを実行する一般的な方法はrshr emote sh ell)でした。パスワード認証を使用するか、マシンAのユーザーXであることを証明するだけで認証できます(マシンBはX @ AがパスワードなしでX @ Bとしてログインできることを知っています)。それを証明する方法は?rshクライアントはrootにsetuidであり、サーバはそれがに話しているクライアントが信頼できるとこれにA上のユーザーがそれを呼び出しているように存在しないことを知っているので、ポート番号<1024を使用しています。同様にNFS ユーザーと権限に関して透過的であるように設計されたため、一般的な構成では、ローカルネットワーク上ですべてのマシンが同じユーザーデータベースを使用し、サーバーBからファイルシステムをマウントするAのユーザーNはBのユーザーNの権限を取得します。繰り返しますが、NFSクライアントが1024未満のポート番号から来ているという事実は、AのルートがNFSクライアントを検査したことを証明します。これは、ユーザーNからのリクエストを送信する場合、そのリクエストが本当にユーザーNから

権限のないユーザーが低いポートでサーバーを実行できないことも別の利点ですが、主な利点ではありません。かつて、スプーフィングは非常に斬新であり、スプーフィングサーバーを実行しているユーザーは、とにかく用心深い管理者によってすぐに打ち消されてしまいました。


2
それでは、貧しい人の認証のようなものですか?この規則は、現代の* nixライクなオペレーティングシステムで本当に利点がありますか?
アンドリューランバート

2
@Amazed:Unixの世界は保守的であるため、尋ねる質問は「それ本当の問題を引き起こしますか?」です。(そして、実行する価値のあるすべてのサーバーにはポートを変更するためのコマンドライン引数があるという完全な知識で答えられるべきです)。
dmckee

5
@dmckeeは、代替ポートで実行するオプションがあったとしても、そのような設計により、ルートとして実行されるサーバーが増えると主張することもできます。
アンドリューランバート

5
@Amazedローカルネットワーク上で、今日でも役に立つことがあります。ルートとして実行されるサーバーが増えることはないと思います。サービスはポートをバインドしてから特権をドロップしたり、利用可能な場合は機能を使用したり、管理者がファイアウォール構成のポートをリダイレクトしたりできます。UNIXが今日設計された場合、それが入れられるとは思わないが、それは痛くない。
ジル 'SO-悪であるのをやめる'

1
このナンセンスは長い間カーネルから消えているはずです。ポート番号には特別な意味はありません。その設計の背後にある「推論」は長い間時代遅れです(設計時にさえ議論の余地があると思います)。しかし、さらに悪いのは、「信頼できる」特別な番号範囲のアイデアが意味するところです。Webサーバーは、Webページを提供するためだけにルートとして実行する必要があります。単一のエクスプロイトとホールサーバーはなくなりました。そして何のために?少しでも機能しなかったレガシーデザインの場合。
masi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.