Çekirdek nedir?
Çekirdek (kernel), işletim sisteminin donanımla yazılım arasında köprü kuran en temel parçasıdır. Süreçleri yönetir, belleği dağıtır, dosya sistemini ve ağı işletir, sürücüler aracılığıyla donanıma erişir. Linux sunucularda bu iş Linux çekirdeğine aittir.
Tüm programlar çekirdek aracılığıyla kaynak kullandığı için, çekirdekteki bir güvenlik açığı çok geniş sonuçlar doğurabilir. Bu yüzden çekirdek güncellemeleri sunucu güvenliğinin önemli bir parçasıdır.
Neden önemlidir?
Çekirdek, kullanıcılar arasındaki yetki sınırlarını ve süreç yalıtımını uygular. Bir saldırgan çekirdek açığından yararlanırsa sıradan bir kullanıcının yetkisini root düzeyine çıkarabilir.
- Konteynerler ana makinenin çekirdeğini paylaşır; çekirdek açığı hepsini etkiler.
- Sanal makineler kendi çekirdeklerine sahiptir, bu nedenle yalıtım daha güçlüdür.
- Çekirdek parametreleri (
sysctl) ağ ve bellek davranışını ayarlar.
Sunucu ve hosting ortamında
Çekirdek güncellemesi çoğunlukla sunucunun yeniden başlatılmasını gerektirir; bu yüzden sunucular güncel pakete rağmen eski çekirdekle çalışıyor olabilir. uname -r komutu çalışan çekirdek sürümünü gösterir. Bazı dağıtımlar ve hosting sağlayıcıları, yeniden başlatma gerektirmeyen canlı yama hizmetleri sunar.
CloudLinux gibi hosting odaklı dağıtımlar, kullanıcı yalıtımı için özelleştirilmiş çekirdek kullanır. Paylaşımlı hostingde çekirdek güvenliği, tüm hesapların güvenliğini ilgilendirir.
Nelere dikkat edilmeli?
- Çekirdek güvenlik güncellemelerini düzenli uygulayın ve gerekli yeniden başlatmaları planlayın.
- Çalışan çekirdek sürümünün, kurulu en yeni sürümle aynı olup olmadığını kontrol edin.
- Kullanılmayan çekirdek modüllerini ve gereksiz ağ protokollerini devre dışı bırakın.
- Ağ yığını ve bellek korumaları için
sysctlayarlarını güvenli değerlere çekin. - Mümkünse canlı yama (live patching) çözümlerini değerlendirin.
- Desteği sona ermiş çekirdek sürümlerinde kalmayın.
Sık yapılan hatalar
- Güncellemeyi kurup yeniden başlatmayı unutmak.
- Eski çekirdeklerin sistemde birikmesine izin vermek.
- Hosting sunucusunda çekirdeği test etmeden güncelleyip hizmeti aksatmak.
sysctldeğişikliklerini kalıcı hale getirmemek.
Sık sorulan sorular
Çekirdek ne işe yarar?
Donanım kaynaklarını yöneterek programların bilgisayarı güvenli ve düzenli kullanmasını sağlar. İşletim sisteminin en alt ve en önemli katmanıdır.
Çalışan çekirdek sürümümü nasıl öğrenirim?
Linux terminalinde uname -r komutu çalışan çekirdek sürümünü gösterir. Güncelleme sonrası yeniden başlatma yapılmadıysa bu sürüm eski kalabilir.
Çekirdek güncellemesi neden yeniden başlatma gerektirir?
Çalışan çekirdek bellekte yer aldığı için değişiklik ancak yeni çekirdeğin yüklenmesiyle uygulanır. Canlı yama çözümleri bazı açıkları yeniden başlatmadan kapatabilir.
Bu terimin geçtiği rehberler
- auditd ile denetim kaydı: kritik dosya ve komutları izlemeauditd ile Linux sunucuda denetim kaydı tutun: kritik dosya değişikliklerini ve komutları izleyen kurallar yazın, ausearch ve aureport ile kayıtları sorgulayın.
- Proxmox VE’de LXC konteyner oluşturma ve yönetme (pct)Proxmox VE’de LXC konteyneri pct komutuyla oluşturun, başlatın ve yönetin: şablon indirme, kaynak ayarı, anlık görüntü, yedek ve ayrıcalıksız konteyner güvenliği.
- SNMP ve agent ile ağ izleme temelleriSNMPv3 ile güvenli ağ izleme, agent tabanlı izleme farkı, Zabbix ve LibreNMS yaklaşımı, makul eşikler ve uyarı tasarımı için uygulamalı bir başlangıç rehberi.
- WireGuard ile siteden siteye (site-to-site) VPNİki ağı WireGuard ile birbirine bağlayan site-to-site VPN kurun: anahtar üretimi, iki uçta yapılandırma, IP yönlendirme, güvenlik duvarı kuralları ve el sıkışma doğrulaması.
İlgili terimler
- Dosya sistemi (ext4, XFS)Dosya sistemi, verilerin diskte nasıl düzenlenip saklanacağını belirler; Linux sunucularda en yaygın seçenekler ext4 ve XFS’tir.
- EOL (Destek sonu)Bir yazılım sürümünün üreticiden artık güvenlik düzeltmesi almadığı nokta.
- Linux dağıtımıLinux çekirdeği, araçlar ve paket yönetimiyle birlikte sunulan işletim sistemi.
- Linux namespacesLinux namespaces, süreçlerin gördüğü sistem kaynaklarını (süreç, ağ, dosya sistemi, kullanıcı) birbirinden yalıtan çekirdek özelliğidir.
- logrotatelogrotate, günlük dosyalarını belirli aralıklarla döndürüp sıkıştıran ve eskilerini silen, disk dolmasını önleyen Linux aracıdır.
- LTS (Uzun dönem destek)Daha uzun süre güvenlik güncellemesi alan sürüm kolu.