SELinux Nedir?
SELinux (Security-Enhanced Linux), Linux çekirdeğine entegre edilmiş bir güvenlik mimarisidir. Bu sistem, öne çıkan güvenlik politikalarını uygulayarak sistemdeki kaynaklara erişim kontrolü sağlar. SELinux, uygulamaların çalıştığı ortamda istenmeyen erişimlerin önlenmesine yardımcı olur ve böylece sistemin güvenliğini artırır. SELinux, bir dizi politika ve kural seti aracılığıyla çalışır ve sistem yöneticilerine, kaynakları ve uygulamaları koruma konusunda daha fazla kontrol sağlar.
Rocky Linux 9’da SELinux Genel Yapılandırması
Rocky Linux 9, varsayılan olarak SELinux’u açık olarak yükler. SELinux’un çalışma durumu, sistemin genel güvenliğinin sağlanabilmesi için büyük önem taşır. SELinux, “Enforcing” (zorlayıcı), “Permissive” (uzlaşıcı) ve “Disabled” (devre dışı) olmak üzere üç modda çalışabilir.
– Enforcing: Politikaların uygulandığı ve ihlallerin kaydedildiği moddur.
– Permissive: Politikaların yalnızca kaydedildiği ve uygulanmadığı moddur.
– Disabled: SELinux’un devre dışı olduğu durumdur.
SELinux Modunu Kontrol Etme
SELinux’un mevcut modunu kontrol etmek için terminalde aşağıdaki komut kullanılabilir:
“`bash
sestatus
“`
Bu komut, SELinux’un durumunu, modunu ve etkin politikasını gösterir. Eğer sistem “Enforcing” modunda çalışıyorsa, SELinux aktif durumdadır.
SELinux Modunu Değiştirme
SELinux modunu değiştirmek için, `/etc/selinux/config` dosyasını düzenlemek gerekir. Bu dosyada `SELINUX=` satırı altında istenen mod belirtilmelidir. Örneğin, “Permissive” moduna geçiş yapmak için şu adımlar izlenebilir:
1. Terminalde bir metin düzenleyici açılarak konfigürasyon dosyası düzenlenir:
“`bash
sudo vi /etc/selinux/config
“`
2. `SELINUX=` satırı aşağıdaki gibi değiştirilir:
“`
SELINUX=permissive
“`
3. Değişikliklerin uygulanabilmesi için sistemi yeniden başlatmak gerekir:
“`bash
sudo reboot
“`
SELinux Politikalarını Anlama ve Yönetme
SELinux, politikalarıyla birlikte çalışarak sistemdeki kaynaklara erişimi yönetir. Özel bir politika dosyası, kullanıcılar, gruplar ve sistem süreçleri ile ilişkilidir. `semanage` ve `setsebool` gibi yardımcı programlar, politika yönetimi için kullanılır.
– semanage: SELinux etiketleme ve politika yönetimi için kullanılır. Örneğin, yeni bir dosya etiketi eklemek için bu araç kullanılabilir.
– setsebool: Boolean değişkenlerini yönetmek için kullanılır. Boolean değişkenleri, SELinux politikalarının belirli durumlar için nasıl çalışacağını belirler.
SELinux ile Dosya ve Dizin Etiketi Yönetimi
Dosya ve dizinler için SELinux etiketleri, dosya sisteminin güvenliğini sağlamak açısından kritik öneme sahiptir. Her dosya ve dizin, SELinux’un denetleyebileceği bir etikete sahiptir. Dosya etiketlerini kontrol etmek için aşağıdaki komut kullanılabilir:
“`bash
ls -Z
“`
Yeni bir dosyaya özel bir etiket atamak için `chcon` komutu kullanılabilir:
“`bash
sudo chcon -t httpd_sys_content_t /var/www/html/myfile
“`
Bu örnekte, `httpd_sys_content_t` etiketi, web sunucusu için uygun bir etiket olarak atanmıştır.
Audit Log’larını İnceleme
SELinux, politika ihlallerini log dosyalarına kaydeder. Bu log dosyaları, sorunları tanımlamak ve çözmek için kritik önem taşır. Log dosyalarına erişim sağlamak için aşağıdaki komut kullanılabilir:
“`bash
sudo cat /var/log/audit/audit.log
“`
Log dosyaları, sistemdeki güvenlik politikalarının ne kadar etkin çalıştığını ve hangi uygulamaların sorun çıkardığını incelemek için önemli veriler sunar.
SELinux Hatalarını Giderme
SELinux yapılandırmasında karşılaşılan sorunların giderilmesi için `audit.log` dosyası dikkatlice incelenmelidir. Buradan elde edilen bilgiler, gereken ayarlamaların yapılabilmesi için yol gösterici olacaktır. Gerekli izinlerin verilmesi veya politikaların yeniden yapılandırılması, karşılaşılan sorunların çözümü için önemli adımlardır.
SELinux için GUI Araçları
SELinux yapılandırmasını yönetmek için grafiksel kullanıcı arabirimi araçları da mevcuttur. Bu tür araçlar, SELinux ayarlarını hızlı ve kullanıcı dostu bir şekilde değiştirebilmek için tercih edilebilir.
SELinux İzin Ayarları
SELinux, uygulamalar arasında güvenli bir iletişim sağlamanın yanı sıra, verilerin korunması için de önemli bir rol oynar. Uygulama izinlerini ayarlamak için doğru politikaların oluşturulması gerekir. `setsebool` komutu bu noktada etkili bir araçtır.
Sonuç
Rocky Linux 9 üzerinde SELinux yapılandırması, sistem güvenliğini sağlamak açısından kritik bir öneme sahiptir. SELinux’un modları, dosya etiketi yönetimi, politika uygulaması ve hata giderme süreçleri, güvenli bir Linux ortamı oluşturmak için önemli adımlardandır. SELinux’un etkin kullanımı, sistem üzerinde kontrolün sağlanmasına ve güvenlik açıklarının azaltılmasına yardımcı olur.


