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

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

これはただ無駄な好奇心だけです。私の友人は、「Linuxではどのポート範囲をrootとしてのみ使用できますか?」と尋ね、私は彼に0〜1024が制限されていると言いました。そして彼はなぜ私にこのようなことが起こるのか尋ねました。私は混乱していました。全く知らない。

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

ほとんどの主要なWebサービス(HTTP、FTP、SSH、Telnet、HTTPS、POP、SMTPなど)がこの範囲に属するので、お気に入りの答えは次のとおりです。

  • 信頼できないユーザーは、これらのポートでログインの詳細をリッスンするプログラムを実行できます。
  • 信頼できないユーザーは、認証されていないサーバーアプリケーションを実行できます。

誰かがここに光を照らすことができますか?

ベストアンサー1

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

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

これは、ローカルネットワーク上のマルチユーザーコンピュータにとって特に重要です。たとえば、民間暗号化が出現する前に、他のシステムでシェルコマンドを実行するための一般的な方法は次のとおりです。rshアル字型表現シェンer)パスワード認証を使用するか、単にシステムAのユーザーXであることを証明することで認証できます(システムBは、X @ AがパスワードなしでX @ Bとしてログインできることを知っています)。これをどのように証明できますか?顧客rshは setuid ルートであり、ポート番号 < 1024 を使用するため、サーバーは通信中のクライアントが信頼できることを認識し、A のどのユーザーが呼び出すかを嘘をつくことはできません。同様にネットワークファイルシステムは、ユーザーと権限が透過的に設計されているため、一般的な構成は、ローカルネットワーク上のすべてのコンピュータが同じユーザーデータベースを使用し、サーバーBからファイルシステムをマウントするAのユーザーNがBのユーザーNの権限を取得することです。同様に、NFSクライアントがポート番号<1024から出るという事実は、AのルートがNFSクライアントを監査したことを証明する。 NFS クライアントは、ユーザー N から要求を送信する場合、その要求が実際にユーザー N からのものであることを確認する必要があります。

権限のないユーザーが低いポートでサーバーを実行できないことはもう1つの利点ですが、主な利点ではありません。過去には、なりすましは非常に新しいものであり、なりすましサーバーを実行しているユーザーはとにかく警戒する管理者によって迅速に削除されました。

おすすめ記事