it-swarm-eu.dev

Proč je prvních 1024 portů omezeno pouze na uživatele root?

To je více volná zvědavost než cokoli jiného. Můj přítel se mě zeptal, „v jakém rozsahu portů je možné pod Linuxem používat pouze root?“ Řekl jsem mu, že 0-1024 bylo omezeno. Pak se mě zeptal, proč tomu tak bylo a ... byl jsem v rozpacích. Vůbec netuším.

Existuje důvod, proč jsou tyto porty omezené a 1025-65535 ne?

Většina hlavních síťových služeb (HTTP, FTP, SSH, Telnet, HTTPS, POP, SMTP atd.) Je v tomto rozsahu tak možných odpovědí, na které jsem myslel:

  • Nedůvěryhodný uživatel by mohl spustit program, který na těchto portech naslouchal přihlašovacím podrobnostem.
  • Nedůvěryhodný uživatel mohl spustit neautorizovanou serverovou aplikaci.

Může tady někdo vrhnout světlo?

53
Andrew Lambert

Předpokládejme, že si vyměňujete data s počítačem na portu <1024 a víte, že počítač používá nějakou unixovou variantu. Pak víte, že služba spuštěná na tomto portu je schválena správcem systému: běží jako root nebo musí být alespoň spuštěna jako root.

Na širokém divokém světě internetu na tom nezáleží. Většina serverů je spravována stejnými lidmi jako služby, které na nich běží; nevěřili byste kořenům víc než ostatní uživatelé.

U víceuživatelských strojů, zejména v místní síti, to může záležet. Například ve dnech před civilní kryptografií byla oblíbenou metodou spouštění příkazů Shell na jiném počítači rsh ( r emote sh ell); můžete použít ověřování heslem, nebo můžete ověřit pouze prokázáním, že jste uživatelem X na počítači A (se strojem B, který věděl, že X @ A se mohl přihlásit jako X @ B bez hesla). Jak to dokázat? Klient rsh je root root a používá číslo portu <1024, takže server ví, že klient, se kterým mluví, je důvěryhodný a nebude lhát o tom, ke kterému uživateli na A ho vyvolává. Podobně NFS byl navržen tak, aby byl transparentní s ohledem na uživatele a oprávnění, takže běžná konfigurace byla, že v lokální síti každý počítač používal stejnou databázi uživatelů a uživatel N na A připojující souborové systémy ze serveru B by získal oprávnění uživatele N na B. Opět skutečnost, že klient NFS přichází z čísla portu <1024, dokazuje, že kořen v A prověřil klienta NFS, který má ujistěte se, že pokud vyšle požadavek, který má být od uživatele N, pak je tento požadavek skutečně od uživatele N.

Neautorizovaní uživatelé, kteří nemohou provozovat servery na nízkých portech, jsou další výhodou, nikoli však hlavní. V době, spoofing byl docela novinka a uživatelé provozující spoof servery by byly rychle zrušeny ostražitými administrátory stejně.