Linux için Güvenli Ağ Dosya Sistemleri: İnsanlar ne yapıyor?


26

NFSv3 yaygın, ancak varsayılan güvenlik modeli ... antika . CIFS Kerberos kimlik doğrulamasını kullanabilir, ancak POSIX anlambilimi olmadan bu bir başlangıç ​​değildir. AFS hiçbir zaman teldeki trafiği şifrelememiştir ve krb4'tür - ve temelde ölü bir projedir. Fantezi yeni deneysel dosya sistemleri asla gerçekleşmez ya da hıza odaklanır (ve eğer şanslıysanız, veri güvenilirliği) - örneğin, Luster, NFSv3 ile aynı müşteri-güven modelini kullanır. Ev kullanımı için, sshfs zarif, ancak bu kesinlikle ölçeklenmiyor.

Ve sonra tabii ki sec = krb5p ile NFSv4 var. Teoride harika, ancak on yıl sonra, gerçek dünyada sıkıntılı bir şekilde kullanılmıyor gibi görünüyor. Linux istemcisi şimdi deneysel etiketi kaldırdı. EMC Celerra, Isilon, vb. Bakarsanız, hepsi NFSv3'tür. (Celerra NFSv4'ü destekliyor, ancak belgelere gerçekten gömüldü. Isilon görünüşe göre FreeBSD'ye RPCGSS desteğini eklemeye çalıştı, bu yüzden belki de geliyor, ama şimdi yok.) Bu yazıyı "nfsv4" olarak bile etiketleyemiyorum çünkü Burada yeniyim ve bu yeni bir etiket olurdu .

Yani gerçekten . Hepiniz ne yapıyorsunuz?


"IPSEC üzerinden NFS3" demek isterdim ama yapamam.
sysadmin1138

1
"IPSEC üzerinden NFS3", çevrimiçi konuya yardımcı olur, ancak başka bir temel NFS sorununu ele almaz: bir istemci kutusu köklenirse veya kullanıcıların kendi sistemlerinde kök saldığı bir ortamdaysanız, bunlar uzaktaki herhangi bir kullanıcıyı önemsiz bir şekilde taklit edebilir.
mattdm

İşte yeni etiket;)
Cry Havok

1
AFAIK, Kerberos, NFS için tanımlandı
Javier,

2
Bir LAN ortamında teldeki trafiği şifrelemeye ihtiyaç duyduğumdan pek emin değilim (kimlik doğrulama olsa da şifrelenmelidir). Yine de ARP zehirlenmesini izlemelisiniz ...
Hubert Kario

Yanıtlar:


8

Belirli bir soru olduğundan (Hepiniz ne yapıyorsunuz), cevaplayalım: hiçbir şey. Çoğu yönetici ve kullanıcı NFS güvenliği konusunda endişelenmez, bu nedenle herkes NFSv3'ü kullanır. Tipik olarak kontrol edilen bir ortamdır (yalnızca tanınmış makinelerin ağa ilk etapta bağlanabilmesi anlamına gelir). Biri altyapıyı kötüye kullanırsa, kovulur veya hapse atılır.

Gerçekten kimsenin okumasını istemediğiniz veriler için, onları açıkça şifreleyin, örn. Firefox şifre veritabanları, ssh anahtarları veya pgp anahtarları. Bunu, yöneticinin dosya sunucusunda okuyabildiğini bildiğinizden, bu nedenle ağ dosya sistemi güvenliğinin yine de hiçbir yardımı olmayacağını biliyorsunuz.


14

Burada iki soru soruyor gibisin:

Aslında ne kullanıyoruz? ve bu ne yapar?

Ne ben değilim aslında kullanarak herhangi bir sorun olmadı bu yüzden POSIX az önemlidir benim kullanım senaryoları içinde, CIFS olduğunu. NFS3, SLES yükleme sunucum gibi güvenliğin önemli olmadığı alanlarda kullanılır. Ve son olarak, basit kullanıcı-arazi paylaşımı için sshfs / gvfs. Kablolu şifreleme gerekli görülmemektedir, bu nedenle bu bizim için anlamlı bir faktör değildir.

