İçindekiler Tablosu
Giriş
Network File System (NFS), Türkçe karşılığı ağ dosya sistemidir. Sun Microsystems bu yapıyı 1984 yılında geliştirmiştir. Ağdaki bilgisayarların ortak bir dosya sistemine, yerel diskleri kadar kolay ulaşılmasını sağlar. RPC (Remote Procedure Calls/Uzak Prosedür Çağrıları) temelli dağıtık dosya sistemi yapısıdır.
NFS Nedir?
NFS bilgisayarlarda kullanılan programların network makinalarında kullanılmasını sağlar. İstemci bilgisayarlardaki kullanıcıların ağdaki dosyalara erişmesine olanak tanıyan bir protokoldür. NFS kullanıcının kendi bilgisayarına ihtiyaç duymadan NFS yoluyla istenilen makinadan home directory’e erişmesini sağlar. Kullanılan ağa bağlanan her cihazdan uzak veri ve dosyalara erişilmesini sağlar. Bir ağdaki tüm kullanıcılar aynı dosyalara erişir ve bu da dosya paylaşımını kolaylaştırır.
NFS, 4 protokolden meydana gelmektedir. Bu protokollerden ilki NFS temel protokol olup dosya oluşturmaya, aramaya, okumaya ve yazmaya izin verir. Güvenilirlik ve dosya istatistiğini de yöneten protokoldür. Arabirimi de nfsd’dir. Sunucunun destekleyeceği belirli NFS sürümleri ve protokolleri burada tanımlanır.
İkinci protokol olan mountd, ihraç edilen dosya dizgelerinin NFS ile erişimlerini sağlamak için kurulumlarından sorumludur. ‘mount’ ve ‘umount’ gibi istekleri alan sunucu, ihraç edilen dosya dizgelerine ait bilgileri tutmak zorundadır. Arabirimi de mountd’dir. Mountd bağlama isteklerini alan ve bilgisayarın erişmek istediği NFS dosyalarına erişebildiğini onaylayan bir işlem başlatır.
Üçüncü protokol olan NSM(Network Status Monitor/Ağ Durum Ekranı), bir makinenin durumunu(sunucu-istemci) belirlemek için ağ düğümlerini izler. Aynı zamanda makine durumunu da kontrol eder. Arabirimi de statd’dir. Bir sunucu yeniden başlatıldığında istemcileri bilgilendirir ve sunucunun kapatılmadan çevrimiçi kalmasını sağlar.
Dördüncü protokol olan nlm(Network Lock Managment/Ağ Kilit Yöneticisi), aynı anda farklı istemcilerin verileri değiştirmesini engellemek için bir kilit dizgesi kullanır. Hangi dosyaların kullanıldığını bilir ve nsm(Network Status Monitor-Ağ Durum Monitörü) protokolünün yardımıyla bir istemcinin ne zaman başladığını saptar. Nsm her kullanıcının kilidini geri vermeden önce serbest bırakır. Arabirimi de lockd’dir.
NFS Çalışma Mantığı
Bir NFS dosya sisteminin çalışması için birkaç hizmete ihtiyaç vardır; NFS hizmeti, paylaşılan sistemleri kabul etmek için gerekli olan sunucuyu ve RPC işlemlerini başlatır. NFSlock hizmeti, RPC işlemlerini başlatır ve NFC istemcilerinin dosyaları kilitlemesine olanak tanır. Portmap hizmeti yerel servislerden port rezervasyonları alınmasını sağlar. Portmap, belirli bağlantı noktalarının dosya erişimi için uygun olduğunu belirten mesajlara yanıt verir.
Birinci bölümde bahsi geçen dört protokol de RPC(Remote Procedure Calls/Uzak Prosedür Çağrıları) ve Portmap (rpc.portmap), RPC program numaralarını port numaralarına çevirir. RPC, başka ağda bulunan bir programdan ağ ayrıntılarının anlaşılmasına gerek kalmadan hizmet talep eder ve istemci-sunucu modelini baz alarak çalışır. Eğer program talep ediyorsa bu bir istemcidir, eğer hizmet sağlıyorsa bir sunucudur. RPC sunucu çalışmaya başladığında portmap’e hangi kapının kullanılacağını ve yönetilen RPC program numarasını söyler. Bir kullanıcı bir program numarasına bir RPC isteği göndermek istediğinde, istenen programa erişim veren port numarasını almak için öncelikle sunucu portmap’ i ile bağlantı kurar, ardından RPC paketlerini ilgili portlara gönderir.
NFS’in çalışması için gerekli kurallar
NFS bir sunucu-istemci protokolüdür
Sunucusunun aşağıdaki gereksinimleri karşılaması gerekir :
- Sunucu yazılımının kurulu olması.
- NFS kaynaklarını paylaşmak için en az bir ağ bağlantısına sahip olmalı ve ağ bağlantısı üzerinden NFS isteklerini kabul edecek ve yanıtlayacak şekilde yapılandırılmalıdır.
- İstemcisinin de aşağıdaki gereksinimleri karşılaması gerekir;
- NFS istemci yazılımının kurulu olması.
- Bir NFS sunucusuna ağ bağlantısı olmalı.
- NFS sunucusundaki kaynaklara erişme yetkisine sahip olmalı ve ağ bağlantısı üzerinden NFS isteklerini gönderip alacak şekilde yapılandırılmalıdır.
NFS Sürümleri
NFS’in çalışma mantığı kullanılan sürüme bağlı olarak değişir. Günümüzde üç farklı nfs sürümü vardır ve her birinin nasıl çalışacağına ilişkin farklı standartları vardır.
a)NFS Sürüm 2 (NFSv2)
NFSv2 en eski ve en geniş çapta desteklenen formattır. Bir ip ağı üzerinden (User Datagram Protocol) Kullanıcı Datagram Protokolü veya UDP ile çalışır. Bu kurulumdaki UDP, veri aktarımına başlamadan önce resmi olarak bir bağlantı oluşturmaz. Bu özellik, bağlantıların daha kısa sürede çalışmasını kolaylaştırdığı için kullanışlıdır ancak UDP istemcileri isterse, sunucu çalışmadığı zamanlarda bile sunucuya istek göndermeye devam eder.
b)NFS Sürüm 3 (NFSv3)
NFSv3, sunucunun verileri senkronize etmek için doğru politikaları belirlemesine olanak tanıyan eşzamansız yazma işlemlerini destekler. Ve verileri yönetmeyi taahhüt edecek bir komut oluşturmadan önce verileri senkronize eder. Tasarım NFSv2 ile karşılaştırıldığında daha iyi buffering ( ara belleğe alma) sağlar. NFSv3, ayrıca hataları daha etkili bir şekilde işler ve daha büyük dosyaları yönetir. 64 bitlik dosya boyutlarını işler, bu da bir kullanıcının ortalama 2 GB civarında dosya içeriğine erişebileceği anlamına gelir.
c)NFS Sürüm 4 (NFSv4)
NFSv4, NFS protokolünün kullanılabilecek en yeni sürümüdür. İnternet üzerinden ve güvenlik duvarları üzerinden çalışır. RPCbind hizmeti gerektirmediğinden daha fazla yerde çalıştırılmasını kolaylaştırır. İletim Kontrol Protokolü (Transmission Control Protocol) olan TCP bu NFS formatında çalışır. Veri bölümlerini takip eder ve yalnızca bir şeyin ikinci kez gönderilmesi gerektiğinde TCP setindeki kayıp frameleri alır.
Sunucu TCP bağlantı noktası 2049 komutlarını da kabul eder. Bu bağlantı noktası piyasada bulunabilecek en yaygın kullanılan bağlantı noktalarından biridir. RPCbind ve lockd seçenekleri gibi arka plan programlarıyla etkileşime girmesi gerekmez.
NFS Yapısının Avantajları
NFS’in bir çok avantajı vardır;
Ağdaki herkes, aynı NFS üzerinde istemci olduklarında aynı dosyalara erişebilirler. Dosya sisteminin montaj süreci şeffaf kalır ve müşterilere, yönettiğiniz içeriği nasıl yönetebilecekleri konusunda fikir verir. Elinizde çok fazla çıkarılabilir sürücü ve disk olmayacağından nfs daha güvenli olacaktır. Birden fazla bilgisayar aynı uygulamaları paylaşabilir. Veri paylaşımı sayesinde alandan büyük bir şekilde tasarruf edilir çünkü tüm veriler ortak bir diskte ve sunucuda toplanır. Bu da daha az yoğunluk ve daha fazla tasarruf olmasını sağlar. Bir sunucuda yapılan değişiklik her sunucuda yapılmış gibi etkili olur ve bu sayede hem zamandan hem işten tasarruf sağlar.
NFS Yapısının Faydalı Özellikleri
NFS olgun bir protokoldür. Bu, onu uygulama, güvenlik altına alma ve kullanmanın yanı sıra potansiyel zayıflıklarının da iyi anlaşıldığı anlamına gelir. Ücretsiz ve açık ağ protokolü olarak internet spesifikasyonlarında sürekli gelişimi belgelenen açık bir protokoldür. Mevcut ağ altyapısnı kullandığı için kurulumu kolay, ağ dosya paylaşımına yönelik düşük maliyetli bir çözümdür. NFS’in merkezi yönetimi, bireysel kullanıcı sistemlerinde ilave yazılım ve disk alanı ihtiyacını azaltır. Protokolün kullanımı kolaydır ve kullanıcıların uzak ana bilgisayarlardaki uzak dosyalara, yerel dosyalara eriştikleri gibi erişmelerine olanak tanır. Network File System, çıkarılabilir medya depolama aygıtlarına olan ihtiyacı azaltan dağıtılmış bir dosya sistemi olarak kullanılabilir. NFS ile dolaşımda CD’ler , DVD’ler, Blu-ray diskler ve USB sürücüler gibi daha az çıkarılabilir ortam bulunur ve bu da sistemi daha güvenli hale getirir.
NFS Yapısının Dezavantajları
NFS’in istenmeyen dezavantajları da vardır;
İstenmeyen tarafların girmesini önlemek amacıyla bir NFS’i çalıştırmak için bir güvenlik duvarı gereklidir. Bu korumayı kullanmayan herhangi bir NFS zarar görme riskiyle karşı karıya kalacaktır. Dosyanın boyutu çok büyükse birden fazla kullanıcının bir dosyaya aynı anda erişmesi zor olabilir. Bazı protokoller, her okuma ve yazma isteğinde 1 MB’a kadar verinin taşınmasına izin verir. Günümüzün protokolleri çok büyük miktarda istekleri karşılayabilse de 1 MB standardı çok zayıf olabilir. RPC’lere bağımlılık, NFS’i doğası gereği güvensiz hale getirir ve yalnızca güvenlik duvarı arkasındaki güvenilir bir ağda kullanılmalıdır. Aksi takdirde NFS internet tehditlerine karşı savunmasız kalacaktır. NFSv4 ve NFSv4.1’e ilişkin bazı incelemeler, bu sürümlerin sınırlı bant genişliğine ve ölçeklenebilirliğe sahip olduğunu ve yoğun ağ trafiği sırasında NFS’in yavaşladığını öne sürüyor. Bant genişliği ve ölçeklenebilirlik sorununun NFSv4.2 ile düzeldiği bildiriliyor.
Umarım sizler için faydalı bir yazı olmuştur, iyi okumalar dilerim. Ayrıca aşağıdaki linklere de göz atabilirsiniz.
https://hacktorx.com/wi-fi-guvenlik-protokolleri/
In this article : Network File System, Dosya Erişimi, Ağ Dosya Paylaşımı, Uzak Prosedür Çağrıları
Büşra Zümra Karaozan
HacktorX YazarıFırat Üniversitesi Teknoloji Fakültesi Yazılım Mühendisliği /Siber Güvenlik