FibaCloud
İçeriğe geç
Soru sor

Press ESC to close

NFS Nedir? NFS Güvenlik Önlemleri ve Optimizasyonu

Güncellendi:

NFS (Network File System), bir sunucudaki dosya sisteminin istemciler tarafından ağ üzerinden kullanılmasını sağlayan bir protokoldür. Paylaşımın bağlanması tek başına güvenli olduğu anlamına gelmez: export kapsamı, istemci kimliği, dosya izinleri ve kullanılan NFS sürümü birlikte değerlendirilmelidir.

İzinli istemci export kuralını geçer; UID/GID eşlemesi ve sunucu dosya izinleri hangi işlemlerin yapılabileceğini belirler.
Export izni, dosya izinlerini devre dışı bırakmaz.
Görseli büyüt →

Sürüm ve kimlik modelini belirleyin

NFSv3 ile NFSv4 ailesinin port, kilitleme, kimlik eşleme ve güvenlik davranışları aynı değildir. Sunucu ve istemci sürümünü seçip dağıtım belgelerini birlikte inceleyin. Kullanıcıların UID/GID değerleri veya kimlik hizmetleri uyumsuzsa dosya sahipliği beklenmedik görünebilir.

Güvenilen bir özel ağ, kimlik doğrulama ihtiyacını ortadan kaldırmaz. Basit adres tabanlı bir export örneğini internet üzerinden herkese açık bir paylaşım haline getirmeyin. Gereksinime göre Kerberos ve desteklenen bütünlük/gizlilik seçeneklerini değerlendirin; bunların yapılandırma ve kimlik altyapısı ihtiyacını ayrıca planlayın.

Sınırlı salt okunur paylaşım örneği

Aşağıdaki örnek Ubuntu Server belgelerindeki paket adlarını kullanır; farklı bir dağıtımda paket ve servis adlarını ayrıca doğrulayın. İki ayrı test makinesi, boş bir deneme dizini ve gerçek ortamınıza uyarlanmış adresler kullanın. Sunucu adresi 192.168.1.100, izinli istemci 192.168.1.50 olarak örneklenmiştir; NFS sürümünü seçip ilgili portları yalnız bu istemciye açın.

sudo apt-get install nfs-kernel-server
sudo mkdir -m 0755 /paylasim
sudoedit /etc/exports

Export dosyasına yalnız deneme paylaşımı için şu kural eklenir:

/paylasim 192.168.1.50(ro,sync,root_squash)

ro sunucu tarafından salt okunur erişim tanımlar. sync sunucunun yazma onayı davranışıyla ilgilidir. root_squash, uzak istemcinin root kimliğini anonim kimliğe eşler; anonim kullanıcının dosya izinlerinden gelen okuma erişimini kendiliğinden kaldırmaz.

sudo exportfs -ra
sudo exportfs -v

exportfs -ra mevcut export yapılandırmasını yeniden uygular; bu nedenle üretimdeki diğer satırları değiştirmeden önce etkisini inceleyin. Çıktıda yalnız amaçlanan istemci ve seçeneklerin etkin olduğunu kontrol edin.

İstemcide bağlama ve kabul

sudo apt-get install nfs-common
sudo mkdir -m 0755 /yerel_dizin
sudo mount -t nfs -o ro 192.168.1.100:/paylasim /yerel_dizin

İstemcideki ro seçeneği ek bir sınırdır; sunucu export kuralının yerine geçmez. Bağlantı kurulduktan sonra doğru NFS sürümünün kullanıldığını, dosya sahipliğini ve izinli kullanıcının okuyabildiğini doğrulayın. Ardından yazmanın reddedildiğini ve izin verilmeyen ayrı bir istemcinin paylaşımı bağlayamadığını test edin.

Uzak root ile yapılan işlemin anonim kimliğe nasıl eşlendiğini ayrıca kontrol edin. Anonim kimliğin erişimini dosya izinleri belirler; “root tamamen engellendi” sonucunu yalnız seçenek adına bakarak çıkarmayın. Kalıcı mount yapılandırmasına geçmeden önce yeniden başlatma ve geri alma davranışını ayrı test edin.

Performansı güvenlikten ödün vermeden inceleyin

Sunucu diski, ağ gecikmesi, uygulamanın küçük/büyük dosya davranışı ve eşzamanlı istemci sayısı sonucu etkiler. async, büyük tamponlar veya farklı cache ayarlarını evrensel hız önerisi olarak uygulamayın; tutarlılık ve hata anındaki veri davranışını anlamadan değiştirmeyin. Günlükler, I/O bekleme ve ağ sayaçlarını temsili iş yüküyle birlikte gözlemleyin.

Sık sorulan sorular

root_squash bütün uzak root erişimini keser mi?

Hayır. Uzak root anonim kimliğe eşlenir. Bu kimlik, sunucudaki dosya ve dizin izinlerinin verdiği erişime sahip olabilir.

Sadece istemcide ro seçmek yeterli midir?

Sunucu politikasını garanti etmez. Salt okunur kapsamı export tarafında tanımlayıp izinli ve izinsiz istemcilerle ayrıca doğrulayın.

Sonraki adım

Paylaşımın altında çalışan depolamayı ZFS/LVM katmanları ve erişim sınırını VPC planlaması ile birlikte inceleyin.

Kaynaklar

  1. Network File System (NFS) – Ubuntu Server documentation
  2. nfs-utils — exports(5) kaynak belgesi
  3. nfs-utils — exportfs(8) başvurusu
  4. NFS istemci bağlama seçenekleri — nfs(5)

Umut CAN

Merhaba, ben Umut CAN, FibaCloud.com'un uzman yazarlarından biriyim. Bulut bilişim alanında özellikle Kubernetes ve web uygulamaları konularında derin bir bilgi birikimine sahibim. Yazılarımda karmaşık konuları anlaşılır bir dille ele alarak, okuyuculara sektördeki en güncel bilgileri sunmayı amaçlıyorum. Sizlerle teknoloji dünyasındaki en yeni gelişmeleri paylaşmak için buradayım.