Azure Application Proxy

Azure Application Proxy

Web uygulamalarınızı; port yönlendirme, dmz bölgesinde yapılandırma, vpn çözümlerini uygulama vb. adımları uygulamadan Internet’ten erişilebilir kılmak için bir çözüm arıyorsanız Azure Application Proxy servisini inceleyebilirsiniz.  Araştırmam sonrasındaki düşüncelerimi paylaşayım.

İlk etapta göze çarpan özellikleri:

  • Reverse Proxy, VPN, DMZ vb. ek yapılandırmalara gerek kalmıyor.

  • Outlook Web Access, Sharepoint veya diğer line of business uygulamalarınız ile entegre olabiliyor.

  • Authorization kontrolü gibi önemli güvenlik alanlarında zengin özellikler sunuyor.

  • Single Sign On, Pass through authentication seçimlerini sunuyor.

  • Integrated windows authentication veya form based authentication kullanan uygulamalarınız ile entegre olabiliyor.

  • Remote desktop gateway arkasından sunulan uygulamalar ile entegre olabiliyor.

 

Servisin yapılandırması nasıl? 

Öncelikle geçerli bir MS Azure ve Azure AD Premium aboneliği gerekiyor. Yapılandırma adımlarını ilgili öğeleri farklı renk ile belirterek aktarayım.

 

Application Proxy bölümünden connector yazılımını temin ediyoruz. Connector, Internet’ten erişilebilir kılmak istediğimiz uygulama sunucusuna yükleyeceğimiz küçük boyutlu bir yazılımdır. Connector yazılımı Azure AD API’ları ile sunucu arasındaki iletişimi sağlıyor.

 

 

İletişimin sağlanması için connector’ün yüklendiği sunucunun Azure AD API’lerına erişimi(inbound yönde değil!) gerekiyor.

Connector’ün yüklenmesi ile uygulama sunucusuna iki yeni windows service kuruluyor.

 

 

Connector; kurulumu sırasında kendisini Azure AD Application Proxy servisine kayıt ettiyor. Aşağıda connector’ün kayıt olduğu default group’u görebiliriz. teappproxy01 string’i, lokalde çalışan uygulama sunucusunun hostname’idir.

 

 

Inbound trafiğin kapalı olduğu uygulamayı Azure Application Proxy’ye ekleme adımına geldik. Üstte görülen Enterprise application bölümünden ilerleyeceğiz.

 

 

Bir application ekledim. Eklediğim application’ın detaylarını aşağıda aktarıyorum.

 

 

Internal Url  Lokal ortamımızda çalışan uygulamanın binding ’ini belirtiyorum. 

External Url  Azure aboneliğinizde doğrulanmış dns domain’lerinizin herhangi birini kullanabilirsiniz. 

Pre Authentication  Azure Active Directory’de tanımlı IDENTITY’ler ile uygulamaya erişebilirsiniz. Lokal Active Directory ’nizi Azure AD’ye sync ederek de ilerleyebilirsiniz.

 

Connector kurulumu sırasında kendini default group’a kayıt ettirmişti. Onu connector group kısmından seçiyoruz.

 

Web uygulamanıza az karmaşık kullanıcı dostu isimler ile erişmek isterseniz, DNS > CNAME yapılandırmasını kullanabilirsiniz.

 

Son olarak, web uygulamanıza ait ssl sertifikasını üstte görülen Certificate kısmından yüklemelisiniz. Aksi durumda güvenli uyarısı ile karşılaşırsınız. (Araştırma ortamımda ssl sertifikası yüklemedim)

 

Geldiğimiz nokta:

Lokal ortamdaki uygulama sunucusuna connector kurduk. Azure Application Proxy’ye kayıt oldu. Lokal ortamdaki uygulamamızı Azure Application Proxy’ye tanıttık. Uygulamaya erişimde authentcation’ının Azure Active Directory ’den denetlenmesini sağladık. Son olarak, Azure Active Directory ’deki hangi user’ın(hangi identity’nin) uygulamaya erişebileceğini belirtiyoruz. 

 

 

 

Üstte görülen identity’ye, azure application proxy üzerinden lokaldeki uygulamaya erişim izni vermiş olduk. Test zamanı.

 

Uygulamaya erişmek istediğimde aşağıdaki görüldüğü üzere authentication için yönlendiriliyorum. 

 

İzin verdiğim kullanıcı ile üstteki formu doldurup authenticate oluyorum.

 

 

Sonuç olarak application proxy üzerinden, lokal ortamımdaki uygulamaya erişiyorum. 

Normal şartlarda, lokal ortamınızdaki uygulamanın Internet erişilebilir hale getirilmesi süreçleri şu şekillerde gelişir.

  • 3 tier yapıda web, app , db sunucularınız mevcuttur.

  • Internet’ten gelenlere hizmet verecek Web sunucunuzu DMZ ağında yapılandırırsınız.

  • DMZ ile App veya DB arasında gereken trafiği açarsınız(inbound)

  • DMZ’ye gelen trafiği açarsınız(inbound)

  • Kritik bir detay varsa, önce VPN sonra erişim sağlarsınız, vb.

 

Üstteki teste gördüğümüz üzere application proxy ile inbound yönde bir port açmadan erişimi sağladık. 

Farklı uygulamalarınızı application proxy ile entegre ederek erişimi tek noktadan kontrol edebilir, örneğin işten ayrılan bir personelin tüm erişimini hızlıca iptal edebilirsiniz. 

 

İyi çalışmalar.

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *