SELinux'un çalışmasının birkaç farklı yolu vardır. Bu, SELinux politikası tarafından tanımlanır. Bu kılavuzda, SELinux politikaları ve SELinux'ta nasıl politika oluşturulacağı hakkında daha fazla bilgi edineceksiniz.
SELinux Politikasına Genel Bakış
SELinux'u ve politikalarını hızlıca gözden geçirelim. SELinux, “Güvenlik-Geliştirilmiş Linux”un kısaltmasıdır.” Linux çekirdeğine yönelik bir dizi güvenlik yaması içerir. SELinux orijinal olarak Ulusal Güvenlik Ajansı (NSA) tarafından geliştirildi ve 2000 yılında GPL lisansı altında açık kaynak geliştirme topluluğuna sunuldu. 2003 yılında ana hat Linux çekirdeği ile birleştirildi.
SELinux, varsayılan DAC (İsteğe Bağlı Erişim Kontrolü) yerine MAC (Zorunlu Erişim Kontrolü) sağlar. Bu, başka türlü uygulanması mümkün olmayan bazı güvenlik politikalarının uygulanmasına izin verir.
SELinux ilkeleri, SELinux güvenlik motorunu yönlendiren kurallar dizisidir. Bir ilke, dosya nesneleri için türleri ve işlemler için etki alanlarını tanımlar. Alanlara erişimi sınırlamak için roller kullanılır. Kullanıcı kimlikleri hangi rollerin elde edilebileceğini belirler.
Kullanılabilir iki SELinux politikası vardır:
- Hedeflenen: Varsayılan politika. Hedeflenen süreçlere erişim kontrolü uygular. İşlemler, işlemlerin dosyalara sınırlı erişiminin olduğu sınırlı bir etki alanında çalışır. Sınırlı bir süreç tehlikeye girerse, hasar hafifletilir. Hizmetler söz konusu olduğunda, bu alanlara yalnızca belirli hizmetler yerleştirilir.
- MLS: Çok Düzeyli Güvenlik anlamına gelir. SELinux MLS politikasıyla ilgili Red Hat belgelerine göz atın.
Hedeflenmeyen işlemler, sınırlandırılmamış bir etki alanında çalışacaktır. Sınırsız etki alanlarında çalışan işlemler neredeyse tam erişime sahiptir. Böyle bir süreç tehlikeye girerse, SELinux herhangi bir azaltma sunmaz. Saldırgan tüm sisteme ve kaynaklara erişim sağlayabilir. Ancak, sınırlandırılmamış alanlar için DAC kuralları hala geçerlidir.
Aşağıda, sınırlandırılmamış alan örneklerinin kısa bir listesi bulunmaktadır:
- initrc_t etki alanı: init programları
- kernel_t etki alanı: çekirdek süreçleri
- unconfined_t etki alanı: Linux sistemine giriş yapan kullanıcılar
SELinux Politikasını Değiştirme
Aşağıdaki örnekler CentOS 8'de gerçekleştirilir. Bu makaledeki tüm komutlar kök kullanıcı olarak çalıştırılır. Diğer dağıtımlar için lütfen SELinux'un nasıl etkinleştirileceğine ilişkin uygun eğiticiye göz atın.
SELinux'ta bir politikayı değiştirmek için SELinux durumunu kontrol ederek başlayın. Varsayılan durum, "hedeflenen" politika ile "Zorlama" modunda SELinux etkin olmalıdır.
SELinux politikasını değiştirmek için, favori metin düzenleyicinizde SELinux yapılandırma dosyasını açın.
Burada hedefimiz SELinux politikasını tanımlayan “SELINUXTYPE” değişkenidir. Gördüğünüz gibi, varsayılan değer “hedeflenen.”
Bu örnekte gösterilen tüm adımlar CentOS 8'de gerçekleştirilir. CentOS durumunda, MLS politikası varsayılan olarak yüklü gelmez. Bunun diğer dağıtımlarda da olması muhtemeldir. Ubuntu'da SELinux'u nasıl yapılandıracağınızı buradan öğrenin. Önce programı yüklediğinizden emin olun. Ubuntu, CentOS, openSUSE, Fedora, Debian ve diğerleri için paket adı “selinux-policy-mls” şeklindedir.”
$ dnf kurulum selinux-policy-mls
Bu durumda politikayı MLS olarak değiştireceğiz. Değişkenin değerini buna göre değiştirin.
Dosyayı kaydedin ve düzenleyiciden çıkın. Bu değişiklikleri yürürlüğe koymak için sistemi yeniden başlatmanız gerekir.
$ yeniden başlatAşağıdakileri yayınlayarak değişikliği doğrulayın.
$ ses durumuSELinux Modlarını Değiştirme
SELinux üç farklı modda çalışabilir. Bu modlar, ilkenin nasıl uygulanacağını belirler.
- Zorunlu: Politikaya aykırı herhangi bir işlem engellenir ve denetim günlüğünde raporlanır.
- İzin verici: Politikaya aykırı herhangi bir işlem yalnızca denetim günlüğünde raporlanır.
- Devre Dışı: SELinux devre dışı.
SELinux'ta modu geçici olarak değiştirmek için setenforce komutunu kullanın. Sistem yeniden başlatılırsa, sistem varsayılan ayara dönecektir.
$ setenforce Zorlama$ setenforced İzin Veren
SELinux'daki modu kalıcı olarak değiştirmek için SELinux yapılandırma dosyasında ince ayar yapmanız gerekir.
Düzenleyiciyi kaydedin ve kapatın. Değişiklikleri yürürlüğe koymak için sistemi yeniden başlatın.
Sesstatus komutunu kullanarak değişikliği doğrulayabilirsiniz.
Sonuç
SELinux, güvenliği zorlamak için güçlü bir mekanizmadır. Umarım bu kılavuz, SELinux'un davranışını nasıl yapılandıracağınızı ve yöneteceğinizi öğrenmenize yardımcı olmuştur.
Mutlu bilgisayar!