Ubuntu Server, Linux tabanlı sunucular arasında güvenlik odaklı minimal kurulum seçenekleriyle öne çıkar.
Ubuntu Server, Linux tabanlı sunucular arasında güvenlik odaklı minimal kurulum seçenekleriyle öne çıkar. Minimal saldırı yüzeyi kavramı, gereksiz bileşenleri ortadan kaldırarak potansiyel güvenlik açıklarını en aza indirmeyi ifade eder. Kurumsal ortamlarda, sunucunun yalnızca zorunlu servislerle çalışması, hem performans hem de güvenlik açısından kritik öneme sahiptir. Bu makalede, Ubuntu Server’ı minimal saldırı yüzeyi prensipleriyle yapılandırarak güvenli bir ortam oluşturmanın pratik adımlarını ele alacağız. Başlangıçtan itibaren dikkatli bir kurulum ve sürekli yönetimle, siber tehditlere karşı dirençli bir sistem elde edebilirsiniz.
Ubuntu Server’ı minimal saldırı yüzeyiyle kurmak için öncelikle netinstall ISO dosyasını kullanmanızı öneririz. Bu yöntem, yalnızca temel sistem bileşenlerini yükler ve gereksiz paketleri dışarıda bırakır. Kurulum sırasında ağ üzerinden paketleri indirerek, yerel depolama ihtiyacını minimize eder. Kurulum ekranında “Minimal Installation” seçeneğini işaretleyin; bu, OpenSSH sunucusu gibi temel araçları dahil ederken masaüstü ortamı veya ekstra araçları hariç tutar.
Kurulum tamamlandıktan sonra, sistemi güncelleyin: sudo apt update && sudo apt upgrade -y komutunu çalıştırın. Ardından, sudo apt autoremove ile kullanılmayan paketleri temizleyin. Bu adımlar, başlangıçta yaklaşık 500 MB’lık bir footprint ile sonuçlanır ve saldırı vektörlerini önemli ölçüde azaltır. Pratikte, bu kurulum bir web sunucusu için ideal olup, yalnızca Apache veya Nginx gibi seçili servisleri barındırır.
Apt yapılandırmasını güçlendirmek için /etc/apt/apt.conf.d/50unattended-upgrades dosyasını düzenleyin ve yalnızca güvenlik güncellemelerini etkinleştirin. Bu, otomatik güncellemeleri kontrollü hale getirir. Ek olarak, unattended-upgrades paketini kurup yapılandırarak, sistemin kesintisiz güvenlik yamalarını almasını sağlayın. Bu yaklaşım, manuel müdahaleyi azaltırken olası exploit’lere karşı koruma sağlar ve kurumsal sunucularda standart bir uygulamadır.
Sunucuda çalışan servisleri incelemek için systemctl list-units --type=service --state=running komutunu kullanın. Çoğu Ubuntu kurulumunda snapd, whoopsie gibi servisler varsayılan olarak aktif olabilir; bunlar telemetry ve hata raporlama için tasarlanmış olup, minimal yaklaşıma uymaz. Her servisin amacını değerlendirerek, yalnızca işlevsel olanları koruyun. Bu süreç, saldırı yüzeyini %70 oranında küçültebilir, çünkü her açık port veya dinleyici süreç bir risk taşır.
sudo systemctl disable --now snapd ile snapd’yi devre dışı bırakın ve sudo apt purge snapd ile kaldırın.sudo systemctl disable --now whoopsie uygulayın.Değişiklikleri kalıcı hale getirmek için systemd-analyze blame ile kaynak tüketimini kontrol edin. Bu adımlar, sunucunun bellek kullanımını 100-200 MB düşürür ve CPU yükünü optimize eder, böylece DDoS gibi saldırılara karşı daha dayanıklı hale gelir.
Sürekli izleme için cron job’lar oluşturun: crontab -e ile haftalık servis taraması ekleyin, örneğin 0 2 * * 0 systemctl list-units --type=service --state=running | mail -s "Haftalık Servis Raporu" [email protected]. Bu, proaktif yönetim sağlar. Ayrıca, logrotate ile log dosyalarını yöneterek depolama tabanlı saldırıları önleyin. Bu teknikler, kurumsal ekiplerin sıfır güven modeli benimsemesine yardımcı olur.
UFW’yi etkinleştirerek yalnızca gerekli portları açın: sudo ufw default deny incoming ve sudo ufw default allow outgoing ile varsayılan kuralları ayarlayın. SSH için sudo ufw allow OpenSSH, web servisi için sudo ufw allow 80/tcp ekleyin, sonra sudo ufw enable. Bu, brute-force saldırılarını engeller ve yalnızca whitelist’lenmiş trafiğe izin verir.
Fail2Ban entegrasyonu için sudo apt install fail2ban kurun ve /etc/fail2ban/jail.local dosyasını yapılandırın. SSH jail’ini etkinleştirerek, 5 başarısız denemeden sonra IP’leri 10 dakika banlayın. Logları /var/log/auth.log üzerinden izleyin. Bu kombinasyon, saldırı yüzeyini port seviyesinde minimize eder ve gerçek zamanlı koruma sağlar.
SSH’yi güçlendirmek için /etc/ssh/sshd_config‘te PermitRootLogin no, PasswordAuthentication no ve PubkeyAuthentication yes ayarlarını yapın, ardından sudo systemctl restart ssh. İki faktörlü doğrulama için Google Authenticator entegrasyonu ekleyin: sudo apt install libpam-google-authenticator ve kullanıcı başına google-authenticator çalıştırın. Bu adımlar, yetkisiz erişimi %99 oranında önler ve uyumluluk standartlarını (örneğin GDPR) destekler.
Ubuntu Server’da minimal saldırı yüzeyi uygulamak, sistemin ömrünü uzatır ve bakım maliyetlerini düşürür. Yukarıdaki adımları düzenli olarak gözden geçirerek, tehdit evrimine uyum sağlayın. Bu stratejiyle, kurumsal sunucunuz hem verimli hem de güvenli bir kale haline gelir, iş sürekliliğini garanti altına alır.