← Tüm Yazılar
Siber Güvenlik

Linux Sunucu Güvenliği: Temel Adımlar

Linux sunucu güvenliği için SSH, firewall ve güncelleme kontrollerini anlatan teknik kapak görseli

Yeni bir Linux sunucu kurduğunuzda güvenlik yapılandırması ilk işlerden biri olmalı. İnternete açık bir sunucu, kısa sürede otomatik tarama botlarının hedefi haline gelir. Bu taramalar genellikle belirli bir firmayı hedeflemez; açık SSH portları, eski servisler, zayıf parolalar ve yanlış dosya izinleri otomatik olarak aranır.

Bu rehberin amacı tek komutla "tam güvenlik" sağlamak değil. Sağlam başlangıç için uygulanabilir bir temel oluşturmak, sonra bu düzeni izleme ve bakım rutiniyle sürdürülebilir hale getirmektir. Daha kapsamlı bir çalışma gerekiyorsa sistem yönetimi ve siber güvenlik hizmetleri birlikte ele alınmalıdır.

1. Sistemi güncel tutun

Güvenlik yamaları bilinen açıkları kapatır. Güncelleme rutininiz yoksa en temel savunma katmanınız eksik kalır. Kritik sunucularda güncellemeyi doğrudan üretim ortamına uygulamak yerine önce kısa bir bakım penceresi planlayın, servis bağımlılıklarını kontrol edin ve geri dönüş planını netleştirin.

# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y

# RHEL/CentOS
sudo dnf update -y

Güncelleme sonrası web sunucusu, veritabanı, zamanlanmış görevler ve disk alanı kontrol edilmelidir. Paket güncellendi diye iş bitmiş sayılmaz; servislerin doğru ayağa kalktığını doğrulamak gerekir.

2. SSH erişimini sıkılaştırın

Root girişini kapatın, parola yerine SSH anahtarı kullanın ve başarısız deneme sayısını sınırlayın. Yönetim erişimi mümkünse yalnızca belirli IP adreslerinden veya VPN üzerinden yapılmalıdır. Bu küçük değişiklik, internete açık sunucularda saldırı yüzeyini ciddi şekilde azaltır.

# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

Bu ayarları uygulamadan önce ikinci bir terminal oturumunu açık tutun. Yanlış yapılandırma nedeniyle kendinizi sunucu dışında bırakmamak için yeni SSH oturumunun açıldığını test ettikten sonra eski oturumu kapatın.

3. Firewall kurallarını sade tutun

Yalnızca ihtiyaç duyulan portlar açık kalmalı. Geri kalan servisler dış dünyaya kapalı olmalı. Bu konu daha geniş bir çalışma gerektiriyorsa siber güvenlik hizmetleri kapsamında yapılandırma ve kontrol planı çıkarılabilir.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Firewall kuralı yazarken "belki gerekir" yaklaşımı yerine gerçek servis ihtiyacını esas alın. Örneğin veritabanı sadece uygulama sunucusundan erişilecekse internete açılmamalıdır. Yönetim panelleri, metrik panelleri ve admin arayüzleri de doğrudan herkese açık olmamalı; VPN, IP kısıtı veya ters proxy üzerinden korunmalıdır.

4. Fail2Ban kullanın

Fail2Ban, başarısız giriş denemelerini takip ederek şüpheli IP adreslerini otomatik engelleyebilir. Tek başına yeterli değildir ama kaba kuvvet denemelerine karşı pratik bir fren mekanizması sağlar.

sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban

Kurulumdan sonra log dosyalarını ve aktif jail durumunu düzenli kontrol edin. Çok agresif kurallar gerçek kullanıcıları da engelleyebilir; çok gevşek kurallar ise beklenen korumayı sağlamaz.

5. Gereksiz servisleri kapatın

Çalışan her servis potansiyel saldırı yüzeyidir. İhtiyacınız olmayan servisleri devre dışı bırakın.

sudo systemctl list-units --type=service --state=running

Listeyi incelerken özellikle eski test servisleri, geçici dosya paylaşım servisleri, kullanılmayan veritabanları ve varsayılan kurulumla gelen yönetim araçlarına dikkat edin. Sunucuda neyin neden çalıştığı dokümante edilmelidir. Bir servisin sahibini ve amacını bilmiyorsanız, kapatmadan önce bağımlılıklarını kontrol edin.

Hızlı kontrol listesi

  • SSH root girişi kapalı ve parola girişi devre dışı mı?
  • Firewall sadece gerekli portları mı açıyor?
  • Güncelleme, log kontrolü ve yedekleme rutini var mı?
  • Yetkili kullanıcılar ve sudo izinleri düzenli gözden geçiriliyor mu?
  • İzleme sistemi disk, CPU, RAM ve servis durumunu takip ediyor mu?

Örnek senaryo

Küçük bir e-ticaret sunucusunda genellikle web servisi, veritabanı, yedekleme görevi ve SSH erişimi bulunur. Böyle bir yapıda SSH yalnızca VPN üzerinden açılmalı, veritabanı dış dünyaya kapalı kalmalı, yedeklerin başarılı olup olmadığı izlenmeli ve web servisinin hata logları düzenli kontrol edilmelidir. Bu düzen kurulduğunda sorun çıktığında "sunucu çalışmıyor" noktasından değil, hangi servis veya kaynak problemli sorusundan başlanır.

Sık yapılan hatalar

En yaygın hata, sunucuyu ilk kurulumdan sonra kendi haline bırakmaktır. İkinci hata, güvenlik önlemlerini dokümante etmemektir. Üçüncü hata ise yedekleme ve izlemeyi güvenlikten ayrı düşünmektir. Oysa saldırı sonrası geri dönüş, disk dolması, yanlış yapılandırma veya kullanıcı hatası gibi durumlarda yedekleme ve izleme doğrudan güvenliğin parçasıdır.

Güvenlik tek seferlik kurulum değil, düzenli kontrol edilmesi gereken bir süreçtir.

Sonuç

Bu adımlar Linux sunucunuz için sağlam bir başlangıç sağlar. Daha kapsamlı kurulum, bakım ve sertleştirme için sistem yönetimi hizmetlerini inceleyebilir veya sunucu güvenliği konusunda destek almak isterseniz benimle iletişime geçebilirsiniz.