Linux Sunucu Güvenliği: 2026 İçin 12 Adımlık Sertleştirme Rehberi
SSH'tan izlemeye, sahada her gün uyguladığımız kontrol listesi.
Öne çıkanlar
- İnternete açık bir sunucu ilk 24 saat içinde binlerce otomatik oturum açma denemesi alır; şifreyle SSH en sık istismar edilen noktadır.
- Adımların yarısı tek seferlik yapılandırmadır, diğer yarısı (yama, izleme, yedek testi) sürekli süreçtir.
- Kontrol listesi Ubuntu 24.04 ve AlmaLinux 9/10 için doğrulanmıştır; komut farkları belirtilmiştir.
1. Sistemi güncelle ve yeniden başlat
Hazır imajlar nadiren günceldir. İlk iş paket listesini yenileyip tüm güncellemeleri uygulamak, çekirdek güncellendiyse yeniden başlatmaktır. Ubuntu/Debian'da apt update && apt full-upgrade, AlmaLinux'ta dnf upgrade --refresh yeterlidir. Yeniden başlatma gerekip gerekmediğini Ubuntu'da /var/run/reboot-required dosyası, AlmaLinux'ta needs-restarting -r söyler.
2. Sudo yetkili ayrı bir kullanıcı oluştur
Günlük işler root ile yapılmaz. adduser ile kullanıcı oluşturup Ubuntu'da sudo, AlmaLinux'ta wheel grubuna ekleyin. Bu, hem kaza riskini azaltır hem de loglarda kimin ne yaptığını görünür kılar.
3. SSH anahtarına geç, şifreyle girişi kapat
İstemcide ssh-keygen -t ed25519 ile anahtar üretin, açık anahtarı ssh-copy-id ile sunucuya aktarın. Anahtarla giriş çalıştığını ikinci bir oturumda doğruladıktan sonra /etc/ssh/sshd_config içinde PasswordAuthentication no yapın. Doğrulamadan kapatmak kendinizi dışarıda bırakmanın en yaygın yoludur; kurtarma konsolu olduğundan emin olun.
4. SSH'ı sertleştir
PermitRootLogin no— root doğrudan giremesin.MaxAuthTries 3,LoginGraceTime 20— deneme sayısını ve süresini kıs.AllowUsers deploy admin— yalnızca belirli kullanıcılar.- Port değiştirmek güvenlik sağlamaz, yalnızca log gürültüsünü azaltır; yapacaksanız güvenlik duvarıyla birlikte yapın.
- Değişiklik sonrası
sshd -tile sözdizimini test edip servisi yeniden yükleyin.
5. Güvenlik duvarını varsayılan "reddet" ile kur
Ubuntu'da ufw default deny incoming, ufw allow 22,80,443/tcp, ufw enable. AlmaLinux'ta firewalld ile yalnızca gerekli servisleri açın. Veritabanı, Redis gibi servislerin dışarıya açık olmaması gerekir; bunları 127.0.0.1 veya özel ağa bağlayın. Sağlayıcınızın ağ seviyesinde güvenlik duvarı varsa onu da ikinci katman olarak kullanın.
6. fail2ban veya CrowdSec kur
fail2ban, logları izleyip tekrarlayan başarısız denemeleri geçici olarak engeller; SSH için varsayılan jail çoğu durumda yeterlidir. CrowdSec aynı işi topluluk kara listesiyle birleştirir ve Nginx/LiteSpeed, WordPress gibi ek senaryoları hazır getirir. İkisinden birini seçin, ikisini birden kurmayın.
7. Güvenlik yamalarını otomatikleştir
Ubuntu'da unattended-upgrades, AlmaLinux'ta dnf-automatic (security profili) ile güvenlik yamaları günlük uygulansın. Çekirdek güncellemelerinde otomatik yeniden başlatmayı yalnızca tek sunuculu, kısa kesintiye tolerans gösteren sistemlerde açın; aksi halde bakım penceresi belirleyin.
8. Gereksiz servisleri ve paketleri kaldır
ss -tulpn ile dinleyen portları listeleyin; tanımadığınız her servis bir sorudur. Kullanılmayan paketleri kaldırmak hem saldırı yüzeyini hem de yama yükünü azaltır. Konteyner kullanıyorsanız Docker'ın güvenlik duvarını atlayabildiğini unutmayın; yayınlanan portları 127.0.0.1: ön ekiyle sınırlayın.
9. Çekirdek ve ağ parametrelerini sıkılaştır
/etc/sysctl.d/99-hardening.conf içinde IP yönlendirmeyi kapatın (yönlendirici değilse), SYN cookies açın, ICMP yönlendirmelerini ve kaynak yönlendirmeli paketleri reddedin, ters yol filtresini etkinleştirin. Bu ayarlar sahtecilik ve bazı DoS türlerine karşı düşük maliyetli savunmadır.
10. Dosya bütünlüğü ve merkezi log
AIDE veya Wazuh ile kritik dizinlerin bütünlüğünü izleyin; bir web shell yerleştirildiğinde bunu önce bütünlük farkı gösterir. Logları sunucu dışına (rsyslog/journald → merkezi toplayıcı) gönderin; saldırgan yerel logları silebilir, uzaktakileri silemez.
11. Şifreli, harici, test edilmiş yedek
Restic veya Borg ile şifreli yedekleri farklı bir lokasyona (S3 uyumlu depolama, başka sağlayıcı) alın. 3-2-1 kuralı: üç kopya, iki farklı ortam, biri uzakta. En önemlisi: ayda bir geri yükleme denemesi yapın. Geri yüklenmemiş yedek, yedek değildir.
12. İzleme ve uyarı
Uptime, disk doluluğu, bellek, yük ve servis durumu için Netdata, Zabbix veya Prometheus kullanın; eşik aşımında SMS/e-posta alın. Güvenlik olayları için auditd veya Wazuh uyarılarını aynı kanala bağlayın. Olmayan uyarı, geç fark edilen arıza demektir.
Sonuç ve sürdürme
Bu 12 adım bir "kur ve unut" listesi değildir. 1, 7, 11 ve 12 numaralı adımlar süreklidir; üç ayda bir kullanıcıları, açık portları ve güvenlik duvarı kurallarını gözden geçirin. Zaman veya ekip yoksa bu listeyi sizin adınıza işleten yönetilen sunucu hizmetimiz vardır; tüm VPS ve dedicated sunucularımız isteğe bağlı olarak bu sertleştirme uygulanmış şekilde teslim edilir.
Kaynaklar: Ubuntu Server Guide, Red Hat Enterprise Linux Security Hardening Guide, CIS Benchmarks (Ubuntu 24.04, RHEL 9), OpenSSH sshd_config dokümantasyonu.
Projeniz için doğru altyapıyı birlikte seçelim
İhtiyacınızı 15 dakikalık bir görüşmede netleştirip aynı gün yazılı teklif gönderiyoruz. Taahhüt yok, kurulum ücreti yok.
Ücretsiz Teklif Al +90 850 000 00 00