An Overview About Architecting Azure Security

By | 29 March 2019

Bir uygulamanın güvenli olması bilinmeyen yada yetkilendirilmemiş birimlerin uygulamaya erişiminin önlenmesi anlamına gelir. Aynı zamanda bir uygulamanın güvenli olması uygulama ile yapılan iletişimin de güvenli olması anlamına gelir.

Uygulamanın güvenli olması için temel olarak aşağıdaki dört bileşeni barındırması gerekir.

  • Authentication: Kullanıcıların uygulamaya erişmeleri için yaptıklar kimlik doğrulama süreçlerini ifade eder. Azure üzerinde kimlik doğrulama işleminde ConnecID kullanılır.
  • Authorization: Kullanıcıların uygulamaya bağlandığında sahip olacağı rolü ifade eder. Kullanıcı kimlik doğrulama sürecinin ardından kendisine atanan yetkiler ile uygulama ile bağlantı sağlarlar.
  • Confidentiality: Kullanıcı ile uygulama arasındaki güvenli iletişimi ifade eder. Bu iletişim eşler arasında şifrelenmiş olarak yapılır.Bu iletişimde symmetric ve asymmetric şifreleme kullanılır. Ek olarak sertifikalar ise yapılan iletişimde encryption ve decryption yapma amacı ile kullanılır.
  • Integrity: Eşler arası yapılan güvenli iletişimde iletilen datanın bütünlüğünün sağlanması anlamına gelir. Yani mesajı gönderildiği hali ile alıcı tarafından hiç bir değişikliğe uğramadan alınır. Eşler arası yapılan iletişimde integrity kontrolünün sağlanması dijital imzalar ve hash’ler sayesinde olur.

Azure mimarisinde güvenlik gereksinimlerinin uygulanması IaaS,SaaS ve PaaS servisleri için farklı konfigürasyonlar gerektirir. Yani her birinin güvenlik gereksinimleri farklı olabilir. Bu servisler üzerinde güvenliğin arka planda bırakılması ilerleyen süreçte zararlı ataklara sebep olabilir.

Aslında güvenlik Azure üzerinde kullanılan servisler için fonksiyonel bir gereksinim değildir. Ancak günümüzde yapılan atakları göz önünde bulundurursak fonksiyonel bir gereksinim haline geldiğini görebiliriz.

Organizasyonlar uygulamaları için kendi belirledikleri güvenlik yaşam döngülerini yapılarına entegre ederler. Ancak security ataklar önlenmesi gereken bir gereksinim haline geldikten sonra bu güvenlik gereksinimlerinin uygulma geliştirme süreçlerinde de uygulanması kaçınılmaz olmuştur. Yani güvenlik gereksinimleri uygulama geliştirildikten sonra uygulanacak gereksinimler olmaktan çıkıp uygulama ile birlikte geliştirilen gereksinimler haline gelmiştir. Bu sebeple uygulama dizayn edilirken parallel olarak güvenlik gereksinimleri de göz önünde bulundurulmaya başlanmıştır.

Yukarıda görülen adımlar bir uygulamanın operasyonel olarak hizmet verdiği durumda sahip olması gereken güvenlik yaşam döngüsü adımlarıdır. Tehlikelerin tanımlanması ve ortadan kaldırılması için ortamın proaktif olarak izlenmesi gerekir. Aynı zamanda reaktif diagnostic ve hata ayıklama işlemleri için monitoring bileşenlerinin alert ve audit log üretmesi gerekir.

Uygulama security yaşam döngüsü planlama fazı ile başlar ve bunu dizayn fazı takip eder. Dizayn aşamasında uygulama bişelenleri daha küçük birimlere indirgenerek bu birimlerin iletişimleri incelenir.Bu birimlerin etkileşimlerine göre oluşabilecek güvenlik tehditleri belirlenir. Güvenlik tehlikeleri belirlendikten sonra uygun güvenlik çözümleri entegre edilir. Bu işlemin ardından test işlemi ile hala güvenlik tehditlerinin var olup olmadığı kontrol edilir. Uygulamanın test aşamalarından sonra production’a deploy edilmesi ile proaktif ve reaktif monitoring başlar. Bu monitoring ile güvenlik tehditleri monitor edilir.

Güvenlik Azure datacenter’larında en öncelikli bileşenlerden birisidir. Fiziksel güvenlik için alınabilecek bütün sertifikalar tüm Azure datacenter’ları için alınmış durumdadır.Çünkü müşteriler tüm kritik uygulamalrını Azure’a güvenip bu platform üzerined çalıştırmaktadır. Bu sebeple Azure datacenter tarafında her katman yüksek güvenlik önlemleri ile korunmaktadır.Ve bu güvenlik katmanları tüm fiziksel bileşenlerden yazılım katmanına kadar en üst seviyede entegre edilmiş durumdadır. Hatta datacenter personeli bile security açısından customer verisine erişemeyecek şekilde kısıtlanmış durumdadır.

Azure Datacenter’larında güvenliği sağlamak için aşağıdaki çözümler entegre edilmiştir.

  1. Secure user access: Azure platformu üzerine deploy edilen müşteri verisine sadece müşterinin kendisi erişir. Azure datacenter personelinin böyle bir hakkı yoktur. Müşteri verisine erişme hakkı ile ilgili izinleri ancak müşteri verebilir.
  2. Encryption at rest: Azure üzerinde tutulan tüm yönetim dataları şifrelenir. Müşterilerinde kendi datalarını şifrelemelerine olanak verilir.
  3. Encryption at transit: Azure networklerindeki tüm data şifrelenmiş şekilde hareket eder. Ayrıca Azure backbone’una yapılan tüm erişimler yetkilendirilmiş olmalıdır. Yetkilendirilmemiş erişimler bloklanır.
  4. Active monitoring and auditing: Azure datacenter’lar aktif olarak izlenmektedir. Böylece aktif olarak zaafiyetler, tehtidler ve riskler hızlıca belirlenip ortadan kaldırılır.

Bu bölümde genel hatları ile security bileşenlerinden ve Azure datacenter’ları üzerindeki güvenlik katmanlarından bahsetmiş olduk.

Bir sonraki bölümde Azure üzerindeki IaaS mimarisinde kullanılan güvenlik bileşenlerinden bahsedeceğim.

Görüşmek üzere.

Kaynak: Azure for Architects Ebook

Fırat

Leave a Reply