Sunucular ile ilgileniyorsanız ve sunucular üzerinde servisleriniz varsa, bu konuda güvenliğin en önemli faktörlerden biri olduğunu unutmamanız gerekir. Linux dağıtımlarının çoğu hali hazırda güçlü güvenlik politikalarına sahiptir. Fakat yine de biz kurduğumuz yazılımlar ve servislerde güvenlik önlemlerini alıp bir politika belirlememiz gerekir. Bu konuda PHP güvenlik önlemleri yazımızı okuyabilirsiniz.
Tabi bazen güvenlik politikaları da sunucumuzda bazı işlevlerin çalışmamasına yol açabilir. Bu sebeple bazı güvenlik önlemlerini devre dışı bırakmamız gerekecektir. Özellikle Linux Hosting kullanıcıları PHP ile çalışırken güvenlik önlemlerine takılmak istemezler. Bu yazımızda Centos SELinux kapatma işlemini inceliyoruz.
SELinux Nedir?
SELinux belirli kernel modüllerine erişimi kısıtlayan bir güvenlik kontrol mekanizmasıdır. Centos linux dağıtımında varsayılan olarak uygulanır. SELinux, sistemin altyapısı için belirli uygulamaların kullanımını kısıtlayan veya izin veren “politikalar” adı verilen belirli kurallarla yönetilir
SELinux üç durumda çalışır;
Enforcing: SELinux’un aktif olduğunu belirler. Bütün yetkisiz işlemleri reddeder.
Permissive: SELinux sadece uyarı modudur. Yetkisiz işlemlere izin verir ancak beraberinde uyarı da verir.
Disable: SELinux’un devre dışı olduğu durumdur. Tüm işlemlere izin verilir ve uyarı vermez.
SELinux’u Devre Dışı Bırakma
Selinux’u geçici veya kalıcı olarak devre dışı bırakabiliyoruz. Geçici olarak devre dışı bıraktığımızda, sistemin yeniden başlatılması ile beraber tekrar devreye girecektir. Kalıcı olarak bıraktığınızda ise, tekrar aktif etmeniz gerekecektir.
SELinux’u Kalıcı Olarak Devre Dışı Bırakma
Bu işlemleri yapabilmek için root kullanıcısı ile veya root yetkisindeki kullanıcımız ile SSH servisine erişmemiz gerekecektir. Centos sunucumuza SSH üzerinden erişelim ve aşağıdaki işlemleri gerçekleştirelim.
Favori editörünüz ile dosyayı açın;
nano /etc/sysconfig/selinux

SELINUX=enforcing satırını değiştirmemiz gerekiyor, aşağıdaki şekilde değiştirelim;
SELINUX=disabled
Dosyayı ctrl+x ile kaydedip çıkalım. SELinux’un pasif olması için sistemimizi yeniden başlatmamız gerekiyor.
reboot
Sistemimiz tekrar açıldığında SELinux durumunu sorgulayalım;
sestatus

SELinux’u Geçici Olarak Devre Dışı Bırakma
Geçici olarak devre dışı bırakmak için aşağıdaki komutu yazmamız yeterli olacaktır.
setenforce 0
SELinux Centos/Redhat Linux dağıtımları için performanslı bir güvenlik aracıdır. Güvenlik önlemleri bazen bizi kısıtlayıp can sıkabilir fakat güvenlik önlemini kapatmak da hali hazırda bir risk oluşturacaktır.
Sık Sorulan Sorular
SELinux’u devre dışı bıraktıktan sonra sistemim yeniden açılmıyor, neden olabilir?
Bazı sistemlerde grub.cfg veya fstab yapılandırmaları SELinux etiketiyle ilişkilidir. Bu nedenle fiziksel sunucu kiralama veya vds sunucu ortamlarında setenforce 0
komutuyla geçici devre dışı bırakıp sistemi test etmek gerekir.
setenforce 0 komutunu yazınca “SELinux is disabled” uyarısı alıyorum, bu ne anlama gelir?
Bu uyarı SELinux’un zaten kalıcı olarak kapatıldığını gösterir. Cloud server veya sanal sunucu kiralama yapılandırmalarında /etc/selinux/config
dosyasındaki SELINUX=disabled
satırı aktifse sistem tamamen devre dışı kalır.
SELinux devre dışı bırakmak güvenlik açısından riskli midir?
SELinux servislerin yalnızca izin verilen işlemleri yapmasını sağlayan bir güvenlik katmanıdır. Tamamen kapatmak, özellikle dedicated sunucu veya veri merkezi ortamlarında güvenlik risklerini artırır.
SELinux yerine kullanabileceğim alternatif güvenlik önlemleri var mı?
Firewall kuralları veya güvenlik servisleriyle ek koruma sağlanabilir.
Bu tür çözümler co location veya cloud server altyapılarında SELinux’a ek olarak tercih edilebilir.
Permissive modda çalıştırmak güvenli midir?
Permissive mod engelleme yapmadan yalnızca log kaydı oluşturur.
Bu sayede sanal sunucu kiralama ortamlarında hangi işlemlerin engelleneceğini görüp daha güvenli bir yapı oluşturabilirsiniz.