- SELinux, politikalar ve bağlamlar temelinde zorunlu erişim kontrolü uygulayarak, geleneksel Unix izinlerine kıyasla kritik bir güvenlik katmanı ekler.
- Etkili bir yapılandırma, dosya sisteminin doğru şekilde etiketlenmesini, uygun modun (izin verici/zorlayıcı) seçilmesini ve temel politikayı zayıflatmadan mantıksal değerlerin ve modüllerin ayarlanmasını gerektirir.
- SELinux'un RHEL, Fedora, SUSE ve openSUSE ile entegrasyonu, birçok CVE'nin etkisini azaltmaya ve web sunucuları, konteynerler ve ağ servisleri gibi hizmetleri sınırlandırmaya olanak tanır.
- Güvenlik önlemlerinin otomatikleştirilmesi ve audit2allow gibi araçların sistematik olarak kullanılması, istikrarı feda etmeden SELinux'un üretim ortamında çalışır durumda kalmasını kolaylaştırır.

Üretim için bir Linux sunucusu kurduğunuzda, varsayılan yapılandırması genellikle oldukça açıktır. Bu, şu şekilde tasarlanmıştır: Her şey ilk seferde kusursuz çalışmalı, bir sığınak gibi olmamalı.İşte tam bu noktada SELinux önemli bir güvenlik güçlendirme bileşeni olarak devreye giriyor: Tipik savunma mekanizmaları (dosya izinleri, güvenlik duvarı vb.) başarısız olduğunda bile çalışmaya devam eden bir kontrol katmanı ekliyor. güncellemeler) hata.
SELinux ilk bakışta sıkıcı görünebilir, ancak temellerini anladığınızda güçlü bir araç haline gelir. Saldırıları önleyin, hasarı sınırlayın ve güvenlik ölçütlerini karşılayın. CIS, PCI DSS veya yüksek kritiklik gerektiren ortamlar gibi. Uygulamaların düzgün çalışmasına güvenmek yerine, sistem her bir süreci çok özel sınırlar içinde çalışmaya zorlar.
SELinux nedir ve Linux güvenliğini artırmada neden önemlidir?
Güvenlik Geliştirilmiş Linux, bir Zorunlu Erişim Kontrolüne dayalı Linux çekirdeği güvenlik uzantısı (MAC). Dosya sahibinin kimin gireceğine karar verdiği klasik Unix isteğe bağlı erişim kontrolünün (DAC) aksine, SELinux'ta kurallar merkezi bir politika tarafından belirlenir. Kök kullanıcıların kendileri bile değil. Bunlar, açıkça değiştirmeye gerek kalmadan atlanabilir.
Bu model, erişim kararlarının şu esaslara göre alındığı anlamına gelir: güvenlik etiketleri (bağlamlar) ve önceden tanımlanmış kurallarSadece rwx izinleri değil. Bir hizmet tehlikeye girmiş olsa veya aşırı izinlere sahip olsa bile, SELinux hassas dosyalara erişmesini, diğer süreçleri tetiklemesini veya yetkili sınırlarının ötesinde ağda hareket etmesini engelleyebilir.
SELinux geleneksel DAC'nin yerini almaz, onu tamamlar. İlk olarak, standart Unix izinlerini kontrol eder ve, SELinux, politikasını doğrulamak için yalnızca DAC'nin işleme izin vermesi durumunda devreye girer.Eğer DAC zaten erişimi engelliyorsa, SELinux ne müdahale eder ne de herhangi bir kayıt tutar; bu da kayıtlardaki gereksiz bilgileri azaltmaya ve performansı korumaya yardımcı olur.
Bu katmanlı yaklaşım özellikle şu alanlarda dikkat çekiyor: kurumsal ortamlar olarak Red Hat Enterprise Linux, Fedora, SUSE Linux Enterprise veya openSUSE LeapSELinux, sistemin diğer güvenlik mekanizmalarıyla ve konteynerler ve sanal makineler gibi modern teknolojilerle entegre edilmiştir.