Diğer soruya gelince, aradığınız şey için altı ana gereksinim var gibi görünüyor:

  1. Kablodaki trafiği şifreler.
  2. Kimlik doğrulamayı şifreler.
  3. Posix anlambilimi.
  4. Sunucu tabanlı ACL'lerin güçlü uygulanması.
  5. Kullanıcı değil.
  6. Aslında kullanılıyor.

5. ve 6. noktaların buradaki katiller olacağından şüpheleniyorum, ama işte (ayrıca, bu tablonun gerçekten kullanışlı olacağı bir nokta , fakat markdown / StackExchange bunu desteklemiyor).

NFSv3 + IPSec

  1. Tel üzerinde şifreli, geçmek
  2. Şifreli kimlik doğrulama yok, başarısız
  3. Posix anlambilimi, başarılı
  4. Sunucu tabanlı ACL'lerin güçlü bir şekilde uygulanmaması, başarısız
  5. Kullanıcı değil, geçmek
  6. Aslında kullanılmış, geçmek

NFSv4 + Krb + IPSec

  1. Tel üzerinde şifreli, geçmek
  2. Şifreli kimlik doğrulama, başarılı
  3. Posix anlambilimi, başarılı
  4. Sunucu tabanlı ACL'lerin güçlü uygulanması, geçiş
  5. Kullanıcı değil, geçmek
  6. Aslında kullanılmaz, başarısız

CIFS

  1. Kabloda şifreli değil, başarısız
  2. Şifreli kimlik doğrulama
  3. Posix anlambilimi, başarılı (Samba & Kernel şimdi, Windows NT günlerinden beri bir Posix katmanına sahipti)
  4. Sunucu tabanlı ACL'lerin güçlü uygulanması, geçiş
  5. Kullanıcı değil, geçmek
  6. Aslında kullanılmış, geçmek

CIFS + IPSec

  1. Tel üzerinde şifreli, geçmek
  2. Şifreli kimlik doğrulama
  3. Posix anlambilimi, pas (şimdi Samba ve Çekirdek)
  4. Sunucu tabanlı ACL'lerin güçlü uygulanması, geçiş
  5. Kullanıcı değil, geçmek
  6. Aslında kullanılmaz, başarısız

sshfs

  1. Tel üzerinde şifreli, geçmek
  2. Şifreli kimlik doğrulama, başarılı
  3. Posix anlambilimi, başarılı
  4. Sunucu tabanlı ACL'lerin güçlü uygulanması, geçiş
  5. Kullanıcı mı, başarısız
  6. Aslında kullanılmış, geçmek

AFP / Netatalk

  1. Kabloda şifreli, başarısız
  2. Şifreli kimlik doğrulama, başarılı
  3. Posix anlambilimi, başarılı
  4. Sunucu tabanlı ACL'lerin güçlü uygulanması, geçiş
  5. Kullanıcı değil, geçmek
  6. Aslında kullanılıyor, başarısız

Ve orada dağıtılmış dosya sistemlerine dokunmuyorum. Sadece hepsini yapan tek bir şey yok. Bazıları yaklaşıyor (CIFS) ve bazıları zaten var ama hiç kimse bunları kullanmıyor (NFS4 + IPSec, CIFS + IPSec). Bazı nedenlerden dolayı, güvenli bir ağ dosya sistemi yıllar boyunca birçok uzlaşmaya maruz kalmış bir şeydir.


"NFSv4 + Krb" den bahsetmiş ve "7" ekleyecektiniz. bir soru olarak. Muhtemelen olurdu hangisi başarısız NFSv4 + krb5p için değil, aynı geçmesi sorulara 1-6 için.
al.

yeni bir güvenli ağ dosya sistemi SNFS zamanı gelebilir mi?
Unix Kapıcısı,

@ user37899 Sorun, her zaman olduğu gibi, cihaz satıcılarını desteklemeye ve kuruluşları dağıtmaya ikna etmektir.
sysadmin1138

