SELinux yönetimi
Bağlamlar, politikalar ve reddedilen erişimleri çözmek.
Seviye 301 · 16 ders · 15 pratik lab
Dersler
Kipler ve bağlamlar
- SELinux durumu: enforcing ve permissive: SELinux'un enforcing ve permissive kiplerinin farkını ve sistemin şu an hangi kipte olduğunu nasıl kontrol edeceğini anlarsın.
- SELinux: kalıcı kip yapılandırması: SELinux kipinin yeniden başlatmadan sonra da korunmasını sağlayan yapılandırmayı ve kipi kalıcı değiştirmenin risklerini öğrenirsin.
- SELinux güvenlik bağlamları ve etiketler: Dosya ve süreçlere verilen SELinux etiketlerinin ne anlama geldiğini ve erişim kararlarında nasıl kullanıldığını anlarsın.
- Süreç alanları: ps -Z ve tür zorlaması
- SELinux etiket uyuşmazlığını restorecon ile düzeltmek: SELinux'ta dosyanın etiketi beklenenle uyuşmadığında sorunu fark edip restorecon ile etiketi doğru haline döndürmeyi öğrenirsin.
- semanage fcontext ile kalıcı dosya bağlamı tanımlamak: Özel bir dizin için bağlam kuralı ekleyip restorecon ile uygulayarak yeniden etiketlemede bile kalıcı olmasını sağlayabileceksin.
- Kısa görev: taşınmış web içeriğinin etiketlerini kalıcı olarak düzelt
Politikayı ayarlamak
- SELinux boolean'ları: SELinux boolean'larının politikayı açıp kapatan basit anahtarlar olduğunu ve bir servisin ihtiyacı olan izni güvenle nasıl açacağını öğrenirsin.
- SELinux'ta standart dışı portta servis çalıştırmak: Bir servisi standart dışı bir portta çalıştırmak gerektiğinde SELinux'un neden engellediğini ve portu politikaya doğru şekilde nasıl tanıtacağını anlarsın.
- SELinux AVC reddedilmelerini okumak: SELinux'un engellediği erişimlerin kaydı olan AVC mesajlarını okuyup kimin neye neden erişemediğini anlarsın.
- SELinux: sealert ve audit2allow: SELinux'ta sealert ve audit2allow araçlarının reddedilen erişimi nasıl açıkladığını ve önerilen düzeltmeyi uygulamadan önce neden değerlendirmen gerektiğini öğrenirsin.
- Küçük bir politika modülü yazmak ve yüklemek
- Kısa görev: reddedilen bir erişimi en dar izinle çöz
Konteynerler ve bitirme
- SELinux ve konteyner hacimleri: etiket sorunlarını çözmek: Podman konteynerine bağlanan dizinde SELinux reddini bağlam seçeneğiyle giderebileceksin.
- Kısıtlı kullanıcılar: user_u ve staff_u
- Bitirme görevi: web sunucusunun SELinux sorunlarını çöz: Bitirme görevi: kurgusal bir şirketin web sunucusunda SELinux yüzünden çalışmayan parçaları günlüklerden bulur, SELinux'u kapatmadan düzeltirsin.
Pratik lablar
- Taşınan web dosyalarının etiketini düzelt: Yanlış bağlamla gelen dosyaları ls -Z ile bul, restorecon ile düzelt ve sayfanın açıldığını göster.
- Özel veri klasörüne kalıcı bağlam tanımla: semanage fcontext ile yeni klasöre doğru türü ata, restorecon çalıştır ve yeniden etiketlemeden sonra korunduğunu göster.
- Ev dizininden yayınlanan sayfanın erişim hatasını çöz: userdir sayfalarının neden 403 verdiğini bağlam ve boolean açısından incele, en dar düzeltmeyi uygula.
- Yanlış etiketli dosya yüzünden açılan erişimi kapat: Gizli dosyanın web içerik türüyle etiketlendiğini bul, doğru türe çek ve web sunucusunun artık okuyamadığını kanıtla.
- Web sunucusunun veritabanına bağlanmasına izin ver: Reddedilen bağlantı için doğru boolean’ı bul, kalıcı olarak aç ve uygulamanın bağlandığını göster.
- Standart dışı portta çalışan servise izin ver: Servisin 8443’te başlayamadığını görüp portu semanage port ile doğru türe ekle ve servisi başlat.
- Gereğinden fazla açılmış boolean’ları geri kapat: Değiştirilmiş boolean’ları varsayılanlarla karşılaştır, gerekmeyenleri kapat ve uygulamanın çalışmaya devam ettiğini göster.
- AVC kaydını oku ve neyin engellendiğini söyle: ausearch ile son reddi bul ve kaynak, hedef, sınıf ve izni sade bir cümleyle yaz.
- sealert önerisini değerlendir ve doğru çözümü seç: sealert’in sunduğu seçenekler arasından etiket düzeltmesini politika modülüne tercih et ve gerekçesini yaz.
- En dar izinle küçük bir politika modülü yükle: audit2allow çıktısındaki fazla izinleri ayıkla, yalnızca gerekeni içeren modülü derle, yükle ve reddin bittiğini göster.
- Permissive kalmış sunucuyu enforcing’e al: Çalışan ve kalıcı modu kontrol et, ikisini de enforcing yap ve yeniden başlatmada korunduğunu göster.
- Tek bir alanı permissive bırakıp sorunu ayıkla: Tüm sistemi gevşetmeden tek bir servis alanını permissive yap, reddi topla, düzelt ve alanı geri al.
- Konteyner birimindeki izin hatasını etiketle çöz: Konteynerin bağladığı klasöre erişemediğini göster, :Z ve :z farkını kullanarak doğru etiketi uygula ve sonucu doğrula.
- Bir kullanıcıyı sınırlı SELinux kullanıcısına eşle: Stajyer hesabını user_u’ya eşle, sudo ve su kullanamadığını göster ve eşlemeyi listele.
- Yardım masası hesabını yalnızca gereken işle sınırlayan SELinux eşlemesi kur: Hesabı staff_u kullanıcısına eşle, sudo ile yalnızca servis yeniden başlatma rolüne geçmesine izin ver ve yasak bir işlemin AVC kaydıyla reddedildiğini kanıtla.
Kurs hakkında
Bağlamlar, politikalar ve reddedilen erişimleri çözmek.
Ne öğreneceksin
- Kipler ve bağlamlar
- Politikayı ayarlamak
- Konteynerler ve bitirme
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.