3 puan yazan GN⁺ 2024-09-06 | 2 yorum | WhatsApp'ta paylaş

Red Hat'in RHEL kaynak kodu dağıtım yöntemini değiştirmesi

  • Haziran 2023'te Red Hat, Red Hat Enterprise Linux (RHEL) arkasındaki kaynak kodunun dağıtım yöntemini değiştirme yönünde tartışmalı bir karar aldı
  • Bu karar, Rocky Linux, AlmaLinux, Oracle Linux gibi RHEL'in aşağı akış yeniden derlemelerinin gelecekteki yaşayabilirliği hakkında birçok soru işareti doğurdu
  • Her dağıtım daha sonra topluluğu yatıştırmak için açıklamalar yaptı
  • Birçok açık kaynak topluluğu Red Hat'in kararını açgözlü bir şirket etkisi olarak yorumladı
  • İnsanlar Debian'a taşındıklarını ya da zaten taşınmış olduklarını söyleyerek bir sığınak arıyor

Güvenliğin önemi ve zorluğu

  • Güvenlik zordur, sıkıcıdır, tatsızdır ve düzgün yapmak için çok emek ister
  • Debian kullanıcıları korumak için yeterli çabayı göstermiyor

Red Hat'in SELinux'u benimsemesi ve varsayılan politika sunması

  • Red Hat uzun zaman önce SELinux kullanımını benimsedi ve yalnızca çekirdekte bu özelliği etkinleştirmenin ötesine geçti
  • Dağıtım için varsayılan SELinux politikaları oluşturma gibi zahmetli işi üstlendi
  • Bu politikalar RHEL'de varsayılan olarak etkin gelir ve RHEL'de varsayılan olarak çalışan çok çeşitli daemon ve sunucular arasında en yaygın kullanılanları korumaya yardımcı olur
  • Apache, nginx, MariaDB, PostgreSQL, OpenSSH ve diğerleri, RHEL dağıtımıyla gelen SELinux politikaları tarafından korunur

SELinux politikalarının konteynerlere uygulanması

  • Bu koruma konteynerlere kadar uzanır
  • Konteynerler, geliştiricilerin yazılım dağıtımı için giderek daha çok tercih ettiği bir yöntem haline geliyor
  • Bir şeyi konteyner içinde çalıştırmanın doğası gereği güvenli olduğu düşüncesi bir yanılgıdır
  • Konteynerler güvenlik sorununu değil, yazılım dağıtımı sorununu çözer
  • Red Hat tabanlı dağıtımlarda, daemon olmadan konteyner çalıştırabilme ve tamamen rootless çalışabilme avantajı sunan bir Docker alternatifi olan podman kullanılabilir
  • Red Hat bir adım daha ileri giderek konteynerleri ana işletim sisteminden ve diğer konteynerlerden ayıran güçlü varsayılan SELinux politikaları uygular
  • SELinux politikalarını konteynerlere uygulamak, bilinmeyen gelecekteki açık risklerini azaltan güçlendirilmiş bir güvenlik önlemi sağlar

Red Hat'in varsayılan SELinux politikaları sunma çabası

  • Red Hat, bu varsayılan politikalar üzerindeki çalışmayı yapmazsa kullanıcıların teknolojiyi benimsemeyeceğini ve milyonlarca sunucunun savunmasız kalacağını biliyordu
  • SELinux zordur; politika dili ve araçları karmaşık, muğlak ve vergi beyannamesi doldurmak kadar çekici değildir
  • Ancak Red Hat'in yaptığı çalışma sayesinde RHEL'de SELinux kullanımı büyük ölçüde şeffaftır ve kullanıcılara somut güvenlik faydaları sağlar

Debian'ın AppArmor yaklaşımı

  • Debian, kararlılığı ve geniş yazılım kütüphanesiyle tanınan açık kaynak topluluğunun temel taşlarından biridir
  • Ancak varsayılan güvenlik çerçevesinin gelişmeye çok ihtiyacı vardır
  • Debian 10'dan itibaren AppArmor'u varsayılan olarak etkinleştirme kararı güvenliği iyileştirmek adına olumlu bir adımdır, ancak sistem genelinde yarım yamalak uygulanmış olması nedeniyle yetersiz kalır
  • Debian'ın AppArmor'a bağımlılığı ve varsayılan yapılandırması, güvenliğe yaklaşımında sistematik sorunlar olduğunu gösterir
  • AppArmor uygun şekilde yapılandırıldığında güçlü güvenlik sağlayabilir, ancak Debian'ın varsayılan ayarları bu potansiyeli kullanamaz

