Linux Güvenlik Mimarisi ve Paket Filtreleme Mantığı
Linux Güvenlik Mimarisi
- Linux güvenliği katmanlı bir yapı üzerine kuruludur.
- Kullanıcı ve yetki sistemi ile root ve normal kullanıcı ayrımı yapılır.
- Dosya izinleri (r, w, x) sayesinde dosya ve dizinlere erişim sınırlandırılır.
-
Zorunlu erişim kontrolü (MAC) mekanizmaları ile uygulamalar da kısıtlanır.
- SELinux
- AppArmor
- Çekirdek seviyesinde güvenlik modülleri, sistem kaynaklarını korur.
-
Ağ güvenliği (firewall) ile gelen ve giden trafik kontrol edilir.
Paket Filtreleme Mantığı
- Paket filtreleme, ağ üzerinden gelen ve giden veri paketlerinin kontrol edilmesidir.
-
Her paket şu bilgilere göre incelenir:
- Kaynak IP adresi
- Hedef IP adresi
- Port numarası
- Protokol (TCP/UDP vb.)
- Linux’ta bu işlem çekirdek içindeki Netfilter altyapısı ile yapılır.
-
Yönetim için genellikle şu araçlar kullanılır:
- iptables
- nftables
nftables ile Modern Firewall Yönetimi
Linux dünyasında ağ güvenliği uzun yıllar boyunca iptables ile sağlandı. Ancak artan trafik yükü, IPv4/IPv6 ayrımı ve karmaşık kural yapıları daha modern bir çözüme ihtiyaç doğurdu. Bu noktada devreye giren nftables, Linux çekirdeğindeki Netfilter altyapısını kullanan yeni nesil firewall sistemidir.
Neden nftables?
iptables; IPv4, IPv6 ve diğer protokoller için ayrı araçlar kullanır ve kuralları sıralı olarak işler. Kural sayısı arttıkça performans düşebilir ve yönetim zorlaşır.
nftables ise:
- Tüm protokol ailelerini tek çatı altında toplar
- Daha sade ve okunabilir bir yapı sunar
- Atomik kural güncellemeleri sayesinde kesintisiz değişiklik imkânı sağlar
-
Sets ve maps gibi gelişmiş veri yapılarıyla daha az kural, daha yüksek performans sunar
Güvenlik Açısından Kazanımlar
nftables ile:
- IP ve port bazlı erişim kontrolü yapılabilir
- NAT işlemleri uygulanabilir
- DDoS ve brute-force saldırıları sınırlandırılabilir
-
Gelişmiş loglama ve izleme ile trafik analiz edilebilir
Port Açma ve Kapatma İşlemleri
Port açma ve kapatma işlemleri, bir sistemde hangi ağ bağlantılarının dış dünyaya açık olacağını belirleyen kritik güvenlik adımlarıdır. Her açık port, dışarıdan erişilebilen bir “kapı” anlamına gelir. Bu nedenle yalnızca gerekli servisler için port açılmalı, kullanılmayan tüm portlar kapalı tutulmalıdır.
Port Açma Nedir?
Port açma işlemi, belirli bir bağlantı noktasına (örneğin 80, 443 veya 25565) gelen trafiğe izin verilmesini sağlar.
Örneğin:
- 80 (HTTP) → Web sunucusu erişimi
- 443 (HTTPS) → Güvenli web trafiği
- 22 (SSH) → Uzaktan sunucu yönetimi
İlgili port açık değilse, dışarıdan gelen istekler güvenlik duvarı tarafından engellenir.
Port Kapatma Nedir?
Port kapatma işlemi, belirli bir port üzerinden gelen ve giden trafiğin engellenmesidir. Güvenlik açısından en doğru yaklaşım:
“Varsayılan olarak kapalı, yalnızca gerekli olan açık” prensibidir.
Bu yaklaşım saldırı yüzeyini azaltır ve yetkisiz erişim riskini düşürür.
Firewall Kurallarının Yedeklenmesi ve Otomatik Başlatılması
Firewall kuralları, bir sistemin ağ erişim politikasını belirleyen temel güvenlik bileşenidir. Bu kuralların yedeklenmemesi veya sistem açılışında otomatik yüklenmemesi, reboot sonrası sunucunun savunmasız şekilde ayağa kalkmasına neden olabilir. Bu nedenle yedekleme ve kalıcılık (persistence) yapılandırması, güvenli sistem yönetiminin zorunlu bir parçasıdır.
1. Kuralların Yedeklenmesi
Yedekleme işlemi, aktif firewall yapılandırmasının dışa aktarılmasıdır. Bu sayede:
- Sistem arızalarında hızlı geri dönüş sağlanır
- Hatalı değişiklikler geri alınabilir
- Sunucu migrasyonlarında aynı güvenlik politikası korunur
2. Otomatik Başlatma (Persistence)
Firewall kurallarının sistem her açıldığında otomatik yüklenmesi gerekir. Aksi halde reboot sonrası firewall devre dışı kalabilir.
nftables, modern dağıtımlarda systemd servisi olarak çalışır.
3. Versiyon Kontrollü Güvenlik Yönetimi
nftables yapılandırmaları düz metin dosyalarıdır. Bu dosyaların Git gibi versiyon kontrol sistemlerinde tutulması önerilir. Böylece:
- Hatalı değişikliklerde hızlı rollback yapılabilir
- Değişiklik geçmişi denetlenebilir (audit)
-
Kurumsal ortamlarda yapılandırma disiplini sağlanır
Linux Sunucularda En İyi Güvenlik Pratikleri
Linux sunucuların güvenliği, katmanlı ve sürekli bir yaklaşım gerektirir. Aşağıda en kritik güvenlik maddelerinin kısa ve net özeti yer almaktadır:
1. Güncelleme ve Yama Yönetimi
İşletim sistemi ve paketler düzenli güncellenmeli, güvenlik yamaları geciktirilmeden uygulanmalıdır. Otomatik güvenlik güncellemeleri aktif edilmelidir.
2. SSH Güvenliği
Root ile giriş kapatılmalı, parola yerine SSH key kullanılmalıdır. Varsayılan port değiştirilebilir ve brute-force saldırıları için koruma (ör. fail2ban) uygulanmalıdır.
3. Firewall Yapılandırması
Varsayılan politika “deny all” olmalı, yalnızca gerekli portlar açılmalıdır. Gelen ve giden trafik net kurallarla sınırlandırılmalıdır.
4. Gereksiz Servislerin Kapatılması
Kullanılmayan servisler devre dışı bırakılmalı, açık portlar düzenli kontrol edilmelidir. Minimal kurulum tercih edilmelidir.
5. Kullanıcı ve Yetki Yönetimi
En az yetki prensibi uygulanmalı, gereksiz kullanıcılar silinmeli ve sudo yetkileri sınırlandırılmalıdır.
6. Loglama ve İzleme
Loglar düzenli incelenmeli, merkezi loglama ve anomali tespiti mekanizmaları kurulmalıdır.
7. Dosya Sistemi Güvenliği
Kritik dizinlerde güvenli mount seçenekleri kullanılmalı, disk şifreleme ve dosya bütünlüğü kontrolü uygulanmalıdır.
8. SELinux / AppArmor
Zorunlu erişim kontrol sistemleri devre dışı bırakılmamalı, enforcing modda çalıştırılmalıdır.
9. Yedekleme ve Felaket Kurtarma
Düzenli, şifreli ve ayrı lokasyonda yedek alınmalı; geri yükleme testleri yapılmalıdır.
10. Ağ Segmentasyonu
Yönetim erişimi belirli IP’lerle sınırlandırılmalı, mümkünse VPN kullanılmalı ve kritik servisler izole edilmelidir
Linux’ta Firewall Yapılandırması