SELinux

Security-Enhanced Linux (SELinux) Linux çekirdeği güvenlik modülüdür. Amerika Birleşik Devletleri Savunma Bakanlığı tarzı zorunlu erişim denetimleri (MAC) de dahil olmak üzere erişim denetimi güvenlik ilkelerini desteklemek için bir mekanizma sunmaktadır.
SELinux, çeşitli Linux dağıtımlarına eklenen çekirdek değişiklikleri ve kullanıcı alanı araçları setidir. Yazılım mimarisi, güvenlik kararlarının uygulanmasını güvenlik politikasından ayrı tutmaya ve güvenlik politikasının uygulanmasıyla ilgili yazılım miktarını düzleştirmeye çalışıyor. SELinux'un altında yatan kilit kavramlar Ulusal Güvenlik Ajansı tarafından birkaç önceki projeye kadar izlenebilir.
Bakış
SELinux'u entegre eden bir Linux çekirdeği, kullanıcı programlarını ve sistem sunucularını, dosyalara ve ağ kaynaklarına erişimi kısıtlayan zorunlu erişim kontrolü politikalarını zorlar. Ayrıcalığı çalışması gereken asgari seviyede sınırlamak, bu programların arızalanması veya tehlikeye atılması (örneğin arabellek aşımı veya yanlış yapılandırmalar yoluyla) zarar verme yeteneğini azaltır veya ortadan kaldırır. Bu sınırlama mekanizması geleneksel Linux erişim kontrol mekanizmalarından bağımsız olarak çalışır. "Kök" süper kullanıcısı konseptine sahip değildir ve geleneksel Linux güvenlik mekanizmalarının (setuid / setuid ikililerine bağımlılık gibi) bilinen eksikliklerini paylaşmaz.
"Değiştirilmemiş" bir Linux sisteminin (SELinux'suz bir sistem) güvenliği, çekirdeğin, ayrıcalıklı tüm uygulamaların ve yapılandırmalarının doğruluğuna bağlıdır. Bu alanlardan herhangi birindeki bir sorun tüm sistemin uzlaşmasına izin verebilir. Buna karşılık, "değiştirilmiş" bir sistemin (bir SELinux çekirdeğine dayanan) güvenliği öncelikle çekirdeğin doğruluğuna ve güvenlik politikası yapılandırmasına bağlıdır. Uygulamanın doğru olması veya konfigürasyonu ile ilgili problemler, bireysel kullanıcı programlarının ve sistemin sınırlı şekilde ele geçirilmesine izin verebilir, ancak diğer kullanıcı programlarının sistem veya sistemin güvenliğine bir bütün olarak tehdit oluşturmazlar.
Saf bir perspektiften SELinux, zorunlu erişim denetimleri, zorunlu bütünlük denetimleri, rol tabanlı erişim denetimi (RBAC) ve tür uygulama mimarisi gibi konulardan oluşan bir kavram ve yetenek melezi sağlar. Üçüncü taraf araçları birinin çeşitli güvenlik politikaları oluşturmasını sağlar.
Tarihi
UNIX (daha doğrusu POSIX) bilgi işlem ortamında zorunlu ve isteğe bağlı erişim denetimlerinin (MAC ve DAC) sağlanmasına yönelik bir yaklaşımı yönlendiren ilk çalışma, Ulusal Güvenlik Ajansı'nın Güvenilir UNIX (TRUSIX) Çalışma Grubuna atfedilebilir. 1987-1991 yılları arasında bir araya gelerek bir Gökkuşağı Kitabı (# 020A) yayınladı ve sonuçta yayınlanmamış olan resmi bir model ve ilişkili değerlendirme kanıt prototipi (# 020B) üretti.
SELinux, Linux topluluğuna zorunlu erişim denetimlerinin değerini ve bu kontrollerin Linux'a nasıl eklenebileceğini göstermek için tasarlandı. Başlangıçta, SELinux'ü oluşturan yamalar açıkça Linux çekirdeği kaynağına uygulanmalıdır; SELinux, Linux çekirdeğinin 2.6 serisinde Linux çekirdeği ana hattıyla birleşti.
SELinux'un orijinal birincil geliştiricisi olan NSA, 22 Aralık 2000'de GNU GPL kapsamında açık kaynak geliştirme topluluğunun ilk sürümünü yayımladı. Yazılım 8 Ağustos 2003'te piyasaya sürülen Linux çekirdeği 2.6.0-test3 ana hattı ile birleştirildi. Diğer önemli katılımcılar arasında Red Hat, Network Associates (McAfee), Secure Computing Corporation (Honeywell'den ayrıldı), Tresys Technology ve Trusted Computer Solutions yer alıyor. FLASK / TE uygulamasının deneme portları, FreeBSD ve Darwin işletim sistemleri için TrustedBSD Projesi aracılığıyla sağlanmıştır.
Güvenlik Geliştirilmiş Linux, Flux Gelişmiş Güvenlik Çekirdeğini (FLASK) uygular. Böyle bir çekirdek, Fluke işletim sisteminde prototip olarak kullanılan mimari bileşenleri içerir. Bunlar, tür uygulama, rol tabanlı erişim denetimi ve çok düzeyli güvenlik kavramlarına dayanan kurallar da dahil olmak üzere, çeşitli zorunlu erişim denetimi ilkelerini uygulamak için genel bir destek sağlar. FLASK, DTOS'un tasarlanması ve uygulanması üzerinde etkisi olan Güvenilir Bilişim Sistemleri'nden bir araştırma projesinin yanı sıra Mach'dan türeyen Dağıtılmış Güvenilir İşletim Sistemi olan DTOS'a dayanıyordu.
Özellikleri
SELinux özellikleri şunları içerir:
iyi tanımlanmış ilke arabirimleri
ilkeyi sorgulayan uygulamalar ve erişim denetiminin uygulanması için destek (örneğin, doğru çalışan bağlamda çalışan işler)
spesifik politikaların ve politika dillerinin bağımsızlığı
özel güvenlik etiketi formatlarının ve içeriğinin bağımsızlığı
çekirdek nesneleri ve hizmetleri için bireysel etiketler ve kontroller
politika değişiklikleri için destek
sistem bütünlüğünü (alan türü) ve veri gizliliğini (çok seviyeli güvenlik) korumak için ayrı tedbirler
esnek politika
süreç başlatma, devralma ve program yürütme üzerinde kontroller
dosya sistemleri, dizinler, dosyalar ve açık dosya tanımlayıcıları üzerinde denetimler
yuvalar, mesajlar ve ağ arayüzleri üzerindeki denetimler
"yetenekler" kullanımını kontrol eder
Erişim Vektörü Önbellek (AVC) üzerinden erişim kararları hakkında önbelleğe alınmış bilgi
Uygulamalar
SELinux, Red Hat Enterprise Linux (RHEL) sürüm 4 ve gelecekteki tüm sürümlerin bir parçası olarak ticari destek alabilir. Bu varlığı aynı zamanda CentOS ve Scientific Linux'un ilgili sürümlerine de yansır. RHEL4'te desteklenen politika, maksimum kullanım kolaylığı hedefleyen ve bu nedenle mümkün olduğunca kısıtlayıcı olmayan hedeflenen politikadır. RHEL'in gelecek versiyonlarının hedeflenen politikada daha kısıtlayıcı politikalar anlamına gelecek daha fazla hedefi olması planlanmaktadır. SELinux, 4.3 sürümünden beri (Android Jelly Bean) Android'de uygulanmaktadır.
Fedora, ücretsiz topluluk tarafından desteklenen GNU / Linux dağıtımlarında Fedora Core 2'den beri varsayılan olarak destek olmak için en erken uygulayıcılardan biriydi. Diğer dağıtımlar, etch release sürümünden beri Debian ve 8.04 Hardy Heron sürümünden itibaren Ubuntu gibi destekleri içermektedir. 11.1 sürümünden itibaren, openSUSE SELinux "temel etkinleştirme" içerir. SUSE Linux Enterprise 11 SELinux'u bir "teknoloji önizlemesi" olarak sunmaktadır.
SELinux, CoreOS Container Linux ve rkt gibi Linux konteynerlerine dayanan sistemlerde popülerdir. Ek güvenlik kontrolü olarak yararlıdır.
Samsung Knoxx
Süreçlerin izolasyonu da sanallaştırma gibi mekanizmalarla gerçekleştirilebilir; OLPC (One Laptop per Child) projesi, örneğin, ilk uygulamasında, hafif Linux-VServer'daki bireysel uygulamaları sandbox yaptı. Ayrıca NSA, Android'de bazı SELinux kavramlarını benimser.
General Dynamics, Red Hat Enterprise Linux için çok seviyeli bir güvenlik geliştirmesi olan PitBull Trusted Computing Platform'ı kurar ve dağıtır.