Debian'daki AppArmor sorunları

  • Sınırlı varsayılan profiller: Debian, birçok kritik hizmeti korumasız bırakan asgari bir AppArmor profil setiyle gelir
  • Tepkisel yaklaşım ve proaktif duruş farkı: Debian'ın güvenlik modeli çoğu zaman daha sıkı politikaları uygulamayı kullanıcıya bırakır ve varsayılan olarak güvenli bir yapılandırma sunmaz
  • Tutarsız uygulama: Red Hat sistemlerindeki SELinux'un aksine Debian'daki AppArmor kısmen uygulanır ve bu da potansiyel güvenlik boşlukları yaratır
  • Kaynak eksikliği: Topluluk merkezli bir proje olan Debian, Red Hat'inkine benzer kapsamlı güvenlik politikalarını geliştirmek ve sürdürmek için gerekli kaynaklardan yoksundur

Debian'da Docker ile konteyner iş yükleri çalıştırmak

  • Debian'da Docker üzerinden konteyner iş yükleri çalıştırmak son derece yaygındır
  • Docker, konteynerler için docker-default adlı varsayılan bir AppArmor profilini otomatik olarak oluşturur ve yükler
  • Ne yazık ki bu güvenlik açısından çok güçlü bir profil değildir ve aşırı derecede izin vericidir
  • Bu profil bir miktar koruma sağlasa da önemli bir saldırı yüzeyini açık bırakır

AppArmor ile SELinux arasındaki temel farklar

  • AppArmor ile SELinux arasındaki temel fark, zorunlu erişim kontrolüne (MAC) yaklaşımlarında yatar
  • AppArmor yol tabanlı bir modelle çalışırken SELinux çok daha karmaşık bir type enforcement sistemi kullanır
  • Bu farklar özellikle konteyner ortamlarında belirgin hale gelir
  • SELinux sistemdeki her nesneye (dosyalar, süreçler, portlar vb.) bir tür uygular
  • SELinux destekli bir RHEL sisteminde bir konteyner başlatıldığında ona hemen container_t türü atanır; bu katı bir erişim kontrol mekanizmasıdır
  • container_t türü, konteynerin konteyner kullanımı için açıkça etiketlenmemiş nesnelerle etkileşime girmesini etkili biçimde engelleyerek onu sınırlar
  • SELinux type enforcement ile yetinmez; konteyner izolasyonunu bir adım öteye taşımak için çok kategorili güvenlik (MCS) etiketleri kullanır
  • Bu etiketler, aynı türdeki (container_t) konteynerler arasında bile izolasyonu koruyan ek bir ayrıştırma katmanı görevi görür
  • Her konteyner kendine özgü bir MCS etiketi alır ve daha geniş container_t ortamı içinde özel bir sandbox oluşturur

AppArmor'un yaklaşımı

  • AppArmor türler veya kategorilerle ilgilenmez; bunun yerine önceden tanımlanmış profillere dayanarak belirli programların yeteneklerini sınırlamaya odaklanır
  • Bu profiller, programların hangi dosyalara erişebileceğini ve hangi işlemleri yapabileceğini belirtir
  • Bu yaklaşım uygulaması ve anlaşılması daha basittir, ancak SELinux'un type enforcement modeli kadar ayrıntılı veya sistem genelinde tutarlı değildir
  • Ana akım Linux dağıtımları varsayılan olarak tüm yaygın ağ odaklı daemon'lar için kapsamlı AppArmor profilleri dağıtmaz

Gerçek dünyadaki etkiler

  • SELinux ortamında ele geçirilmiş bir konteyner, type enforcement ve MCS etiketlerinden oluşan çift bariyer nedeniyle ana sisteme ya da diğer konteynerlere erişirken veya onları etkilerken ciddi engellerle karşılaşır
  • SELinux daha güçlü izolasyon sağlar, ancak bunun bedeli daha yüksek karmaşıklık ve potansiyel performans ek yüküdür
  • AppArmor uygun şekilde yapılandırıldığında hâlâ çok etkili olabilen daha basit ve daha erişilebilir bir güvenlik modeli sunar
  • Red Hat, SELinux'u ve konteyner kullanımını sorunsuz ve kolay hale getirmek için çaba harcadı
  • Sonuç olarak Debian ile Red Hat arasındaki seçim yalnızca şirket etkisi ile topluluk odaklı geliştirme arasında bir tercih değildir
  • Aynı zamanda en iyisini varsayan bir sistem ile en kötü senaryoya hazırlanan bir sistem arasında bir tercihtir
  • Günümüzün yoğun biçimde bağlantılı dünyasında ne yazık ki kötümserlik zorunludur