1
POSIX modunda CIFS kullanmaya çalışırken çok kötü şansımız oldu. Belki de bunu tekrar ziyaret etmenin zamanı gelmiştir.
mattdm

FWIW CIFS + IPsec kullanıyorum, ancak POSIX anlambilimiyle kullanmıyorum. sunucu emc celerra'dır, istemciler win7. cisco ASA (celerra'nın yanında) ve win7 yerleşik ipsec'i arasındaki lan - lan modunda yapılan ipsec tünelleri.
Dan Pritts

3

Hem Linux hem de Windows istemcileriyle yıllardır openafs'ı üretimde kullanıyorum. Harika çalışıyor, aktif bir geliştirme topluluğuna sahip ve son birkaç yıl içinde çeşitli linux dağıtımları için ambalaj içerdiği için kurulumu ve yönetimi çok daha kolaylaştı. Onun siğilleri var, ancak daha fazla esneklik, müşterilerin ve sunucuların yavaş bağlantılarla ayrılmış olmaları, site dışı yedeklemelerin kolaylığı ve diğer olumlu AFSizmalar ile dengelendiğini gördüm.

Özellikle sevdiğim bir şey, ACL'lerin kilitlendiği, internete bakan web sunucularını openafs üzerinde çalıştırmak. Kerberos bileti olmadan, dosya sistemine yazabilen, kök üzerinde çalışan bir makine bile yok. Bu basit önlem nedeniyle saldırıların kaç kez tamamen başarısız olduğunu fark ettiğimizi sayamıyorum.

Bazı oldukça büyük openaf kullanıcıları var - tanıdığım en büyük ticari kullanıcı Morgan Stanley.


1

Halen canlı olan OpenAFS ve altında bir VPN var, çünkü şu andaki tek şifrelemesi DES.


2
Üretimde OpenAFS kullandım. Onun canlılığının söylentileri çok abartılıyor.
mattdm

Bu ay yeni bir sürüm yayımlandı ve bundan önce Windows'un yeni sürümlerini ve Linux çekirdeğinin yeni sürümlerini desteklemek için oldukça düzenli güncellemeler yapıldı (en yeni sürüm 3.0 desteği).
Hubert Kario

1

Bu konudaki birçok insanın veri gizlemekten bahsettiğini, yani saldırıları verilerinizi gizleyemediğini söylüyor. Veri bütünlüğü ve özgünlüğü hakkında düşünmek için aynı derecede önemli. Bu nfs paketi gerçekten nfs sunucunuzdan mı? Bir nfs paketi geçiş sırasında değişti mi?


IPsec üzerinden NFS (geniş alan bağlantılarında) bununla ilgileniyor ve ARP zehirlenmesi için izleme bunu LAN'da yapıyor
Hubert Kario

aslında ipsec'i başarı ile kullanan biri var mı?
Unix Kapıcısı

1

Bana göre bu Dağıtılmış Dosya Sistemlerinden biri sizin için olacak gibi geliyor. OpenAFS’ı eskiden olduğu gibi henüz IPv6’yı desteklemiyor.

GlusterFS ile kendimden çok memnunum . Gluster oldukça olgun, iyi bir performans sergiliyor ve iyi bir özelliğe sahip. Bununla birlikte, yakın zamanda IRC'de tartışıldığı gibi Gluster, IPv6'yı da stabil bir şekilde desteklememektedir. Bu özellik 3.6 veya 3.7 için planlanmış olacak.

Daha gelişmiş Kimlik Doğrulama özellikleri ve SSL ekleyen Gluster üzerine inşa edilen HekaFS adlı bir proje de var. Çok iyi belgelenmiş ve çok iyi tasarlanmış bir imo.

Ayrıca ilginizi çekebilecek şey , küresel şebeke hesaplamaları için tasarlanmış XtreemFS'dir , bu nedenle varsayılan olarak SSL ve diğer şeylerle birlikte gelir. Kullanım tercihim, topluluk daha aktif göründüğü ve daha iyi belgelendiği için Gluster'a düştü.

