Dağıtılmış Uygulamalar ve Güvenlik – Cybersecurity Dergisi


Bulut sağlayıcılarının ortaya çıkışı, yeni uygulamalar geliştirme şeklimizi büyük ölçüde etkiliyor çünkü çoğu durumda bu yeni uygulamalar doğada, birçok kez farklı bulut sağlayıcıları arasında ve şirket içi/şirket içinde dağıtılacak. Bu yeni gerçeklik, yalnızca geliştiriciler için değil aynı zamanda biz siber güvenlik uzmanları için de bir zorluk teşkil ediyor.

Yeni bir uygulamanın neden dağıtılmış bir sistem olarak tasarlanması gerekebilir? Bir müşterinin ERP sistemleri Oracle Cloud Infrastructure ile çalışıyor olabilir, Microsoft Azure’da çalışan bir Hizmet Olarak Altyapıya sahip olabilir, müşteri verileri Salesforce’ta olabilir ve şirket içinde tutulan bazı verilere de ihtiyaç duyulabilir. Bu, konumların yanı sıra farklı erişim gereksinimlerine sahip veriler için 4 farklı konum anlamına gelir. Bu tür durumlar, beraberinde getirdiği tüm zorluklarla birlikte dağıtılmış uygulama sistemleri gerektirir.

Zorluklardan bazıları şunlardır:

Ağ güvenliği: Dağıtılmış uygulamalar ağırlıklı olarak ağ iletişimine dayandığından, gizlice dinleme, ortadaki adam saldırıları ve hizmet reddi (DoS) saldırıları gibi çeşitli ağ tabanlı saldırılara karşı hassastırlar.

Veri Güvenliği ve Gizliliği: Dağıtılmış bir sistemdeki farklı düğümler arasında hareket eden verilerin gizliliğini ve bütünlüğünü sağlamak çok önemlidir. Çoklu erişim noktaları nedeniyle veri ihlali ve sızıntısı riski daha yüksektir.

Kimlik doğrulama ve yetkilendirme: Dağıtılmış uygulamalar genellikle kullanıcıların ve hizmetlerin kimliğinin doğrulanması ve yetkilendirilmesi için sağlam mekanizmalar gerektirir. Kullanıcı ve hizmet sayısı arttıkça, özellikle de farklı güvenlik alanlarına yayıldıkça bu durum karmaşık hale gelir.

Dağıtılmış Hizmet Reddi (DDoS) Saldırıları: Bunlar, aynı anda birden fazla bileşeni hedefleyebildikleri ve sistemi tek hedefli bir saldırıdan daha etkili bir şekilde bastırabildikleri için dağıtılmış sistemlere karşı daha etkilidirler.

Yazılım Güvenliği: Dağıtılmış uygulamaların karmaşıklığı, tüm bileşenlerde tutarlı güvenlik uygulamalarının sağlanmasının zor olması nedeniyle yazılımdaki güvenlik açıklarının artmasına neden olabilir.

Yapılandırma ve Yönetim Güvenliği: Dağıtılmış bir kurulumdaki yanlış yapılandırmalar önemli güvenlik açıklarına yol açabilir. Dağıtılmış bir mimaride güvenli bir yapılandırmayı sürdürmek karmaşıktır ve hataya açıktır.

Uyumluluk ve Yasal Zorluklar: Çeşitli veri koruma ve gizlilik yasalarına uymak, özellikle birden fazla yetki alanına yayılmış dağıtılmış sistemlerde daha zorlayıcı hale gelir.

Güncelleme ve Yama Yönetimi: Dağıtılmış bir sistemin tüm bileşenlerinin düzenli olarak güncellenmesini ve bilinen güvenlik açıklarına karşı yama uygulanmasını sağlamak, bu sistemlerin heterojen ve coğrafi olarak dağınık doğası göz önüne alındığında zor olabilir.

Birlikte Çalışabilirlik ve Standardizasyon Sorunları: Dağıtılmış bir sistemdeki farklı bileşenler, farklı güvenlik protokolleri ve standartları kullanabilir ve bu da potansiyel zayıflıklara ve uyumluluk sorunlarına yol açabilir.

