it-swarm-tr.com

Windows'ta bir simge bağlantısı oluşturmak için neden yönetici olmanız gerekiyor?

Linux'ta her kullanıcı sembolik bağlantılar oluşturabilir, ancak Windows'ta bir yönetici komut satırına ihtiyacım var veya mklink başarısız oluyor. Neden?

71
ripper234

Varsayılan olarak, yalnızca yöneticiler sembolik bağlantılar oluşturabilir, çünkü SeCreateSymbolicLinkPrivilege ayrıcalığına Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\ verildi.

Microsoft TechNet'ten: Windows Vista için Yeni Güvenlik İlkesi Ayarları :

Sembolik bağlantılar (semboller), sembolik bağlantıları işlemek için tasarlanmamış uygulamalardaki güvenlik açıklarını açığa çıkarabilir.

23
ordag

Artık tamamen (aşağıya bakın) durum --- Windows 10 Insider build 14972'den itibaren (Windows 10 yaratıcıları ~ 1703'ü günceller).

Bununla birlikte, blog gönderisinin altındaki yorumlardan, diğer cevaplarda bahsedilen konularla ilgili endişeler hala var ve bu yeni davranışı kullanmak için şunları yapmanız gerekiyor:

  • makinenizde geliştirici modunu etkinleştir
  • CreateSymbolicLink API'sine SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE bayrağı iletin
8
MayeulC

Linux bölümlendirilmiş bir dosya/kullanıcı yapısına sahiptir. Bunun anlamı "A programı", "disk alanı C" ile ilgili olmadıkça "B görevi" yapamaz. Bu nedenle sembolik bağlantılar risk penetrasyonu açısından lojistik olarak hiçbir şeyi gerçekten etkilemez, çünkü tüm işletim sistemi eylem izni varsayımına dayanmaktadır.

Ya da başka bir deyişle, düşük seviyeli izinlerden başka bir hacker iseniz, bir gazilyon sembolü oluşturmak size yardımcı olmaz. Yani, Linux veya MacOS'ta size yardımcı olmaz.

Ancak, Windows'ta oturum açmış olan kişi dışında bir program çalıştıran bir "program A" yoktur ... bu nedenle oturum açmış olan kişi istedikleri yere "görev B" yapabilir. Bu nedenle, sembolik düzeylere nüfuz etmenize kesinlikle yardımcı olur, çünkü yaygın olarak bulunan gerçek dosyaları viral yük ile geçersiz kılabilir ve yaptığınızı gizleyebilirsiniz.

Yani, symlink koruma seviyesi olmadan, bir virüs sizi enfekte edebilir, yükü olarak çalışabilir, örneğin "Explorer.exe "sahte" exactly-as-windows-made-it-except-with-a-payload Explorer.exe".

Neden bunu yapasın? Dürüst olmak gerekirse krallığın anahtarları budur. Bu bilgisayarı teorik olarak geleceğe doğru yol alan vb.

5
Mr Heelis

Vista'nın lansmanının nedenini buldum. Yalnızca yöneticilerin verilen nedeni çok basittir. Belirtilmemiş güvenlik sorunları değildir, sembolik bağlantılarda gezinirken güvenlik açıklarının açılmasını önlemek için eklenmeden önce tam olarak mevcut olmayan API çağrılarını kullanmak için binlerce yazılımın yükseltilmesi gerekir.

Windows, sembolik link yarışlarına karşı oldukça savunmasızdır; Bundan kaçınmanın yolları vardır, ancak neredeyse hiç uygulama API'ları bu şekilde kullanmamaktadır. Microsoft bile sembolik link yarışını içeren güvenlik hatalarını kabul etmiyor. Sadece üç ay önce haber vermeye çalıştım.

4
Joshua

Sabit bağlantılar ve dizin bağlantıları yalnızca bir bölümün içindedir (bir sürücüden diğerine veya hatta bir ağ konumuna sabit bağlantı olamaz).

SymLinks ise sistemdeki "güvenli" görünen bir yerden bir ağ konumuna bağlanabilir.

1
StefanA