GN⁺ görüşü

  • Red Hat'in RHEL kaynak kodu dağıtım politikasındaki değişiklik tartışmalı olsa da güvenlik açısından makul bir karar olabilir
  • Kurumsal Linux dağıtımlarında SELinux gibi güçlü güvenlik özellikleri sunmak zorunludur
  • Ancak Red Hat'in politika değişikliği açık kaynak ekosistemi üzerinde olumsuz etki yaratabilir ve Debian gibi topluluk temelli dağıtımların rolü daha da önemli hale gelebilir
  • Debian kullanıcı dostu ve esnek bir dağıtım olarak bilinse de varsayılan güvenlik özelliklerinin güçlendirilmesine ihtiyaç vardır
  • AppArmor, SELinux kadar güçlü olmasa da uygun biçimde yapılandırıldığında etkili bir güvenlik çözümü olabilir
  • Uzun vadede SELinux ile AppArmor'un güçlü yönlerini birleştiren yeni bir güvenlik çerçevesinin geliştirilmesi gerekebilir
  • Konteyner güvenliği cloud-native çağında son derece önemli bir konu olduğundan, tüm dağıtımlar bu alana daha fazla çaba ayırmalıdır

2 yorum

 
koxel 2024-09-07

AppArmor'un SELinux'tan daha az katı olduğu doğru ama
buna güvenliğin zayıf olduğunu söylemek zor.
SELinux o kadar katı ki, sunucu kurulumu yapınca çoğu zaman neredeyse herkes SELinux'u kapatıyor.
Ayrıca masaüstünde güvenlik, SELinux'un ana odak noktası değildir.
UI veya kullanıcı deneyimi açısından gerekli kısıtlamalar ve uygun kimlik doğrulama isteme süreçleri gerekir; bu da SELinux'taki kaynak yalıtımıyla ilgili konudan farklıdır.
Bu yüzden masaüstü güvenliği, ister Red Hat tabanlı ister Debian tabanlı olsun, tamamen freedesktop'ta standartlaştırılan polkit (PolicyKit) temelli çalışır.

 
GN⁺ 2024-09-06
Hacker News görüşleri
  • Birçok RedHat ortamında SELinux'u devre dışı bırakmak yaygındır
  • Debian güncellemelerinin yavaş olması yerine SELinux hakkında bir şeyler öğrenildi
  • Debian'ın genel olarak daha az güvenli olduğu sonucuna varmak adil değil
  • Debian, konteyner ve sunucu kullanımında daha az güvenli olabilir
  • Masaüstü kullanıcıları için Red Hat'in SELinux uygulaması büyük bir koruma sağlamaz
  • Topluluk odaklı projelerin doğası gereği daha az güvenli olduğu imasını sevmiyorum
  • Kaynak yetersizliği: Debian, Red Hat'e kıyasla kapsamlı güvenlik politikaları geliştirmek ve sürdürmek için daha az kaynağa sahip
  • Konteynerler yazılım dağıtımı sorunlarını çözer ama güvenlik sorunlarını çözmez
  • Konteynerler bir güvenlik kâbusuna dönüşebilir
  • Red Hat'in kararları açık kaynak topluluğunda olumsuz yorumlanıyor
  • Red Hat modeli küçük şirketler için zorluk yaratıyor
  • IBM Red Hat'i satın aldıktan sonra ekosistem daha da zorlaştı
  • SELinux'un varsayılan olarak etkin olmadığı Debian'ı eleştirmek adil değil
  • Linux, Microsoft ile kıyaslandığında kapsamlı güvenlik politikaları geliştirmek ve sürdürmek için daha az kaynağa sahip
  • SELinux'un karmaşıklığı nedeniyle Debian'a geçen kullanıcılar da var
  • SELinux Coloring Book PDF aracılığıyla SELinux'un temelleri öğrenilebilir
  • Debian'da da SELinux etkinleştirilebilir
  • SELinux'a tutkuyla bağlı biriyle hiç karşılaşmadım
  • SELinux politikalarını açıklayabilen biriyle hiç karşılaşmadım
  • Birçok kişi SELinux'u devre dışı bırakıyor
  • Birçok kişi RedHat dağıtımlarından kaçınıyor
  • Karmaşıklık genelde güvenlik için çok kötüdür
  • Teoride kusursuz bir güvenlik sistemi bile kullanıcıların çoğu onu devre dışı bırakırsa güvensizdir
  • Her ay parola değiştirme fikri gerçekte güvenliği kötüleştirebilir