Yukarıdaki konuların her biri, dağıtılmış sistemlere etkileri açısından başlı başına bir kitabı hak ediyor, ancak bu makalede Yazılım güvenliği ve bulut satıcıları arasındaki birlikte çalışabilirlik konusuna odaklanmak istiyorum.

Yazılım Güvenliği

Farklı veritabanları, işletim sistemleri ve güvenlik sistemleri çalıştıran farklı bulut satıcılarıyla farklı sistemlerde çalışan yazılımlar geliştirmek ve bulut platformlarını birbirinden farklı şekilde yönetmek, dağıtılmış bir uygulamanın güvenliği açısından büyük bir baş ağrısıdır.

Danimarka’da bir şirket veya kuruluş için nadiren tek bir bulut tedarikçisi stratejisi görüyorum. Çoklu bulut Avrupa genelinde de tercih gibi görünüyor, dünyanın diğer bölgelerinde de aynı durumun geçerli olmasını bekliyorum. Bir uygulamanın farklı bulutlarda çalıştırılmasındaki en büyük zorluklardan bazıları şunlardır:

Tutarsız Güvenlik Politikaları ve Standartları: Her bulut sağlayıcısının kendine ait güvenlik politikaları ve kontrolleri olabilir. Bu değişken ortamlar arasında tutarlılığın sağlanması zordur ve bu da güvenlik kapsamında boşluklara yol açabilir.

Artırılmış Saldırı Yüzeyi: Birden fazla bulut sağlayıcısının kullanılması, doğal olarak siber saldırılar için potansiyel giriş noktalarının sayısını artırır. Bu farklı ortamlarda güvenliği yönetmek karmaşıktır.

Kimlik ve Erişim Yönetimi (IAM) Karmaşıklığı: Birden fazla platformda kullanıcı kimliklerini ve erişim kontrollerini yönetmek zordur. Yetkisiz erişime yol açabilecek yanlış yapılandırma riski daha yüksektir.

İzleme ve Olay Müdahalesindeki Zorluk: Verilerin ve uygulamaların farklı bulut ortamlarına dağıtılması, güvenlik tehditlerinin izlenmesini ve olaylara etkili bir şekilde yanıt verilmesini zorlaştırabilir.

Entegrasyon ve Birlikte Çalışabilirlik Zorlukları: Farklı bulutlarda barındırılan hizmetler arasında güvenli ve kusursuz entegrasyonun sağlanması kolay değildir. Kötü entegre edilmiş sistemler güvenlik açıklarına neden olabilir.

Bu sorunların hiçbiri kolayca hafifletilemez ancak yine de önemlidir. Neyse ki piyasada çeşitli satıcıların bu zorluğun farkına vardığına dair işaretler var. Azure AD’yi Oracle Bulutu ile kullanabilirsiniz; Microsoft ve Oracle, bulutlarındaki veritabanları üzerinde işbirliği yapmaya başladı. Bu bulutlar arası iş birliği eğiliminin önümüzdeki yıllarda daha da hızlanmasını bekliyorum.

Buna ek olarak, hiçbir şirket veya kuruluşun, artan maliyetler veya iş stratejisine yardımcı olmayan satıcı stratejileri gibi bunun ima ettiği iş riskleri nedeniyle tek bir satıcıya bağlı kalmak istemeyeceğini de ekleyin.

Birlikte çalışabilirlik

Farklı bulut platformlarında sorunsuz entegrasyon ve operasyon sağlamada zorluklar olduğunda, bulut birlikte çalışabilirliği sorunları ortaya çıkar. Bu sadece farklı platformlarla ilgili değil, şeytan ayrıntıda gizli. Zorluklardan bazıları şunlardır:

Uyumsuz API’ler: Farklı bulut sağlayıcıları sıklıkla özel API’ler kullanır. API’ler birbirleriyle etkili bir şekilde iletişim kuramayacağından, hizmetleri entegre etmeye veya verileri ve uygulamaları bir buluttan diğerine geçirmeye çalışırken bu durum zorluklar yaratabilir.

Veri Taşınabilirliği Sorunları: Verilerin farklı bulut ortamları arasında taşınması, farklı sağlayıcılar tarafından kullanılan farklı veri formatları, depolama mimarileri ve protokoller nedeniyle sorunlu olabilir. Bu, veri bütünlüğü ve tutarlılığında sorunlara yol açabilir.

Farklı Güvenlik Modelleri: Her bulut sağlayıcısı farklı güvenlik modelleri ve uyumluluk standartları uygulayabilir. Bulut platformlarında tutarlı güvenlik politikaları ve uyumluluk sağlamak için bunları hizalamak zor olabilir.

Çeşitli Performans Standartları: Farklı bulut hizmetleri, özellikle gerçek zamanlı işleme ve hızlı veri aktarım hızları gerektiren uygulamalar için entegre sistemlerin genel performansını etkileyebilecek farklı performans düzeyleri sunabilir.

Karmaşık Ağ Yapılandırmaları: Farklı bulut ortamları arasında güvenli ve verimli ağ bağlantısı kurmak karmaşık olabilir. Farklı ağ protokolleri, bant genişliği sınırlamaları ve gecikme sorunlarıyla ilgilenmeyi içerir.

Satıcıya Özel Özellikler ve Uzantılar: Bazı bulut sağlayıcıları, diğer bulutlarda desteklenmeyen veya bulunmayan benzersiz özellikler veya uzantılar sunar. Bu, farklı bulut ortamlarında benzer işlevleri sürdürmeye veya çoğaltmaya çalışırken satıcıya bağımlılığa ve zorluklara yol açabilir.

Otomasyon ve Düzenlemede Karmaşıklık: Farklı ortamlara uyum sağlamak için özelleştirilmiş komut dosyası oluşturma ve entegrasyon çalışmalarına duyulan ihtiyaç nedeniyle iş akışlarını birden fazla bulut platformunda otomatikleştirmek ve düzenlemek zor olabilir.

Bunların hepsi uygulamada kontrol edilebilecek ve hafifletilebilecek sorunlardır, ancak uygulamaya karmaşıklık katarlar ve benim naçizane fikrime göre karmaşıklık siber güvenliğin düşmanıdır. Yeni uygulamalar için tek bir bulut stratejisini savunmuyorum, kesinlikle savunmuyorum, ancak bunlar, yeni bir uygulamanın gereksinimlerinin birden fazla bulut satıcısında çalışması gerektiğinde dikkate alınması gereken yeni konulardır ve ayrıca şirket içinde tutulan verilere de değinebilir. .

Öneriler

Dağıtılmış uygulama sistemleri birçok yeni uygulama geliştirme projesi için hızla norm haline geliyor. Bunları tasarlamanın ve geliştirmenin sorumlu yolu nedir?

Güvenlik Odaklı Geliştirme Uygulamalarını Kullanın: Geliştirmenin ilk aşamalarından itibaren güvenlik hususlarını bütünleştiren güvenli bir yazılım geliştirme yaşam döngüsünü (SDLC) benimseyin. Buna kod incelemeleri, statik ve dinamik kod analizi ve güvenliğin tasarım aşamasına dahil edilmesi dahildir.

Uyumluluk ve Yasal Hususlar: Uygulamanın niteliğine ve işlediği verilere bağlı olarak sistemin ilgili endüstri standartlarına ve GDPR, HIPAA veya PCI-DSS gibi yasal gereksinimlere uygun olduğundan emin olun.

Sıfır Güven Mimarisi: Ağın içinden veya dışından hiçbir kullanıcıya veya hizmete varsayılan olarak güvenilmediği ve ağdaki kaynaklara erişmeye çalışan herkesin doğrulamasının gerekli olduğu sıfır güven yaklaşımını benimseyin.

Yazdırma Dostu, PDF ve E-posta



Source link