İstemciler ve uygulama veya hizmet arasında isteklere aracılık etmek için ayrılmış bir konak örneği kullanarak uygulamaları ve hizmetleri koruyun. Aracı istekleri doğrular ve temizler ve ek bir güvenlik katmanı sağlayabilir ve sistemin saldırı yüzeyini sınırlayabilir.
Bağlam ve sorun
Bulut hizmetleri, istemci uygulamalarının API'lerini çağırmasına olanak sağlayan uç noktaları kullanıma sunar. API'leri uygulamak için kullanılan kod, kimlik doğrulaması, yetkilendirme, parametre doğrulaması ve istek işlemenin bir kısmı veya tümü dahil ancak bunlarla sınırlı olmamak üzere çeşitli görevleri tetikler veya gerçekleştirir. API kodu büyük olasılıkla istemci adına depolamaya ve diğer hizmetlere erişebilir.
Kötü amaçlı bir kullanıcı sistemin güvenliğini ihlal ederse ve uygulamanın barındırma ortamına erişim kazanırsa, güvenlik mekanizmaları ve verilere ve diğer hizmetlere erişim sağlanır. Sonuç olarak, kötü amaçlı kullanıcı kimlik bilgilerine, depolama anahtarlarına, hassas bilgilere ve diğer hizmetlere sınırsız erişim elde edebilir.
Çözüm
Bu sorunun bir çözümü, ortak uç noktaları uygulayan kodu istekleri işleyen ve depolamaya erişen koddan ayrıştırmaktır. İstemcilerle etkileşim kuran bir cephe veya ayrılmış bir görev kullanarak ayırmayı gerçekleştirebilir ve ardından isteği (belki de ayrılmış bir arabirim aracılığıyla) isteği işleyen konaklara veya görevlere devredebilirsiniz. Şekilde, bu düzene ilişkin üst düzey bir genel bakış sağlanmaktadır.
Ağ geçidi denetleyicisi deseni depolamayı korumak için veya uygulamanın tüm işlevlerini korumak için daha kapsamlı bir cephe olarak kullanılabilir. Önemli faktörler şunlardır:
- Denetimli doğrulama. Ağ geçidi denetleyicisi tüm istekleri doğrular ve doğrulama gereksinimlerini karşılamayen istekleri reddeder.
- Sınırlı risk ve etkilenme düzeyi. Ağ geçidi denetleyicisi, depolama alanına veya hizmetlere erişim için güvenilir konak tarafından kullanılan kimlik bilgilerine veya anahtarlara erişim sahibi değildir. Ağ geçidi denetleyicisi ele geçirilirse saldırgan bu kimlik bilgilerine veya anahtarlara erişim elde edemez.
- Uygun güvenlik. Ağ geçidi denetleyicisi sınırlı bir ayrıcalık modunda çalışırken uygulamanın diğer kısmı, depolama alanına ve hizmetlere erişim için gerekli olan tam güven modunda çalışır. Ağ geçidi denetleyicisi ele geçirilirse uygulama hizmetlerine veya verilerine doğrudan erişemez.
Bu düzen tipik bir ağ topografisindeki bir güvenlik duvarı işlevini görür. Ağ geçidi denetleyicisinin istekleri incelemesine ve isteğin gerekli görevleri gerçekleştiren güvenilir ana bilgisayara geçirilip geçirilmeyeceğine karar vermesine olanak tanır. Bu karar genellikle ağ geçidi denetleyicisinin, isteği güvenilir konağa iletmeden önce istek içeriğini doğrulayıp temizlemesini gerektirir.
Sorunlar ve dikkat edilmesi gerekenler
Bu düzenin nasıl uygulanacağına karar verirken aşağıdaki noktaları göz önünde bulundurun:
- Güvenilen konakların yalnızca ağ geçidi denetleyicisi tarafından kullanılan iç veya korumalı uç noktaları kullanıma sunduğundan emin olun. Güvenilen konaklar, herhangi bir dış uç noktayı veya arabirimi kullanıma sunmamalıdır.
- Ağ geçidi denetleyicisi, genellikle ağ geçidi denetleyicisini ve güvenilen konağı ayrı barındırılan hizmetlerde veya sanal makinelerde çalıştırmayı gerektiren sınırlı bir ayrıcalık modunda çalıştırılmalıdır.
- Ağ geçidi denetleyicisi, uygulama veya hizmetlerle ilgili herhangi bir işlem gerçekleştirmemeli veya verilere erişmemelidir. Tek işlevi istekleri doğrulamak ve temizlemektir. Güvenilen konakların ek istek doğrulama gerçekleştirmesi gerekebilir, ancak ağ geçidi denetleyicisi çekirdek doğrulamayı gerçekleştirmelidir.
- Ağ geçidi denetleyicisi ile güvenilir konaklar veya görevler arasında mümkün olduğunca güvenli bir iletişim kanalı (HTTPS, SSL veya TLS) kullanın. Ancak, bazı barındırma ortamları iç uç noktalarında HTTPS’yi desteklemez.
- Ağ geçidi denetleyicisi desenini uygulamak için ek katmanın eklenmesi, gereken ek işleme ve ağ iletişimi nedeniyle performansı büyük olasılıkla etkiler.
- Ağ geçidi denetleyicisi örneği, tek hata noktası olabilir. Bir hatanın etkisini en aza indirmek için yedekli örnekleri dağıtmayı ve kullanılabilirliği korumak için kapasiteyi güvence altına almak için bir otomatik ölçeklendirme mekanizması kullanmayı göz önünde bulundurun.
Bu düzenin kullanılacağı durumlar
Bu desen, aşağıdaki uygulamalar için yararlıdır:
- hassas bilgileri işleme
- kötü amaçlı saldırılara karşı yüksek düzeyde koruma gerektiren hizmetleri kullanıma sunma
- kesintiye uğratılmaması gereken görev açısından kritik işlemler gerçekleştirin.
- istek doğrulamasının ana görevlerden ayrı olarak gerçekleştirilmesi veya bakım ve yönetimi basitleştirmek için bu doğrulamanın merkezileştirilmesi gerekir
İş yükü tasarımı
Bir mimar, Azure İyi Tasarlanmış Çerçeve yapılarında ele alınan hedefleri ve ilkeleri ele almak için Ağ Geçidi Denetleyicisi deseninin iş yükünün tasarımında nasıl kullanılabileceğini değerlendirmelidir. Örneğin:
Yapı Taşı | Bu desen sütun hedeflerini nasıl destekler? |
---|---|
Güvenlik tasarımı kararları, iş yükünüzün verilerinin ve sistemlerinin gizliliğini, bütünlüğünü ve kullanılabilirliğini sağlamaya yardımcı olur. | İstek akışına bir ağ geçidi eklemek, web uygulaması güvenlik duvarları, DDoS koruması, bot algılama, istek işleme, kimlik doğrulama başlatma ve yetkilendirme denetimleri gibi güvenlik işlevlerini merkezileştirmenizi sağlar. - SE:06 Ağ denetimleri - SE:10 İzleme ve tehdit algılama |
Performans Verimliliği , ölçeklendirme, veri ve kod iyileştirmeleri aracılığıyla iş yükünüzün talepleri verimli bir şekilde karşılamasını sağlar. | Bu düzen, düğüm düzeyinde hız denetimleri uygulamak yerine ağ geçidi düzeyinde azaltmayı nasıl uygulayabileceğinizi gösterir. Tüm düğümler arasında hız durumunun eşgüdümlü olarak gerçekleştirilmesi doğal değildir. - PE:03 Hizmetleri seçme |
Herhangi bir tasarım kararında olduğu gibi, bu desenle ortaya konulabilecek diğer sütunların hedeflerine karşı herhangi bir dengeyi göz önünde bulundurun.
Örnek
Bulutta barındırılan bir senaryoda, bu düzen bir uygulamadaki güvenilir rol ve hizmetlerden ağ geçidi denetleyicisi rolü veya sanal makine ayrıştırılarak uygulanabilir. Uygulama bir iç uç nokta, kuyruk veya depolama alanını ara iletişim mekanizması olarak kullanabilir. Şekilde bir iç uç noktanın kullanımı gösterilmektedir.
İlgili kaynaklar
Ağ Geçidi Denetleyicisi düzeni uygulanırken Vale Anahtarı düzeni de kullanılabilir. Ağ Geçidi Denetleyicisi ve güvenilen roller arasında iletişim kurarken, kaynaklara erişim izinlerini sınırlayan anahtarlar veya belirteçler kullanarak güvenliği geliştirmek iyi bir uygulamadır. Desen, istemcilere belirli bir kaynak veya hizmete kısıtlı, doğrudan erişim sağlayan bir belirteç veya anahtar kullanmayı açıklar.