Temel kavramlar: SELinux politikaları, bağlamları ve etki alanları
SELinux'un temeli şudur: Kimin ne yapabileceğini, neye karşı ve nasıl hareket edebileceğini açıklayan güvenlik politikaları.Bu dilde süreçler özne, sistem kaynakları (dosyalar, dizinler, soketler, portlar, aygıtlar vb.) ise nesne olarak kabul edilir.
SELinux, kullanıcıları "root" veya "www-data" olarak düşünmek yerine, şu şekilde çalışır: alanlar ve türlerÖrneğin, bir Apache web sunucusu işlemi, etki alanında çalışır. httpd_tİstemciye sunulan dosyaların türü ise şu şekildedir: httpd_sys_content_tBu politika, hangi etki alanlarının hangi türlere, hangi nesne sınıflarına (dosya, dizin, soket, port...) ve hangi özel izinlerle (okuma, yazma, yürütme, öznitelik alma, ekleme vb.) erişebileceğini tanımlar.
Her nesnenin ilişkili bir nesnesi vardır. SELinux bağlamıŞu biçimde bir etiket:
usuario:rol:tipo:nivel
Örneğin, bir dosya şu şekilde etiketlenebilir: system_u:object_r:httpd_sys_content_t:s0'daki Günlük yönetim için en önemli alan genellikle türdür. (httpd_sys_content_tBu, hangi işlem alanlarına erişime izin verileceğini belirler.
Pratikte, SELinux binlerce kural ile çalışır. Bunun yönetilemez hale gelmesini önlemek için politikalar şu şekilde bölümlere ayrılır: Etkinleştirilebilen, devre dışı bırakılabilen veya güncellenebilen bağımsız modüller Devasa, tek parça halindeki bir bloğu yeniden derlemeye gerek kalmadan. Bu, her ilgili hizmetin genellikle kendi politika modülüne sahip olduğu RHEL, SUSE ve openSUSE'de temel bir özelliktir.
SELinux çalışma modları: zorlayıcı, izin verici ve devre dışı bırakılmış
SELinux, üç farklı modda çalışabilir ve bu modlar, SELinux'un ne ölçüde etkili olacağını belirler. Kuralları sisteme gerçek zamanlı olarak uygulanır.:
kip zorlama (Uyumluluk) gereği, çekirdek politikayı sıkı bir şekilde uygular. Kuralları ihlal eden her türlü eylem cezalandırılacaktır. Engelleniyor ve kaydediliyor.Bu, politika zaten iyi ayarlanmışsa üretim ortamı için önerilen moddur, çünkü SELinux'un gerçek koruma sağladığı yer burasıdır.
kip müsamahakâr (İzin verici modda), SELinux politikayı değerlendirmeye devam eder, ancak Hiçbir şeyi engellemiyor.Tüm ihlaller uyarı olarak kaydedilir. Bu mod, hizmetleri kesintiye uğratmadan uygulama kurallarının nasıl bozulacağını tespit etmenizi sağladığı için test aşamaları, yeni uygulamaların dağıtımı veya kuralların ince ayarı için idealdir.
kip özürlüSELinux tamamen devre dışı bırakıldı. Hiçbir politika uygulanmaz ve hiçbir kayıt oluşturulmaz. SELinux ile ilgili. Devre dışı bırakılmış ve aktif mod (izin verici veya zorlayıcı) arasında geçiş yapmak yeniden başlatmayı gerektirir, çünkü çekirdeğin dosya sistemini etiketleyebilmesi için SELinux desteği başlatılmış olarak önyüklenmesi gerekir.
Herhangi bir dağıtımda oldukça mantıklı bir uygulama, başlangıçta şu şekilde önyükleme yapmaktır: müsamahakârEtiketleme ve politika sorunlarını gözden geçirin ve düzeltin, ancak her şey istikrara kavuştuğunda bunu yapın. yaptırıma geçmekBu özelliği kalıcı olarak devre dışı bırakmak, size sunulan en güçlü koruma katmanlarından birini ortadan kaldırır.
SELinux'u RHEL, Fedora, SUSE ve openSUSE'ye entegre etme
Gibi dağılımlar Red Hat Enterprise Linux, Fedora ve türevleri SELinux'u varsayılan olarak etkinleştirir.Genellikle, esas olarak systemd ve bazı kullanıcılar tarafından başlatılan sistem hizmetlerini sınırlayan hedefli bir politika kullanılır.
RHEL'de, önceden yapılandırılmış politikaya ek olarak, yöneticinin sürekli olarak düşük seviyeli kurallarla uğraşmasına gerek kalmaması için bir dizi araç sunulmaktadır. Bunlardan SELinux Troubleshooter öne çıkmaktadır. İnkar olaylarını analiz eder ve somut değişiklikler önerir. (Örneğin, bir mantıksal değeri etkinleştirmek, bir bağlamı düzeltmek veya ek bir modül oluşturmak gibi).
Ayrıca, SELinux'un kapsamı şunları da içerir: CONTENEDORES (Örneğin Podman ile) zaten sanallaştırılmış ortamlar. Uygun etiketlerle, her konteyner veya sanal makine, çalışma zamanı veya hipervizördeki dahili güvenlik açıkları nedeniyle bir sızıntı meydana gelse bile, çekirdek düzeyinde diğerlerinden izole edilir.
SUSE ekosisteminde, SUSE Linux Enterprise Server şunları getiriyor: Çekirdek ve araçlarda desteklenen SELinux çerçevesiAncak kapsamlı bir resmi politika bulunmamaktadır. Önerilen yaklaşım, ortama uygun bir politika oluşturmak veya tam SELinux desteğine sahip minimalist bir konteyner veya sanallaştırma sunucusu istendiğinde slemicro gibi çözümler kullanmaktır.
openSUSE Leap'te, aşağıdakiler gibi depolarda bulunan politikalara güvenmek yaygındır: güvenlik:/SELinux_legacy Test amaçlı olarak, kritik bir ortam için ideal olanın, dağıtıma özel olarak ayarlanmış, gözden geçirilmiş bir politika olduğunu biliyoruz.
SELinux politika modelleri: hedefli, MLS ve minimum
SELinux, kontrolün kapsamını ve derinliğini belirleyen farklı politika modelleriyle çalışabilir. En yaygın üç model şunlardır:
La politika hedefli Genel kullanım alanları için tasarlanmıştır. Odak noktası şudur: belirli hizmetleri sınırlandırmak (özellikle ağ servisleri) ve diğer işlemleri daha izin verilen alanlarda veya hatta kısıtlanmamış halde bırakır. Güvenlik ve uyumluluk arasında iyi bir denge sağladığı için çoğu dağıtımda varsayılan seçenektir.
La Çok Katmanlı Güvenlik (MLS) politikası Bağlama hassasiyet düzeyi alanını ekleyin (s0, s1, s2(kategoriler vb.) ve izin verir Bilgi ve süreçleri seviyelere sınıflandırmakBu sistem, verilerin hangi düzeyde kim tarafından görülebileceği veya değiştirilebileceği konusunda hassasiyet gerektiren, çok katı şartlara sahip kuruluşlar (savunma, istihbarat, gizli ortamlar) için tasarlanmıştır.
La minimum politika Bu, daha az kural ve kontrol içeren, basitleştirilmiş bir versiyondur. Şu sistemlerde kullanılır: Sınırlı güvenlik gereksinimlerinin olduğu veya uyumluluk üzerinde minimum etki hedeflendiği durumlardaBu durum, SELinux'un bazı sınırlama yeteneklerinden ödün verilmesine yol açar.
Gerçek dünya uygulamalarında, genellikle aşağıdaki yöntemlerle çalışmak tercih edilir. hedefli modüler politikalarTek bir büyük, monolitik dosyayı yönetmeye çalışmak yerine, modül modül neyin korunduğunu ve nasıl korunduğunu ayarlamak çok daha zordur.
Bağlam yönetimi: SELinux etiketlerini görüntüleme, değiştirme ve geri yükleme
SELinux yönetimindeki temel görevlerden biri şudur: Dosyaların, dizinlerin, işlemlerin ve portların doğru bağlama sahip olduğundan emin olun. Politikaya göre, yanlış tahsis edilmiş bir bağlam, bir hizmetin çalışmayı durdurmasına veya bir kaynağın aşırı derecede savunmasız kalmasına neden olabilir.
Dosya ve dizinlerin SELinux bağlamını incelemek için birçok standart komut bu seçeneği kabul eder. -Z. Örneğin ls -Z /ruta Görebileceğiniz Her bir girişin kullanıcı, rol, tür ve seviyesive ps Zaux Aktif süreçlerin bağlamını anlıyorsunuz.
Bir politika yüklendiğinde ve dosya sistemi etiketlendiğinde (örneğin şu yöntem kullanılarak): setfiles o fixfiles dosyalar ile file_contexts), her rota bir alır politikaya göre varsayılan türEğer zaten etiketlenmiş bir dizinde yeni bir dosya oluşturursanız, dosya dizinin türünü devralır; ancak dosyayı başka bir konumdan taşırsanız, orijinal etiketini korur ve bu da tutarsızlıklara neden olabilir.
Bir dosya veya dizin ağacında yanlış etiketler varsa, bunları aşağıdaki komutla düzeltebilirsiniz: restoreconO Politikada tanımlanan değerlere bağlamları geri yükler.. Gibi seçeneklerle -R (özyinelemeli) ve -v (Ayrıntılı) Nelerin değiştiğini görmek kolay. Bir süredir test aşamasında olan sistemlerde izin verici moddan zorlayıcı moda geçmeden önce neredeyse zorunlu bir adım.
Yeni etiketleme kalıpları tanımlamak için şunu kullanırsınız: semanage fcontextBu araçla poliçeye ne yazarsınız? SELinux türü, belirli yollara veya düzenli ifadelere atanmalıdır.ve daha sonra bu değişiklikleri dosya sistemine uyguluyorsunuz. restoreconÖrneğin, yeni bir ürünü etiketleyebilirsiniz. DocumentRoot Apache'den ile httpd_sys_content_t Böylece web sunucusu, onu kendi sınırlı etki alanı altında okuyabilir.
Temel yapılandırma: SELinux'u etkinleştirin ve modu seçin.
SELinux'un global düzeydeki davranışı şuradan kontrol edilir: /etc/selinux/configmodun tanımlandığı yerde (enforcing, permissive o disabled) ve kullanılacak politika (hedefli, MLS, minimum...).
RHEL veya Fedora gibi sistemlerde, hedeflenen politika genellikle şu şekilde gelir: varsayılan olarak etkinleştirilmiş ve zorlama modundaSUSE veya openSUSE'de ise GRUB2'deki çekirdek parametrelerinin AppArmor yerine SELinux'u yükleyecek şekilde ayarlanması gerekir. Bu, aşağıdaki gibi seçeneklerin eklenmesini içerir: security=selinux y selinux=1 Önyükleme satırına gidin ve GRUB yapılandırmasını yeniden oluşturun.
SELinux'u önyüklemede etkinleştirdikten ve politikayı seçtikten sonra, öncelikle tam dosya sistemi etiketlemesi yapmak önemlidir. setfiles veya eşdeğer araçlar. Bu adım Bu zaman alabilir ve talebin düşük olduğu bir dönemde yapılması en iyisidir.Ancak bu, sistemin zorlama modunda sürprizsiz bir şekilde başlamasının temelini oluşturuyor.
AppArmor'dan geçiş yaptığınız ortamlarda bu durum kritik öneme sahiptir. Dosyaları çok dikkatlice inceleyin. file_contexts ve yerel varyantlarıÇünkü herhangi bir ciddi tutarsızlık sistemin başlatılmasını engelleyebilir. Önceden bir yedekleme yapın ve onunla çalışın. semanage fcontext Politikayı sistemin gerçekliğiyle uyumlu hale getirmek neredeyse zorunludur.
SELinux ve CVE'ler: Güvenlik açıklarını azaltmaya nasıl yardımcı oluyorlar?
Red Hat gibi satıcılar SELinux'u bir faktör olarak değerlendiriyor. CVE'lerin etki değerlendirmesiCiddiyet modeli (Kritik, Önemli, Orta, Düşük), bir hatanın iyi yapılandırılmış SELinux kısıtlamalarıyla hafifletilip hafifletilemeyeceğini veya en azından kontrol altına alınıp alınamayacağını dikkate alır.
Kritik bir uzaktan kod yürütme güvenlik açığında, tür Log4Shell (CVE-2021-44228)Bir saldırgan, internetten erişilebilen bir hizmete kod enjekte edebilir. Eğer bu hizmet oldukça kısıtlı bir SELinux etki alanı altında çalışıyorsa, zarar verme potansiyeli azalır, çünkü okuma izni olmayacak /etc/shadowhassas veritabanlarını manipüle etmek veya sistem üzerinden pivot işlemleri yapmak İşlevi için kesinlikle gerekli olanın dışında.
Ayrıcalık yükseltme başarısızlıklarında, örneğin: CVE-2023-4911 (Looney Tunables)Saldırı, DAC düzeyinde daha yüksek ayrıcalıklara sahip bir kullanıcıya erişim sağlasa bile, politika yine de uygulanabilir. Çekirdek modüllerinin yüklenmesi, sistem dizinlerine yazma veya belirli ağ soketlerinin açılması gibi önemli işlemleri engellemek.Sonuç olarak, elde edilen bu erişimle yapılabilecekler sınırlıdır.
Alışılmadık yapılandırmalar gerektiren veya istismar edilmesi zor olan orta düzey güvenlik açıklarında (örneğin, Grafana'daki bazı sorunlar), SELinux şu şekilde davranır: Küçük bir arızanın daha da büyümesini önleyen ek bir engel. Ciddi bir olay. Çoğu zaman, politika, saldırının sisteme etki etmesi için ihtiyaç duyacağı erişimi doğrudan engeller.
Düşük etkili güvenlik açıkları söz konusu olduğunda, örneğin hatalara neden olan durumlarda Kullanıcı uygulamalarında (örneğin vim gibi editörlerde) meydana gelen çökmelerSELinux genellikle sorunun kendisini önlemede belirleyici olmasa da, hatalı bir sürecin kavramsal koruma alanından çıkmamasını sağlayarak sınırlama rolünü sürdürür.
SELinux uygulamada: web sunucusu kısıtlamasının gerçek dünya örneği
RHEL veya Fedora üzerinde çalışan ve çeşitli uygulamaları barındıran, yamalarla korunmasına rağmen sorunsuz çalışan bir web sunucusu hayal edin. Sonuç olarak uzaktan çalıştırma saldırısına karşı savunmasız hale geliyor. Bileşenlerinden birinde. SELinux olmasaydı, web sunucusu kullanıcısı olarak kod çalıştıran bir saldırgan arka kapılar kurabilir, kimlik bilgilerini okuyabilir veya diğer sistemlere geçiş yapabilirdi.
SELinux'un zorlama modunda ve iyi ayarlanmış hedefli bir politikayla, Apache, Nginx veya benzeri işlemler etki alanı altında çalışır. httpd_t, Hangi vardır İzinler, aşağıdaki gibi türlerle etiketlenmiş dosyalarla sınırlıdır: httpd_sys_content_t o httpd_sys_rw_content_tAyrıca, uygun bağlamla birlikte tanımlanmış portlara kontrollü erişim sağlanır.
Bu, güvenlik açığı komutların yürütülmesine izin verse de, ele geçirilen sürecin Dosyaları okuyamıyor, örneğin... /etc/shadow veritabanı dizinlerine dokunmak belirli türlerle etiketlenmiş (örneğin mysqld_db_tAğ politikası bunu kısıtlıyorsa, diğer dahili hizmetlere keyfi bağlantılar açamazsınız.
Sistemin tamamen ele geçirilmesinden bahsetmek yerine, sızma olayı devam ediyor. web alanının sınırları içinde yer almaktadırEvet, yine de soruşturulacak bir olay olacak, ancak etkisinin boyutu çok daha düşük ve saldırganın hareket etmesi kelimenin tam anlamıyla çok daha zor olacak.
Politikaları ayarlamak için Boole değerleri, modüller ve araçlar
Doğru etiketlemenin yanı sıra, SELinux ile günlük çalışmalar genellikle şunlar etrafında döner: Temel politikayı tamamen yeniden yazmaya gerek kalmadan küçük ayarlamalar yapmak.İşte bu noktada boolean değerler ve özel modüller devreye giriyor.
Jardines de Viveros boolean değerleri SELinux Bunlar, önceden derlenmiş politikanın davranışının bazı kısımlarını değiştiren açma/kapama anahtarlarıdır. Örneğin, bir boolean değeri, FTP sunucusunun belirli dizinlere yazmasına izin verebilir veya bunu yasaklayabilir (örneğin, allow_ftpd_anon_write), ya da web sunucusunun ağa giden bağlantıları başlatması.
ile getsebool -a o semanage boolean -l Bu anahtarları listeleyebilir ve açıklamalarını görebilirsiniz. Bunları kalıcı olarak değiştirmek için şunu kullanırsınız: setsebool -P nombre_booleano on|offseçeneğin nerede olduğu -P seçeneği, değişikliğin diske kaydedilmesini ve yeniden başlatmalar sonrasında da korunmasını sağlar.Bu, "resmi" politikayı sunucunuzun özel ihtiyaçlarına uyarlamanın çok kullanışlı bir yoludur.
Öte yandan, kullanımı politika modülleri Bu özellik, temel politikaya dokunmadan kuralları genişletmenize veya değiştirmenize olanak tanır. Aktif modülleri şu şekilde görüntüleyebilirsiniz: semodule -lbirini devre dışı bırakmak için semodule -d nombre veya şunu kullanarak yeniden etkinleştirin: semodule -e nombreSUSE/openSUSE'de bu, özellikle sisteminizin hangi bölümlerinin SELinux'un odak noktası olmasını istediğinizi belirlemek ve sisteminizi istikrara kavuşturmak için oldukça kullanışlıdır.
Çok özel ek izinler vermeniz gerektiğinde, şu iki yöntemin birleşimi işe yarar: audit2allow y semodule Hayatı çok daha kolaylaştırıyor. Kayıtlara göre /var/log/audit/audit.log, audit2allow, hangi kuralın engellendiğini gösterir ve bir modül oluşturur. Eğer bunu kurarsanız, daha önce engellenen her şeye tam olarak izin vermiş olursunuz.
SELinux ile ilgili günlük kayıtları, denetim ve sorun giderme
SELinux, politikanın yetkilendirmediği bir eylemi her engellediğinde, AVC reddi (Erişim Vektörü Önbelleği reddi) genellikle şu şekilde kaydedilir: /var/log/audit/audit.loghizmetin sağlanması şartıyla auditd bu işlevseldir.
Bu kayıtlar çok fazla bilgi içeriyor: neler yapılmaya çalışıldı (avc: denied { append }, write, getattrvb.), hangi süreç bunu talep ettiyse (pid, comm=), hangi dosya veya kaynak hakkında (name=, dev=, ino=), Orijinal sürecin bağlamı neydi?scontextve hedefin hangi bağlamda olduğu (tcontext)İlk bakışta anlaşılması güç satırlar gibi görünseler de, biraz pratikle olup biteni anlamak için paha biçilmez değerdeler.
Günlük kayıtlarını elle okuyarak delirmemek için, aşağıdaki gibi araçlar kullanılabilir. ausearch Mesaj türüne göre filtrelemeye izin ver (örneğin, -m AVC) veya geçici bir pencere aracılığıyla (-ts recentVe her şeyden önemlisi, audit2allow ve kamu hizmetleri gibi sealert yardım etmek bu olayları neredeyse insan diline çevirmek ve önerileri göster.
Tipik bir sorun giderme iş akışı şu şekilde olacaktır: audit2allow -w -a En son duyuruların açıklamalarını görmek için, audit2allow -a o -i fichero belirli kuralları incelemek ve son olarak Bu izni etkinleştirecek bir modül oluşturmanın faydalı olup olmadığına karar verin. Ya da tam tersine, blok güvenli tarafta ise ve ona dokunmamak en iyisiyse.
Modüller her oluşturulduğunda audit2allow -M nombre ve şunlarla kurulmuştur: semodule -iBu ayarları gözden geçirmekte fayda var, çünkü araç genellikle cömert davranıyor ve kesinlikle gerekli olandan daha fazla erişim izni verebiliyor. SELinux, erişimi güçlendirmek için büyük bir esneklik sunuyor, ancak dikkatsiz kullanım, politikanın kendisinde güvenlik açıkları yaratabilir.
Linux güvenliğini artırma stratejisi kapsamında SELinux
SELinux tek başına var olmuyor: daha geniş bir güvenlik güçlendirme stratejisinin parçası olarak entegre edilmiş durumda. Sınırlı yetkilere sahip kullanıcılar, güvenlik duvarları, SSH güçlendirmesi, kaba kuvvet saldırılarına karşı koruma mekanizmaları ve otomasyon. konfigürasyonların.
Bir sunucu kurulumundan sonra çok sık karşılaşılan bir durum, bir sunucu oluşturmaktır. sudo ayrıcalıkları sınırlı olan kullanıcı asla doğrudan kök olarak çalışmamak, Ağ güvenlik duvarını etkinleştirin (örneğin ufw veya iptables/nftables).Tekrarlanan giriş denemelerini engellemek için Fail2ban gibi araçlar yükleyin ve En iyi uygulamaları kullanarak SSH'yi yapılandırın. (Standart dışı port, root erişimini devre dışı bırakma, anahtar kimlik doğrulaması, deneme sınırları, güçlü şifreleme vb.)
Bu temelde, SELinux MAC katmanını ekler: bir saldırgan yanlış yapılandırılmış sudo veya SSH şifresine sahip bir kullanıcı elde etse bile, Bu politika, kullanıcının hangi süreçlere ve dosyalara erişebileceğini yine de kısıtlayabilir. Eylemlerini gerçekleştirdiğinde, kusursuz değildir, ancak MITRE ATT&CK gibi matrislerde açıklanan otomatik saldırıların tipik olarak kullandığı birçok kapıyı kapatır.
Sunucu sayısı arttıkça, tüm bu güvenlik önlemlerini manuel olarak uygulamak pratik olmaktan çıkıyor. İşte bu noktada [aşağıdakiler] devreye giriyor. otomasyon ve orkestrasyon araçları (Ansible, Puppet, Chef, ticari otomatik güvenlik çözümleri vb.) SELinux politikalarını tutarlı bir şekilde dağıtmanıza, mantıksal değerleri ayarlamanıza, rotaları etiketlemenize ve her makine için saatlerce zaman harcamadan istenen durumları korumanıza olanak tanır.
Yüzlerce düğüme sahip kuruluşlarda, bu otomasyon, bir ortama sahip olmak ile olmamak arasındaki farkı yaratabilir. makul derecede homojen ve güvenliYa da sunucuların yarısında SELinux'un devre dışı bırakıldığı, "kimseyi rahatsız etmesin diye" yapılan tutarsız yapılandırmalardan oluşan bir karmaşa.
Sonuç olarak, SELinux düzgün bir şekilde uygulandığında—zorlayıcı mod, tutarlı bağlamlar, gözden geçirilmiş politikalar, ince ayarlı modüller ve izlenen günlüklerle—bir tür güvenlik ağı haline gelir. Olağandışı davranışları kontrol altında tutar, izinsiz girişleri engeller ve sağlam erişim kontrollerinin uygulandığını göstermeye yardımcı olur. Denetimlere, düzenlemelere ve en iyi güvenlik uygulamalarına hazırlık amacıyla.
İçindekiler
- SELinux nedir ve Linux güvenliğini artırmada neden önemlidir?
- Temel kavramlar: SELinux politikaları, bağlamları ve etki alanları
- SELinux çalışma modları: zorlayıcı, izin verici ve devre dışı bırakılmış
- SELinux'u RHEL, Fedora, SUSE ve openSUSE'ye entegre etme
- SELinux politika modelleri: hedefli, MLS ve minimum
- Bağlam yönetimi: SELinux etiketlerini görüntüleme, değiştirme ve geri yükleme
- Temel yapılandırma: SELinux'u etkinleştirin ve modu seçin.
- SELinux ve CVE'ler: Güvenlik açıklarını azaltmaya nasıl yardımcı oluyorlar?
- SELinux uygulamada: web sunucusu kısıtlamasının gerçek dünya örneği
- Politikaları ayarlamak için Boole değerleri, modüller ve araçlar
- SELinux ile ilgili günlük kayıtları, denetim ve sorun giderme
- Linux güvenliğini artırma stratejisi kapsamında SELinux