SELinux (Security-Enhanced Linux), Linux tabanlı sistemlerde güvenliği artırmak için geliştirilmiş bir erişim kontrol mekanizmasıdır. Sistem kaynaklarına erişimi politikalarla kısıtlayarak, yetkisiz işlemlerin önüne geçer. Linux sunucularda SELinux’u doğru yapılandırmak, sistem güvenliğini önemli ölçüde artırır. İşte SELinux ayarlarının temel adımları:
1. SELinux Durumunu Kontrol Etme
Sunucuda SELinux’un aktif olup olmadığını kontrol etmek için şu komut kullanılır:
sestatus
Bu komut, SELinux’un etkinlik durumu ve çalışma modunu gösterir.
2. SELinux Modları
SELinux üç farklı modda çalışabilir:
- Enforcing (Zorlayıcı): SELinux kuralları aktif olarak uygulanır ve ihlaller engellenir.
- Permissive (İzin Verici): Kurallar uygulanmaz, ancak ihlal durumları loglanır. Sorun tespiti için kullanılır.
- Disabled (Devre Dışı): SELinux tamamen kapalıdır.
3. SELinux Modunu Geçici Değiştirme
Anlık mod değişikliği için:
setenforce 0 # Permissive moda alır
setenforce 1 # Enforcing moda alır
Değişiklik sistem yeniden başlatıldığında kaybolur.
4. SELinux Modunu Kalıcı Değiştirme
Kalıcı değişiklik için yapılandırma dosyası düzenlenir:
sudo nano /etc/selinux/config
Burada SELINUX=
satırı aşağıdaki değerlerden biri ile değiştirilir:
- enforcing
- permissive
- disabled
Dosya kaydedilip kapatıldıktan sonra sistem yeniden başlatılır.
5. SELinux Politikalarını Görüntüleme ve Yönetme
SELinux politikaları, sistem kaynaklarına hangi işlemlerin erişebileceğini belirler. Aşağıdaki komutlarla politika bilgileri alınabilir:
sestatus -v
semanage boolean -l
semanage
komutu ile SELinux ayarları daha detaylı yönetilebilir.
6. SELinux Booleans ile Ayarların Özelleştirilmesi
Bazı SELinux özellikleri Booleans ile açılıp kapatılabilir. Örneğin, web sunucusunun dosya yazma izni:
setsebool -P httpd_write_enable on
-P
parametresi kalıcı değişiklik yapar.
7. SELinux İhlallerinin Loglanması ve İncelenmesi
SELinux ihlalleri /var/log/audit/audit.log
dosyasında kaydedilir. ausearch
ve audit2why
araçları ile loglar analiz edilir:
ausearch -m avc -ts recent
audit2why < /var/log/audit/audit.log
Bu sayede sorunlar hızlıca tespit edilip çözülebilir.
Sonuç
SELinux ayarlarının doğru yapılandırılması, Linux sunucuların güvenlik seviyesini artırır ve yetkisiz erişimleri engeller. Enforcing modunda kullanılması önerilir, ancak yapılandırma ve hata tespiti için permissive moda geçiş yapılabilir. Yönetim için Booleans ve log analiz araçları etkin biçimde kullanılmalıdır.