Yazının önceki bölümlerini
başlıkları altında okuyabilirsiniz.
Komut dosyası üç bilgisayarı kapsayan ortak bir senaryo varsayıyor – Komut dosyasının çalıştığı Bilgisayar A; bir yamanın kurulumunu gerektiren bilgisayar B; ve çalıştırabilir yamanın bulunduğu Bilgisayar C. Bu durumda iki tane engel vardır. İlki isteğe bağlı olarak seçilen bir hesapta güvenlik bağlamında uzak bir işlem başlatmak sorununu sWbemLocator sınıfının ConnectServer metodundan yararlanarak çözebiliriz (19. satır).
ConnectSever methodu, kullanıcının alternatif itimatnameleri belirtmesini sağlar (biçim alanındaki isim kullanıcı ismi ve buna bağlı şifre, 16. ve 17. satırlarda belirtilmiştir). İkinci engel ise bu methodun kerberos kimlik denetimini kullanmasıdır (asıl kullanılan NTML yerine). this of the Microsoft Knowledge Base articles makalesinde de detaylı bir şekilde açıklandığı gibi bunun nedeni üçüncü bilgisayara (bizim durmumuzda, Bilgisayar C) bağlanmak için delegasyon gerekmesi ve NTML ile kimlik denetimi yapılırken bunun sağlanamamasıdır. Bu delegasyon ImpersonationLevel değerini 4’e (20. satır) getirilerek seçilir.
21. satırda Bilgisayar B’de çalıştırılan sisteme kapama ayrıcalığı tahsis edilir (böylelikle yama kuruluşu tekrar açılımın hemen sonrasında başlar). Kullanılması gereken emir satırı, 14. satırda belirtilmiştir (yama kurumunun tipik sentaksı için Summary of Command-Line Syntax for Software Updates sayfasındaki Microsoft bazlı makaleye bakabilirsiniz. Besbelli ki bilgisayar isimleri, alan, kullanıcı kimlikleri, ve yama yolları çevreyle uyuşacak bir şekilde değiştirilmelidir.
Bu yöntemdeki en önemli problem Windows 2000 veya 2003 alanları ve Windows 2000 ve daha ilerki bilgisayarla sınırlı olması (Windows NT 4.0 sisteminde ve NT 4.0 alanında desteklenmemiştir). Buna ek olarak delegasyon ayrıcalıkları oluşturmak potansiyel bir saldırı olarak görülmektedir.
Bu limitleri aşmak için birkaç çalışma elimizde mevcuttur:
- Yamaları uygulanacak hedef bilgisayarlardaki belirtilmiş yerlere kopyalamak. Bunu ikincisini kullanmadan evvel ayrı, basit bir komut dosyası kullanarak yapabilirsiniz.Kullanıcıların yazma ayrıcalıkları olan bir dizin seçildiği hallerde dosyalar bağlanma komut dosyasını parçası olarak ta dağıtılabilir.Bu suretle Kerberos ve görevlendirmeye bağlı olmaz,asıl NTLM ve kişiselleştirme ayarlarına dönebilirsiniz, komut dosyasının 19.satırı şöyle değişecektir:
Set oWMISvc= oLocator.ConnectServer(sComputerB, “rootcimv2”, _
sDomain & “” & sUserName, sPassword) - ve 20. satıra:
oWMISvc.Security_.ImpersonationLevel = 3 - 14. satır da local bir yola dönüşebilecektir.NTLM ve kişiselleştirme bir Windows NT ortamında iyi çalıştığı için üstteki kısıtlamalar sözkonusu olmayacaktır.Benzer bir yaklaşım,visual basic komut dosyasının 824146 (MS03-039) veya 823980 (MS03-026) Güvenlik yamalarının kurulma esnasında kullanılmasını tarif eden Microsoft bilgi tabanı makalesinde-827227 de benzer bir yaklaşım sergilenmektedir.(makalede bulunan komut dosyası başka yamaların uygulanabilmesi için değiştirilebilmektedir).
- Yamaların uzaktaki bilgisayarlara kopyalanması uygulanabilir görünmediği hallerde sürücü eşleştirmesi asıl komut dosyasının parçası olarak ilave edilebilir.Bu komut dosyası bir sürücüyü yama dosyalarının bulunduğu C bilgisayarındaki bir paylaşımla eşleştirecektir,belirlenmiş kimlik özellikleri kullanarak(bunların komut dosyasına entegre olarak kodlanması yerine komut dosyasını komut satırından çalıştırırken emir bilgi istemi olarak sağlanmasını öneriyoruz.)Bu yolla C bilgisayarına yapılan bağlantı varolan sürücü eşlemesinin güvenliğini sağlayacaktır.
- Daha da basit bir opsiyon ise the SysInternals Web sitesinden PSExec yardımcı yazılımını çalıştırmaktır.PSExec bir yamanın bulunduğu bilgisayardan çalıştırılacak ve yama dosyasının uzaktaki sisteme belirlenmiş opsiyonlarla çalıştırılması için kopyalanmasını sağlıyacaktır.Kurum sonuçlandıktan sonra uzaktaki bilgisayardaki dosya otomatik olarak silinecektir.
Bu serideki gelecek makale ile ücretsiz çözümleri araştırmaya devam edeceğiz.