Her ikisi de elbette posix uyumludur.


0

NFS kullanıyorum. Ancak sunucudan sunucuya NFS, özel bir ağ omurgası üzerinden yapılır, böylece şifreleme gerekmez ve kimlik doğrulama bir tür anlamsızdır. Her dışa aktarımı, yalnızca seçilen bir dizini IP'ye dayalı bir sunucuda paylaşacak şekilde ayarlayın.


Birisi wireshark ile rafa geçene kadar özel ağ.
Unix Kapıcısı,

Bu fiziksel bir güvenlik sorunu o zaman. Sunucularla aynı odada olduklarında, yine de oyun biter.
Sundurma

-2

Tüm saygımla, bu soruna tamamen yanlış bakıyorsun ve birkaç saatliğine konsoldan uzak durmalısın.

Hemen hemen tüm depolama io'ları şifrelenmemiş çünkü soyutlama yığınının bu katmanında önemli değil. Şüphe mi ettin? Brokar fiber şalterinize bir dokunuş koyun ve tıpkı iscsi ve nfs gibi, fiber kanalının tamamen şifrelenmemiş bir karmaşa olduğunu göreceksiniz. Bunu çözmek bir depolama protokolü sorunu değil, orta seviye bir sorundur. Örneğin, güvenli ve şifreli nfs ister misiniz? İpsec / ssl / tls veya saf donanım çözümü kullanarak nfs istemcisi ile sunucu arasında işaret edecek şekilde şifrelenmiş bir lan oluşturuldu.


Bence önemli bir noktayı kaçırıyorsun. Sorunun dediği gibi, sorun NFS güvenlik modelinde. Şifreleme güzel olsa da, dediğiniz gibi çözülebilir bir problemdir. NFS'deki en büyük sorun, bir sisteme bir kez bir dosya sistemi monte edildiğinde, sisteme kök erişimi olan herkesin sahiplik veya izinlere bakmaksızın bu dosya sistemindeki herhangi bir dosyaya erişebilmesidir. AFS veya teorik olarak, sn = krbp5 ile NFSv4 gibi bir sistem dosyalara erişmek için güçlü kimlik bilgileri gerektirir ve bu nedenle güvenlikte önemli bir artış anlamına gelir. Köklenmiş bir NFS istemcisi, büyük miktarda veri gösterimini eşitlemez.
larsks

1
Kullanıcıdan her erişim için kimlik bilgisi girmesini istemediğiniz sürece, kimlik bilgileri kaydedilir. Kökten etkilenen bir müşterinin depolanan anahtarı kolayca bırakması muhtemeldir. Ağa bağlı herhangi bir dosya sistemi, dosya sisteminin tehlikeye girme riskini arttırır.
BillThor

@BillThor Bu, düşündüğüm şeydi. Kimlik bilgileri çekirdek hafızasındaysa saldırıya açık mı? Herhangi bir çekirdek belleğini okumak için bir çekirdek modülünün yüklenebileceğini düşünüyorum.
Rob Olmos

İstek, paylaşılan depolamaya erişimi olan bir kullanıcı bağlamında kullanıldığı sürece, muhtemelen kimlik bilgilerinin nerede olduğu önemli değildir. Kimlik bilgileri genellikle bir arka plan işleminde tutulur, bu nedenle onunla iletişim kurabilen herkes paylaşılan depolamaya erişebilir. Güvenli ağ depolaması riskini yerel depolama alanı ile aynı seviyeye getiririm.
BillThor

2
@BillThor: kerberos ile risk önemli ölçüde azaltılır, çünkü saldırgan yalnızca biletlerini ileten kullanıcıların dosya sistemlerine ve yalnızca bu biletlerin kullanım ömrüne erişebilir. Sistem tabanlı kimlik doğrulama ile (a la nfsv3) root, o kullanıcının tehlikeye attığı sistemle hiçbir ilgisi olmasa bile , herhangi bir kullanıcının dosyalarına erişebilir ve bunları yönetebilir .
mattdm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.