SORU
18 Mart 2009, ÇARŞAMBA


Paylaşılan Dosya (UNC) bir Uzaktan erişim, Güvenilir Olmayan Etki alanı Kimlik bilgileriyle

Çözülmesi gereken ilginç bir durumla karşılaştık ve benim arama nill çıktı. Bu yüzden yardım için YANİ toplum için itiraz.

Sorun şu: bizim etki alanı olmayan bir program aracılığıyla erişmek için bir ihtiyaç paylaşılan bir dosya var, ve uzak dosya paylaşımı / UNC ile güvenilen dış etki alanı içinde değil. Doğal olarak, uzak makine için kimlik bilgilerini sağlamak için ihtiyacımız var.

Tipik olarak, bir veya İki yol var: biri bu sorunu çözer

  1. Bir sürücü olarak dosya paylaşımına ve göster o zaman kimlik bilgilerini sağlayın. Bu genellikle NET USE komut veya NET USE yinelenen win 32 fonksiyonlar kullanılarak yapılır.
  2. Erişim dosyası ile ilgili bir UNC yolu gibi uzak bilgisayar üzerinde etki sağlamak hesabı altında hangi program çalıştırır bozulur (şifre dahil) uzak makine olarak, yerel bir kullanıcı. Temel olarak kaldıraç Windows otomatik olarak kullanıcı paylaşılan bir dosyaya erişmeye çalıştığında, geçerli kullanıcının kimlik bilgilerini sağlamak olacaktır aslında.
  3. Uzak dosya paylaşımı kullanma. FTP (ya da başka bir şekilde) dosya transferi, yerel olarak çalışır, daha sonra geri transfer kullanın.

Çeşitli ve muhtelif nedenlerden ötürü, / network mimarlar güvenliğimiz ilk iki yaklaşım reddettiler. İkinci yaklaşım, belli ki bir güvenlik açığı; eğer uzak bilgisayar ele geçirilirse, yerel bilgisayar şimdi risk altında. İlk yaklaşım ve yeni oluşturulmuş sürücü programı ile dosya erişimi sırasında paylaşılan bir kaynak yerel bilgisayardaki diğer programlar için kullanılabilir, çünkü yetersiz. Oldukça mümkün Bu geçici yapmak için olsa bile, yine de onlara göre bir delik.

Üçüncü seçeneği açık olduklarını, ancak uzak ağ yöneticileri SFTP yerine FTP katılımı üzerinde ısrar ediyor, ve sadece FtpWebRequest FTP katılımı destekler. SFTPgüvenlik duvarı dostu daha fazla seçenek ve bu yaklaşım için kullanabileceğim bir kaç kütüphaneler var, ama eğer yapabilirsem benim bağımlılığı azaltmak için tercih ederim.

MSDN uzak dosya paylaşımı kullanarak yönetilen iki ya da win 32 bir aracı aradım ama işe yarar bir şey ile gelip başarısız oldum.

Ve bu yüzden soruyorum: başka bir yolu var mı? Ben ne istiyor bu çok gizli bir win32 işlevi mi kaçırdım? Ya ben 3 seçenek bazı varyant takip gerekir?

CEVAP
26 Mart 2009, PERŞEMBE


Sorunu çözmek için bir yol Win32 API WNetUseConnection " adlı yöntem.< / ^ br . Bu işlev authenticaiton ile bir UNC yolu, bir sürücü göster DEĞİL bağlanmak için kullanın.

Bu aynı etki alanında değilse bile, farklı bir kullanıcı adı ve parola bile uzak bir makineye bağlanmak için izin verecektir.

WNetUseConnection kullanıldıktan sonra, eğer aynı etki alanında olsaydı gibi bir UNC yolu dosyaya erişmek mümkün olacak. Muhtemelen en iyi yolu, yönetimsel paylaşımları sayesinde.< / ^ br . Örnek: \\kullanıcıadı\c$\program files\Folder\file.txt

Here is some sample C# code that uses WNetUseConnection.

Not NetResource için lpLocalName için boş geçirir ve lpProvider gerekir. Bu arama RESOURCETYPE_DİSK olmalıdır. LpRemoteName \\BilgisayarAdı olmalıdır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011
  • Distractify

    Distractify

    1 Aralık 2011
  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006