BITS Güvenliği, Belirteçler ve Yönetici Hesapları
HTTP Sunucusu sertifika geri çağırmaları
Sunucu sertifikalarının doğru doğrulanması, HTTPS güvenliğini korumanın önemli bir parçasıdır. BITS, sunucu sertifikalarını SetSecurityFlagstarafından belirtilen gereksinimler listesinde her zaman doğrulayarak yardımcı olur. Varsayılan olarak, BITS "tarayıcı" stili sertifika doğrulamayı kullanır.
Sertifikayı daha fazla doğrulamak için çağrılacak özel bir işlev de belirtebilirsiniz. SetServerCertificateValidationInterface yöntemiyle sunucu sertifikası geri çağrısını ayarlayın. Yönteminiz yalnızca SetSecurityFlag çağrısına göre sertifikayı doğruladıktan sonra çağrılır.
HTTP İstemci sertifikaları
İki farklı sertifika ayarları yöntemiyle bir HTTP işinde istemci sertifikası ayarlayabilirsiniz. Sertifikayı kimliğine veya sertifikakonu adına göre ayarlayabilirsiniz. Sunucu istemci kimlik doğrulaması gerektiriyorsa, istemci sertifikası TLS anlaşması (veya yeniden anlaşma) sırasında kullanılır.
Yalnızca yazma HTTP üst bilgileri
BITS, HTTP kimlik doğrulama belirteçlerini istenmeyen erişimden korumanıza yardımcı olur. Http sunucularına dosya indirirken veya karşıya yüklerken genellikle bir HTTP sunucusu bir tür güvenlik belirteci veya dizesine ihtiyaç duyar.
BITS, bu kimlik doğrulama belirteçlerini çeşitli yollarla korur.
- BITS, BIR HTTPS URL'si belirterek TLS ve SSL korumalı HTTP bağlantılarını kullanmanıza olanak tanır.
- Özel üst bilgiler her zaman diskte şifrelenmiş biçimde kalıcı hale getirilir.
- IBackgroundCopyJobHttpOptions3::MakeCustomHeadersWriteOnly yöntemiyle müşteri üst bilgilerinin diğer programlara döndürülmesini engelleyebilirsiniz.
Standart ve Yönetici kullanıcıları
Yönetici grubunda yer alan bir kullanıcı, standart kullanıcı erişimiyle veya yükseltilmiş durumda (yönetici ayrıcalıklarıyla) bir işlem çalıştırabilir. BITS, kullanıcı bilgisayarda oturum açtığı sürece işi her iki durumda da çalıştırır. Ancak, kullanıcı işi oluşturduysa veya işin sahipliğini yükseltilmiş durumda aldıysa, işi almak veya değiştirmek için kullanıcının yükseltilmiş durumda olması gerekir (aksi takdirde, çağrı Erişim Reddedildi (0x80070005) ile başarısız olur). Bir işin yükseltilmiş durumunu belirlemek için IBackgroundCopyJob4::GetOwnerElevationState yöntemini çağırın.
Standart bir kullanıcı, diğer kullanıcıların sahip olduğu işleri numaralandıramaz veya değiştiremez.
Bütünlük düzeyi
Yükseltilmiş duruma ek olarak, belirtecin bütünlük düzeyi kullanıcının bir işi değiştirip değiştiremediğini belirleyebilir. İstemci, daha yüksek bütünlük düzeyine sahip bir belirteç tarafından oluşturulan işleri değiştiremez. Özellikle, birçok yerel sistem belirteci yükseltilmiş bir pencerenin bütünlük düzeyinden daha yüksek bir bütünlük düzeyine sahiptir ve bu nedenle normal yükseltilmiş bir komut penceresinden yönetici tarafından değiştirilemezler. Örneğin, Windows Update ve SMS işleri, yöneticinin bu işleri değiştirememesi veya sememesi için yükseltilmiş bir belirteçten daha yüksek bir bütünlük düzeyine sahip LocalSystem olarak çalışır. Bu işi değiştirmek için yerel sistem olarak çalışan bir Görev Zamanlayıcı görevi oluşturun. Görev, BITS API'sini kullanan bir konsol uygulamasını yürütebilir veya görev BitsAdmin.exeçağıran bir betik yürütebilir. Kullanılan bütünlük düzeyini belirlemek için IBackgroundCopyJob4::GetOwnerIntegrityLevel yöntemini çağırın.
Hizmet kimliği
Windows 10 Mayıs 2019 Güncelleştirmesi'nde (10.0; Derleme 18362), bir hizmetten başlatılan BITS işleri hizmet kimliğini korur. Bu, BITS kullanarak izinlerinin hizmet SID'sine bağlı olduğu bir dizine dosya indirmesine veya bu dizinden dosya yüklemesine olanak tanır. Buna ek olarak, ağ trafiği BITS ile ilişkilendirilmek yerine BITS işini isteyen hizmete doğru şekilde özniteliklendirilir.