Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills
25.08.2025

SELinux Nedir ve Linux’ta Güvenliği Nasıl Artırabilir?

Linux sunucularının güvenliği söz konusu olduğunda, çoğu yönetici temel konuları düşünür: paketleri güncel tutmak, güvenlik duvarlarını yapılandırmak, SSH erişimini sınırlamak. Ancak en güçlü güvenlik mekanizmalarından biri genellikle göz ardı edilir: SELinux (Security-Enhanced Linux). Bu sadece bir eklenti değildir; izinsiz girişleri artmadan önce durdurmak için tasarlanmış çekirdek düzeyinde bir güvenlik çerçevesidir. Hem VPS hem de tahsis edilmiş sunucular için SELinux, küçük bir olay ile tam bir sistem tehlikesi arasındaki fark anlamına gelebilir.

SELinux Nedir?

SELinux, Zorunlu Erişim Kontrolü (MAC) uygulayan bir Linux çekirdek güvenlik modülüdür.

  • Geleneksel DAC (Discretionary Access Control) modelinde erişim dosya sahipleri tarafından belirlenir ve root sınırsız yetkiye sahiptir.
  • MAC (SELinux) altında, erişim sistem genelindeki güvenlik politikaları tarafından yönetilir. Kök bile kısıtlamalara tabidir.

Başlangıçta NSA tarafından Red Hat ile işbirliği içinde geliştirilen SELinux, 2000’li yılların başında Linux çekirdeğine entegre edildi ve şu anda RHEL, CentOS, Fedora, AlmaLinux ve Rocky Linux gibi kurumsal dağıtımlarda standart hale geldi.

Sorun: Geleneksel Linux Güvenliğinin Yetersiz Kaldığı Noktalar

Klasik UNIX izin modelinin (DAC) kritik zayıflıkları vardır:

  • Kök tüm güce sahiptir. Root’a yükselen herhangi bir istismar tüm sistemi tehlikeye atar.
  • Hizmet tehlikesi = sistem tehlikesi. Hacklenmiş bir Apache modülü ya da PHP betiği hassas verilere erişebilir.
  • Modern saldırı vektörleri DAC’yi atlar. Web kabukları, ayrıcalık yükseltme istismarları ve konteyner kaçışları yaygındır.

Gerçek dünya senaryosu:
Bir CMS yükleme açığı, bir saldırganın bir web kabuğu bırakmasına izin verir. SELinux olmadan, saldırgan config.php dosyasını okuyabilir, veritabanı kimlik bilgilerini çıkarabilir ve tüm yığını tehlikeye atabilir. SELinux ile web sunucusu işlemi (httpd_t) sınırlandırılır ve belirlenen etki alanı dışındaki dosyalara erişemez.

SELinux Nasıl Çalışır?

Her işlem, dosya, bağlantı noktası ve soketin bir güvenlik bağlamı (etiketi) vardır.
İlkeler hangi bağlamların etkileşime girebileceğini tanımlar.

Örnek:

  • Apache httpd_t etki alanında çalışır.
  • Web sitesi dosyaları httpd_sys_content_t olarak etiketlenmiştir.
  • İlke httpd_t’nin sadece httpd_sys_content_t dosyalarını okumasına izin verir.

Apache /etc/shadow (shadow_t) dosyasını okumaya çalışırsa, çekirdek isteği reddeder ve ihlali günlüğe kaydeder.

Çalışma Kipleri

  • Zorlayıcı: ilkeler zorlanır, ihlaller engellenir.
  • İzinli: ihlaller günlüğe kaydedilir ancak engellenmez (test için kullanışlıdır).
  • Devre dışı: SELinux kapatılır (önerilmez).

En iyi uygulama: İzin Verme ile başlayın, günlükleri inceleyin, politikalarda ince ayar yapın ve ardından üretim için Zorlama’ya geçin.

SELinux Hosting ve DevOps için Neden Önemlidir?

  • Süreç izolasyonu: tek bir hizmet tehlikeye girdiğinde hasarı sınırlar.
  • En az ayrıcalık uygulaması: root bile ilke kısıtlamalarını atlayamaz.
  • Adli tıp ve görünürlük: reddedilen tüm eylemler günlüğe kaydedilir (/var/log/audit/audit.log).
  • Konteyner güvenliği: Docker/Podman konteynerlerinin sınırlarının dışına çıkmasını engeller.
  • Uyumluluk: Düzenlenmiş ortamlarda gereklidir (PCI DSS, HIPAA, askeri sınıf dağıtımlar).

Politika Türleri

  • Hedefli (varsayılan): yalnızca ağa yönelik hizmetleri kısıtlar (Apache, Nginx, Postfix, Dovecot).
  • Sıkı: MAC’i tüm işlemlere uygular.
  • MLS/MCS: çok seviyeli veya devlet düzeyinde güvenlik için gelişmiş politikalar.

Çoğu VPS ve tahsis edilmiş sunucu iş yükü için Hedefli İlke, kullanılabilirlik ve koruma arasında en iyi dengeyi sağlar.

Pratik Örnekler

SELinux durumunu kontrol edin

getenforce sestatus

Web dosyalarını taşıdıktan sonra dosya bağlamlarını geri yükleme

restorecon -Rv /var/www/html

Dosya güvenlik etiketlerini listeleyin

ls -Z /var/www/html

Web hizmeti giden bağlantılarına izin verin (örn. API çağrıları)

setsebool -P httpd_can_network_connect 1

Günlüklerde reddedilen eylemleri gözden geçirin

ausearch -m avc -ts recent

Sonuç

SELinux ek bir güvenlik özelliğinden daha fazlasıdır; Linux’un erişim kontrolünü nasıl uyguladığını yeniden tanımlayan temel bir çerçevedir. SELinux, süreçleri sınırlandırarak, güvenlik açıklarının etkisini azaltarak ve ayrıntılı denetim izleri sağlayarak bir Linux sistemini çok daha esnek bir ortama dönüştürür. Dikkatli bir yapılandırma ve anlayış gerektirse de, modern sunucu altyapılarına getirdiği güvenlik avantajları onu her türlü üretim dağıtımı için temel bir bileşen haline getirmektedir.

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills