Konteynerler, DevOps girişimleri için bir mihenk taşı olarak hareket ederek geliştirme sürecinde devrim yarattı, ancak konteynerler her zaman açık olmayan karmaşık güvenlik riskleri getiriyor. Bu riskleri azaltmayan kuruluşlar saldırılara karşı savunmasızdır.

Bu makalede, kapsayıcıların çevik geliştirmeye nasıl katkıda bulunduğunu, kapsayıcıların resme getirdiği benzersiz güvenlik risklerini ve kuruluşların kapsayıcılı iş yüklerini güvence altına almak için DevOps’un ötesine geçerek neler yapabileceğini özetliyoruz. DevSecOps.

Konteynerler neden bu kadar hızlı yakalandı?

Konteynerler birçok yönden sanallaştırmanın evrimidir. Amaç, geliştirme sürecini hızlandırmak, geliştirmeden test ve uygulamaya kadar daha çevik bir yol yaratmaktı – zaten tam gelişmiş sanal makineleri kullanmaktan daha hafif bir yöntem.

Uygulamalar, diğer uygulamaların gereksinimleriyle çatışabilecek belirli kitaplık sürümleri gerektirdiğinden, bu sorunun özünde uygulama uyumluluğu yatmaktadır. Konteynerler bu sorunu çözdü ve geliştirme süreçleriyle ve bu süreçleri yöneten yönetim altyapısıyla iyi bir şekilde bağlantı kurdu.

Konteynerler, sanallaştırmayı bir sonraki seviyeye taşıyarak işlerini yaparlar. Sanallaştırma, donanım katmanını soyutlarken, kapsayıcılar işletim sistemi katmanını soyutlayarak esasen işletim sisteminin rolünü sanallaştırır. Konteynerleştirme, uygulamaları bir uygulamanın çalışması için gerekli tüm kitaplıkları içeren “konteynerlere” paketlerken, her uygulama kendi işletim sistemine sahip olduğunu düşündüğü için uygulamaları birbirinden habersiz tutarak çalışır.

İşlevsel olarak kapsayıcılar oldukça basittir – kapsayıcı yalnızca bir örneğe hangi bileşenlerin dahil edilmesi gerektiğini belirten bir açıklama içeren bir metin dosyasıdır. Bir kapsayıcının bu basitliği ve daha hafif yapısı, geliştirme yaşam döngüsü boyunca dağıtım için otomasyon (düzenleme) araçlarının kullanımını kolaylaştırır.

Kazanmak için DevOps… ancak güvenlik de önemlidir

Kapsayıcılar, DevOps’un kilidini açan anahtarlar olarak hareket ederek geliştirme verimliliğini önemli ölçüde artırma gücüne sahiptir. Gartner’ın 2023’e kadar, Kuruluşların %70’i kapsayıcılı iş yükleri çalıştıracak.

Uygulamaları geliştirme, test etme ve dağıtma süreci, geliştiriciler ve altyapıyla ilgilenen ekipler arasında sürekli bir ileri geri gidip gelen engellerle doluydu. Bugün, kapsayıcılar sayesinde geliştiriciler, çalışan bir ortamda oluşturup test edebilir ve bitmiş kodu, o ortamı tanımlayan bir spesifikasyonla birlikte gönderebilir.

Operasyonel tarafta ekipler, kullanıma hazır bir eşleştirme ortamı oluşturmak için yalnızca bu belirtimi yürütür. “Evet, ama benim makinemde çalışıyor…” hiçbir zaman sorunu çözmeye yardımcı olmadı – ancak bugün, bu, geliştiricilerin artık kullanmasına gerek olmayan bir ifade çünkü hata ayıklanacak herhangi bir çevresel sorun yok.

Yani evet, DevOps hızlı geliştirme demektir. Ancak eksik bir bileşen var: güvenlik. Bu nedenle, DevOps’tan geliştikçe DevSecOps hakkında giderek daha fazla şey duyuyoruz çünkü geliştiriciler DevOps modelinin tek başına güvenlik endişelerini yeterince ele almadığını fark ettiler.

Konteynerler çeşitli güvenlik risklerini beraberinde getirir

Kapsayıcılar, geliştirme sürecini basitleştirir ancak güvenlik resmine karmaşıklık getirir. Tüm işletim ortamını yalnızca geniş bir alana dağıtmak için bir kapsayıcıya sıkıca paketlediğinizde, saldırı yüzeyini de artırır ve farklı saldırı vektörlerine kapı açarsınız. Kapsayıcı ile paketlenmiş güvenlik açığı bulunan kitaplıklar, bu güvenlik açıklarını sayısız iş yüküne yayacaktır.

Birkaç risk var. Biri, kötü niyetli bir aktörün uygulamanızı karıştırarak değil, uygulamanızla birlikte sağlanan paketlerden veya bileşenlerden birini değiştirerek bir saldırı düzenlediği bir “tedarik zinciri saldırısıdır”. Bu nedenle, geliştirme çabalarıyla ilgilenen ekiplerin, geliştirdikleri uygulamayı ve kapsayıcı yapılandırması tarafından bir bağımlılık olarak alınan her kitaplığı değerlendirmesi gerekir.

