BranchCache, Windows Server 2008 R2 ve Windows 7 ile birlikte sunulan, Windows Server 2012 ile birlikte ise bazı geliştirmelerin yapıldığı geniş alan ağı (Wide Area Network) bant genişliği optimizasyonunu sağlayan bir teknolojidir. Uzak ofislerde bulunan kullanıcılar geniş alan ağı bant genişliğini kullanarak merkez ofis üzerinden bir dosyayı kopyalamak istediğinde, BranchCache bu içeriği kopyalayarak ön belleğine alır ve uzak ofiste aynı dosyaya tekrardan erişim sağlayan kullanıcıların bant genişliğini kullanmadan ilgili içeriğe yerel ağdan erişmelerini sağlar.
BranchCache teknolojisi ile birlikte akıllarda oluşan temel kaygılar genellikle güvenlik eksenli olmaktadır. Kritik verinin belli bir sunucuda ya da istemcilerin üzerinde tutulması bazı güvenlik açıklarına sebep olabilir mi? Zararlı bir yazılım ön belleğe alınan bu verinin içine yerleşebilir mi? BranchCache hangi verileri Clear-Text (Şifrelenmemiş Metin) olarak saklar?
Var olan bu kritik verinin korunması için BranchCache varsayılan olarak bazı güvenlik önlemleri ile gelir. Bu önlemler aşağıda incelenmiştir:
- Kimlik doğrulama domain kimlik bilgileri kullanılarak gerçekleştirilir.
- Yetkilendirme Access Control Lists (ACL) kullanılarak gerçekleştirilir.
- Dosya ön bilgileri HTTP, HTTPS ve SMB kullanılarak dolaştırılır.
- Dosya ön bilgileri dosyanın kendisi, algoritma, blok boyutu ve sunucu anahtarı gibi değerler kullanılarak hash lenir.
- Önbellekte tutulan verinin dolaşımı için Peer Content Caching ve Retrieval Framework protokolleri kullanılır.
- Hash lenmiş dosya ön bilgisi aşağıdakileri içerir:
- Block Hash List: Hash lenmiş veri blokları.
- Hash of Data: Block Hash List tarafından oluşturulur.
- Segment Secret: Yetkilendirilmiş istemcilere gönderilen içerik temelli hash.
- Hash of Data ve Segment Secret istemci tarafından alındığında Segment Secret şifreleme anahtarı olarak kullanılır. Bu ikisi kullanılarak Segment ID oluşturulur.
- İstemci Segment ID’yi kullanarak içeriği kendi yerel ağında bulmaya çalışır. Bulamaz ise sunucuya istek göndererek WAN üzerinden yüklemeye başlar.
Yukarıdaki hash adımları ile birlikte gönderilen tüm veri blokları ilgili anahtarlar kullanılarak şifrelenir.
İstemciler ilgili verinin yerel ağ üzerinde nerede olduğunu öğrenmek için Web Services Dynamic Discovery (WS-Discovery) protokolünü kullanır. Bu noktada tüm istemcilere ulaşılması gerektiği için Probe mesajı ağa yayılır. Bu mesajın içerisinde Segment ID kullanılarak istemcilerin talep ettiği içerik ile ön belleklerinde tuttukları içeriğin aynı olduğu doğrulanır. Aynı şekilde bu durum kritik veriyi açığa çıkarmak isteyen bir saldırganın da şifreleme anahtarını bilmesini gerektirir.
İstemciler arasında var olan tüm trafik genel bir şifreleme standardı olan AES 128 ile şifrelenir. Bu yüzden ilgili trafiği dinlemek isteyen bir saldırgan yalnızca şifrelenmiş veriye ulaşabilecektir. Aynı şifreleme, içerik sunucularından indirilen dosya bilgi paketleri için de geçerlidir.
Denial of Service (DoS) atakları ile istemcinin cevap veremez duruma gelmesinin önüne geçilmesi için BranchCache kuyruk yönetimi sayaçları ile birlikte çalışır ve bu durumun önüne geçer.
İstemciler Hosted Cache modu ile çalışırken Hosted Cache sunucusuna, sunucunun FQDN (Fully Qualified Domain Name) bilgisini kullanarak ve BranchCache tarafından dinleme amaçlı kullanan TCP portu üzerinden erişim sağlarlar. Hosted Cache sunucusu üzerindeki sertifika, dinleme için kullanılan bu porta atanmıştır. İstenirse Hosted Cache sunucusu “Require Client Authentication” ayarı ile yapılandırılarak istemcilerin ve kendisinin HTTPS kimlik doğrulamasını desteklemesini sağlar.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar