EN
EN

Konteyner Kullanımında Dikkat Edilmesi Gereken Güvenlik Riskleri


Konteynerler, uygulama kodunun herhangi bir yerde çalıştırılabilmesi için, kitaplıklar ve bağımlılıklar gibi tüm bileşenleri içeren yazılım paketleridir. Konteynerlar işletim sistemini sanallaştırarak uygulamanın platform bağımsız çalışmasını sağlar. Konteynerlar, 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 yılına kadar kuruluşların %70'inin konteyner kullanacağını tahmin ediyor.

Uygulamaları geliştirme, test etme ve dağıtma süreci, geliştiriciler ve altyapıyla ilgilenen ekipler arasında sürekli bir ileri ve 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.

-Konteynerlar birçok yönden sanallaştırmanın evrimi olarak kabul edilebilir. Yazılımcılara geliştirme aşamasından test ve uygulama sürecine kadar geliştirme sürecinin hızlanmasında katkı sağlar.

-Konteynerlar geliştirme süreçleri ve bu süreçleri yöneten yönetim alt yapısı ile bağlantı kurarak uygulama uyum sorununu çözdü.

-Sanallaştırma, donanım katmanını soyutlaştırırken/sanallaştırırken, konteynerlar işletim sistemini soyutlayarak aslında işletim sisteminin rolünü soyutlar.

-Uygulamalar bir uygulamanın çalışması için gerekli tüm kitaplıkları içeren konteynerlar şeklinde paketlenirken, her uygulama kendi işletim sistemine sahip olduğunu düşündüğü için birbirlerinden habersiz çalışırlar.

-Konteynerlar oldukça basit çalışır. Sadece bir örneğe hangi bileşenlerin dahil edilmesi gerektiğini belirten açıklama içeren bir metin dosyasıdır. Konteynerlerin bu basit yapısı yazılım geliştiricilerin yaşam döngüsü boyunca dağıtım için otomasyon araçlarının kullanımını kolaylaştırır.

Geliştiricilerin DevOps modelinin tek başına güvenlik risklerini yeterince ele almadığını fark ettikleri için DevOps'tan DevSecOps’a geçiş yapmaktadır. Konteynerlar (kapsayacılar) yazılım geliştiriciler için bir mihenk taşı niteliğindedir. Fakat konteynerlar açık olmayan güvenlik risklerini de beraberinde getirmektedir. Bu risklerin varlığından habersiz olan kuruluşlar siber saldırılara karşı savunmasız durumdadır.

Konteynerler çeşitli güvenlik risklerini beraberinde getirir!

Konteynerlar geliştirme sürecini basitleştirirken güvenliği karmaşıklaştırır. İşletim sistemi ortamını bir konteynere sıkıca paketlemek saldırı yüzeyini arttırır. Konteynerlar ile paketlenmiş güvenlik açığı bulunan kitaplıklar, bu güvenlik açıklarını sayısız iş yüküne yayacaktır.  Konteyner güvenliğine ilişkin riskler, Docker'lardan Kubernetes gibi düzenleme araçlarına kadar konteynerleri etkinleştiren araçları da içerir bu araçların izlenmesi ve korunması gerekir.

Bir siber saldırgan sadece uygulamanın kaynak kodunu kurcalayarak değil, uygulamanın sağladığı diğer paket veya bileşenlerden birini kurcalayarak tedarik zinciri saldırısı yapabilir.

Riskler nasıl azaltılır?

Çekirdek güvenliği: Her konteynerin bir çekirdeğe erişmesi gerekir. Ancak tüm konteynerlerin aynı çekirdeğe dayandığı unutulmamalıdır. Konteyner içinde ki işletim sistemlerinin ayrı olması önemli değildir. Konteynerdeki uygulamaların gördüğü ile ana bilgisayarın çalıştığı çekirdek aynıdır. Konteyneri destekleyen ana bilgisayardaki bir çekirdek bir zafiyete sahipse konteyner içindeki bir uygulamadan bir saldırı başlatılarak bu zafiyetten faydalanılabilir.

Bu nedenle zafiyetli bir çekirdek varsa hızla yamalanmalıdır aksi halde çekirdeği paylaşan tüm konteynerleri etkiler.

Yama Yönetimi: Ana bilgisayarın çekirdeğini güncel tutmak güvenli konteyner operasyonlarını sağlamada önemli bir adımdır. Fakat sadece çekirdek özelinde yama yönetimi yeterli değildir, bir konteyner tarafından kullanılan tüm bileşenler için yamalar uygulanmalıdır.

Konteynerler bağlamında, bileşenlerin güvenliğini sürdürmek büyük bir iş yükü gibi görünebilir. Birinin yeni güvenlik açıklarını ve ayrıca nelerin yamalanıp nelerin yapılmadığını izlemesi gerekir. Süreç zahmetlidir ve aynı zamanda uzman becerileri de gerektirir. Bu durumda yeni yama yönetim teknolojilerinden yararlanılabilir.

Konteyner operasyonlarına güvenlik hedeflerini eklemek: Bilgi güvenliği söz konusu olduğunda, yeni teknolojiler farklı komplikasyonlar (yeni ve özgün istismarlar) getirmektedir. Bu durum konteynerler için de geçerli olmakla beraber konteynerlerin oluşturduğu risklere dikkat edilmesi gerekmektedir.

Kurumların, yazılım geliştiricilerini ve sistem yöneticilerini konteyner güvenliğindeki yaygın zafiyetleri ve bu zafiyetleri azaltan en iyi uygulamalar hakkında eğitmeleri önemli bir başlangıç adımıdır.

Yazar: Nazlıcan Hatice Tanın / Bilgi Sistemleri Denetim Uzmanı