Kapsayıcı güvenliğine ilişkin riskler, Docker’lardan Kubernetes gibi düzenleme araçlarına kadar kapsayıcıları etkinleştiren araçları da içerir, çünkü bu araçların izlenmesi ve korunması gerekir. Örneğin, sistem yöneticilerinin Docker kapsayıcılarını kök olarak çalıştırmasına izin vermemelisiniz. Aynı şekilde, bunların güvenliğinin ihlal edilmediğinden emin olmak için kapsayıcı kayıtlarınızı yakından korumanız gerekir.

Konteyner güvenliğinin merkezinde çekirdek güvenliği

Konteynerle ilgili güvenlik risklerinden bazıları diğerlerinden daha az görünür. Her kapsayıcının bir çekirdeğe erişmesi gerekir – sonuçta, kapsayıcılar yalnızca bir tür gelişmiş işlem yalıtımıdır. Ancak tüm kapsayıcıların aynı çekirdeğe dayandığı gerçeğini gözden kaçırmak kolaydır – kapsayıcıların içindeki uygulamaların birbirinden ayrılmış olması önemli değildir.

Bir kapsayıcıdaki uygulamaların gördüğü çekirdek, ana bilgisayarın çalışması için güvendiği çekirdekle aynıdır. Birkaç sorunu beraberinde getiriyor. Kapsayıcıyı destekleyen ana bilgisayardaki çekirdek bir açıktan yararlanmaya karşı savunmasızsa, kapsayıcı içindeki bir uygulamadan bir saldırı başlatılarak bu güvenlik açığından yararlanılabilir.

Bu nedenle, çekirdeğin ana bilgisayardaki tüm kapsayıcılar tarafından paylaşılması, kusurlu bir çekirdeğin hızla yamalanması gerektiği veya tüm kapsayıcıların güvenlik açığından hızla etkilenebileceği anlamına gelir.

Yine, yama yapmaya geliyor

Bu nedenle, ana bilgisayarın çekirdeğini güncel tutmak, güvenli ve güvenli konteyner operasyonlarını sağlamada önemli bir adımdır. Ve yamaya ihtiyaç duyan sadece çekirdek değil, bir kapsayıcı tarafından çekilen kitaplıklara yamalar uygulanmalıdır. Ancak, bildiğimiz gibi, sürekli olarak yama uygulamak, yapmaktan daha kolaydır. muhtemelen bu yüzden bir çalışma, analiz edilen kapsayıcıların %75’inin bir güvenlik açığı içerdiğini buldu kritik veya yüksek riskli olarak sınıflandırılır.

Bu güvenlik açıkları, örneğin, bir saldırganın, kapsayıcı dışında kod yürütebilmek için bir kapsayıcı içindeki kusurlu bir kitaplığa güvendiği koparma saldırılarına yol açabilir. Saldırgan, bir kapsayıcıyı ihlal ederek, ister ana bilgisayar sistemi isterse başka bir kapsayıcıdaki bir uygulama olsun, sonunda hedeflediği hedefe ulaşabilir.

Konteynerler bağlamında, güvenli kitaplıkları sürdürmek gerçek bir baş ağrısı olabilir – birinin yeni güvenlik açıklarını ve ayrıca nelerin yamalanıp nelerin yapılmadığını izlemesi gerekir. Süreç zahmetlidir, ancak aynı zamanda kuruluşunuzun henüz sahip olmadığı bir şey olan uzman becerileri de gerektirir.

Düzenli, tutarlı yamanın değeri göz önüne alındığında, bu nedenler, gördüğümüz isabetli yama rutinlerine neden olmak için yeterli olmamalıdır, ancak – özellikle işletim sistemi çekirdeğini düşünürken – gerekli yeniden başlatmaların ve ilgili yeniden başlatmaların kesintiye uğramasına neden olur. kapalı kalma süresi pencerelerini koruma ihtiyacı, yama uygulamasını önemli ölçüde geciktirebilir. Canlı çekirdek yaması bu sorunu hafifletmeye yardımcı olur, ancak henüz tüm kuruluşlar tarafından dağıtılmamıştır.

Konteyner operasyonlarınıza her zaman güvenlik hedeflerini dahil edin

Bilgi güvenliği söz konusu olduğunda, son teknolojinin yeni komplikasyonlar getirmesi yaygın bir durumdur. Yeni araçlar genellikle yeni ve özgün istismarlara yol açar. Bu, kapsayıcılar için de geçerlidir ve iş yüklerinizde kapsayıcı kullanmanın genel değerini azaltmasa da, kapsayıcıların oluşturduğu risklere dikkat etmeniz gerektiği anlamına gelir.

Geliştiricilerinizi ve sistem yöneticilerinizi kapsayıcı güvenliğindeki yaygın kusurlar ve bu kusurları azaltan en iyi uygulamalar hakkında eğitmek bir başlangıçtır. yama bir diğer önemli yönüdür. Her zaman olduğu gibi, siber güvenlik kusurlarını azaltmak için doğru adımları atmak, kuruluşunuzun korunmasına yardımcı olacak ve ekibinizin bu son teknolojiden uykusuz geceler geçirmeden faydalanmasına olanak tanıyacaktır.



siber-2