it-swarm-tr.com

İlk 1024 bağlantı noktası neden yalnızca kök kullanıcı ile sınırlı?

Bu, her şeyden daha boş bir meraktır. Bir arkadaşım bana 'Linux altında hangi kökün kullanabileceği bağlantı noktası aralığı?' Diye sordu. Ona 0-1024'ün kısıtlandığını söyledim. Sonra neden böyle olduğunu sordu ve ... Kayboldum. Hiçbir fikrim yok.

Bu bağlantı noktalarının kısıtlı olmasının ve 1025-65535'in kısıtlanmamasının bir nedeni var mı?

Çoğu büyük ağ hizmeti (HTTP, FTP, SSH, Telnet, HTTPS, POP, SMTP, vb.)

  • Güvenilmeyen bir kullanıcı, oturum açma ayrıntıları için bu bağlantı noktalarını dinleyen bir program çalıştırabilir.
  • Güvenilmeyen bir kullanıcı yetkisiz bir sunucu uygulaması çalıştırabilir.

Burada kimse ışık tutabilir mi?

53
Andrew Lambert

Diyelim ki <1024 bağlantı noktasındaki bir bilgisayarla veri alışverişi gerçekleştiriyorsunuz ve bilgisayarın bazı unix varyantlarını çalıştırdığını biliyorsunuz. Ardından, bu bağlantı noktasında çalışan hizmetin sistem yöneticisi tarafından onaylandığını bilirsiniz: root olarak çalışıyor veya en azından root olarak başlatılması gerekiyordu.

İnternetin geniş, vahşi dünyasında bu önemli değil. Sunucuların çoğu, üzerinde çalışan hizmetlerle aynı kişiler tarafından yönetilir; köklere diğer kullanıcılardan daha fazla güvenmezsiniz.

Çok kullanıcılı makinelerde, özellikle yerel bir ağda, bu önemli olabilir. Örneğin, sivil şifrelemeden önceki günlerde, Kabuk komutlarını başka bir makinede çalıştırmanın popüler bir yöntemi rsh ( r emote Sh ell); parola kimlik doğrulamasını kullanabilir veya yalnızca A makinesinde X kullanıcısı olduğunuzu kanıtlayarak doğrulayabilirsiniz (B makinesi ile X @ A'nın parola olmadan X @ B olarak oturum açabileceğini bilerek). Bunu nasıl kanıtlayabilirim? rsh istemcisi setuid köküdür ve <1024 bağlantı noktası numarasını kullanır, böylece sunucu konuştuğu istemcinin güvenilir olduğunu bilir ve A'daki hangi kullanıcının onu çağırdığı konusunda yalan söylemez. Benzer şekilde NFS , kullanıcılara ve izinlere göre şeffaf olacak şekilde tasarlanmıştır, bu nedenle ortak bir yapılandırma, yerel bir ağda her makinenin aynı kullanıcı veritabanını kullanmasıydı ve B sunucusundaki A kullanıcısı dosya sistemleri, B sunucusundaki N kullanıcı izinlerini alır. Yine, NFS istemcisinin <1024 numaralı bağlantı noktasından gelmesi, A'daki kökün NFS istemcisini denetlediğini kanıtlar. N kullanıcısından olduğu iddia edilen bir istek iletiyorsa, bu talebin gerçekten N kullanıcısından geldiğinden emin olun.

Yetkisiz kullanıcılar, düşük bağlantı noktalarında sunucuları çalıştıramazken bir başka avantajdır, ancak ana avantaj değildir. Geri günlerde, sızdırma oldukça yeniydi ve sahte sunucular çalıştıran kullanıcılar uyanık yöneticiler tarafından hızlı bir şekilde bozulacaktı.