VPS.TC
%50 İndirim! Kod: VPS2026
Linux Sunucu Güvenliği için Zorunlu 10 Temel Adım
Linux

Linux Sunucu Güvenliği için Zorunlu 10 Temel Adım

admin avatarı admin Aralık 11, 2025 14 dk okuma 0 Yorumlar
Paylaş:

Linux sunucular neden saldırganların ilk hedefi olur?

Dış dünyaya açık her Linux sunucu, saniyeler içinde taranmaya başlar. Özellikle zayıf şifreler, açık bırakılmış portlar ve güncel olmayan paketler varsa, linux sunucu güvenliği kâğıt üzerinde kalır ve ilk otomatik taramada bile sistem ele geçirilebilir. Can sıkıcı olan ise, çoğu ihlalin çok basit önlemlerle engellenebilir olması.

Gerçek hayatta üretim ortamlarını yönetirken gördüğüm ortak nokta şu: Güvenlik hiçbir zaman tek bir büyük adımla gelmiyor. Tutarlı, iyi planlanmış ve tekrar edilebilir linux hardening adımları olmadan, en pahalı donanım bile savunmasız kalıyor. Aşağıdaki 10 temel adım, çoğu Linux sunucunun güvenlik seviyesini dramatik şekilde yükseltmek için yeterli bir çerçeve sunar.

Bu adımları uygularken hem ssh güvenliği hem de genel sistem sertleştirmesi üzerinde duracağız. Örnekler, üretim ortamında çalışan bir Linux sunucuyu esas alıyor; dolayısıyla her adımı önce test ortamında denemenizi özellikle öneririm.

🚀 VPS Sunucu ile Hızınızı Artırın!

Yüksek performanslı SSD depolama ve %99.9 uptime garantisi ile projelerinizi hızlandırın.

Hemen Başla

Zorunlu 10 temel adımın genel çerçevesi

İlk bakışta 10 adım çok gibi görünebilir, ama her biri net bir soruna odaklanır:

  • Güncel olmayan paketler ve yamalar
  • Zayıf veya yanlış yapılandırılmış SSH erişimi
  • Kontrolsüz kullanıcı ve yetki yönetimi
  • Açık bırakılmış portlar ve gereksiz servisler
  • Yanlış dosya izinleri ve hassas verilerin sızması
  • Yetersiz loglama ve izleme
  • Eksik yedekleme ve kurtarma planı
  • Otomatik güvenlik kontrollerinin eksikliği
  • Yanlış yapılandırılmış ağ sınırları ve firewall
  • Sürekli denetim ve iyileştirme eksikliği

Şimdi bu linux hardening adımları arasından her birini, üretim ortamında kullanılabilir şekilde tek tek açalım.

1. Paket güncellemelerini disiplinli yönet

İşletim sistemi ve paket güncellemeleri, linux sunucu güvenliği için belki de en sık ihmal edilen ama en kritik konudur. Çoğu güvenlik açığı, yayınlandıktan çok kısa süre sonra otomatik taramalarla istismar edilir; siz yama geç kalırsanız, saldırganlar hızlı davranır.

☁️ Cloud Sunucu ile Esneklik Kazanın!

Ölçeklenebilir kaynaklar ve anlık yedekleme ile bulutun gücünü deneyimleyin.

Keşfet

Debian/Ubuntu tabanlı sistemlerde temel komut şu şekildedir:

sudo apt update && sudo apt upgrade -y

RHEL/CentOS/AlmaLinux tarafında ise:

sudo dnf update -y

Bu komutlar çekirdek dahil bazı bileşenleri güncelleyebilir ve reboot gerektirebilir. Üretim ortamında bu nedenle şu prensiplere uyun:

  • Önce staging/test sunucusunda güncellemeyi deneyin
  • Bakım penceresi planlayın ve ilgili ekipleri bilgilendirin
  • Önemli servislere ait rollback planı hazırlayın
  • Kritik paketlerin major sürüm geçişlerinde değişiklik notlarını mutlaka okuyun

İsterseniz otomatik güvenlik güncellemelerini etkinleştirebilirsiniz; fakat tam otomasyon yerine, sadece güvenlik güncellemelerini otomatik alıp uygulamayı manuel tetiklemek daha kontrollü bir yaklaşımdır.

2. SSH güvenliği için saldırı yüzeyini küçült

Uzaktan erişim noktanız kırılırsa, sunucunun geri kalanı zaten anlamsız hale gelir. Bu yüzden ssh güvenliği, linux sunucu güvenliği içinde ayrı bir başlık olarak ele alınmalıdır.

Parola yerine anahtar temelli kimlik doğrulama kullan

Parola ile SSH erişimi açık bırakılmış her sunucu, kaba kuvvet saldırılarının doğal hedefi olur. Standart yaklaşım şu olmalı:

  • SSH için şifreli girişleri kapat
  • Sadece SSH anahtarı (public key) ile girişe izin ver
  • Her kullanıcı için ayrı anahtar üret ve paylaşımı asla kopyala-yapıştır mantığıyla yapma

SSH yapılandırma dosyasını düzenlerken (genellikle /etc/ssh/sshd_config), özellikle şu parametrelere dikkat edin:

# Parola ile girişi kapat
PasswordAuthentication no

# Root kullanıcının doğrudan girişini kapat
PermitRootLogin no

Bu tür değişikliklerden sonra ssh servisini yeniden başlatmadan önce mutlaka ikinci bir oturum açıp anahtarınızla giriş yapabildiğinizi test edin. Aksi halde sunucunun dışında kalırsınız.

SSH portunu ve erişim kısıtlarını düzenle

SSH portunu 22 dışına almak tek başına bir güvenlik önlemi değildir, ama log gürültüsünü ciddi biçimde azaltır. Asıl kritik nokta, SSH erişimini güvenilir IP aralıklarıyla sınırlandırmaktır.

Örneğin firewall üzerinde yalnızca ofis IP bloğunuza ve VPN ağınıza SSH izni verip, geri kalan trafiği engellemek pratik ve etkili bir çözümdür. Ayrıca şunları gözden geçirin:

  • fail2ban veya benzeri araçlarla başarısız giriş denemelerini engelleme
  • MFA (çok faktörlü kimlik doğrulama) desteği varsa etkinleştirme
  • SSH üzerinden port yönlendirmelerini sadece gerektiğinde açma

3. Kullanıcı, grup ve sudo yetkilerini sadeleştir

Yetkilendirme karmaşık hale geldikçe, hataların fark edilmesi zorlaşır. Sağlam bir linux sunucu güvenliği modeli için ilke şu olmalı: Gerekenden fazlasını asla verme.

Önerilen yaklaşım:

  • Her gerçek kişi için ayrı kullanıcı hesabı aç
  • Servisler için sistem kullanıcıları kullan ve bu hesaplarla giriş yapılmasını engelle
  • Sudo yetkilerini sadece gerçekten ihtiyacı olan kullanıcılarla sınırlandır
  • Sudo kullanımını log dosyalarında düzenli olarak denetle

/etc/sudoers veya /etc/sudoers.d altındaki dosyalarda yapılan her değişiklik, üretim ortamında ciddi sonuçlar doğurabilir. Bu nedenle düzenleme yaparken visudo kullanmak, sözdizimi hatalarını önlemek için zorunludur.

sudo visudo

Ayrılan personel veya devre dışı bırakılan projeler için hesap ve anahtar temizliklerini atlamayın. En sık gördüğüm zafiyetlerden biri, yıllar önce ayrılmış çalışanların halen sunucularda aktif kullanıcı ve SSH anahtarlarına sahip olmasıdır.

4. Firewall ile sadece gerekli portları açık bırak

Ağ tarafı, linux hardening adımları içinde en görünür olanlardan biridir. Dışarıya sadece gerçekten ihtiyacınız olan portları açmak, otomatik taramalara karşı ilk savunma hattıdır.

Basit bir model olarak şu kuralları benimseyebilirsiniz:

  • Varsayılan politika: Tüm gelen trafiği reddet
  • Sadece HTTP/HTTPS, SSH ve gerekiyorsa belirli uygulama portlarını aç
  • Yönetim erişimini mümkünse sadece VPN üzerinden sağla

Ubuntu tarafında ufw, RHEL tabanlı sistemlerde firewalld veya doğrudan nftables/iptables kullanılabilir. Önemli olan, kuralları dokümante etmek ve değişiklikleri change management sürecine bağlamaktır.

Firewall kuralı eklerken canlıda aktif bağlantıları kestirebilecek bir hata yapma riskiniz her zaman vardır. Bu yüzden mutlaka mevcut oturumunuzu kapatmadan yeni bir oturum açıp bağlantınızın devam ettiğini test edin.

5. Gereksiz servisleri ve portları kapat

Firewall üzerinde port kapatmak önemli, ama yeterli değil. Sunucu üzerinde gereksiz çalışan her servis, potansiyel saldırı yüzeyidir.

Düzenli aralıklarla şu kontrolleri yapın:

  • Hangi portlar dinlemede: netstat veya ss çıktısını inceleyin
  • Her portun arkasındaki servis gerçekten gerekli mi, sorgulayın
  • Geçici testler için açılmış servisleri zamanında kapatın
sudo ss -tulpen

Örneğin, development aşamasında bırakılmış bir test veritabanı veya gereksiz bir RPC servisi, tahmin ettiğinizden çok daha büyük açıklar oluşturabilir. Üretim ortamında prensip şu olmalı: Kullanılmayan her servis kaldırılır veya devre dışı bırakılır.

6. Dosya izinlerini ve kritik dizinleri gözden geçir

Birçok ihlal senaryosunda, saldırgan sisteme sızdıktan sonra hassas bilgilere yanlış yapılandırılmış dosya izinleri sayesinde ulaşıyor. Özellikle web sunucuları, uygulama logları ve yedekleme dizinleri dikkatle incelenmelidir.

Temel prensipler:

  • Uygulama kodlarının sahibi ile çalıştıran kullanıcıyı ayır
  • Web kök dizininde (örneğin /var/www) gereksiz yazma izni verme
  • Log dosyalarında sadece ilgili servis kullanıcısı ve yetkili yöneticilere okuma izni tanı
  • SSH anahtarları (~/.ssh) için izinleri düzenli kontrol et

Özellikle ~/.ssh dizini için tipik izinler şu şekilde olmalıdır:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Geliştirme ekipleri bazen pratik olsun diye tüm proje dizinlerine geniş yazma izinleri verir. Bu kısa vadede işleri kolaylaştırır gibi görünse de, üretim ortamı için kabul edilebilir bir pratik değildir.

7. Loglama, izleme ve uyarı mekanizmasını kur

Hiç log tutmayan bir sunucu ile savunma yapmak, gözleriniz bağlıyken araç kullanmaya benzer. Sağlam bir linux sunucu güvenliği yaklaşımı, olayları sadece engellemeyi değil, aynı zamanda tespit etmeyi de içerir.

En azından şu bileşenleri devreye alın:

  • SSH giriş denemeleri ve sudo kullanımı için log analizi
  • Disk, CPU, RAM ve load ortalaması için eşik temelli alarmlar
  • Belirli sayıda başarısız kimlik doğrulama denemesinden sonra uyarı
  • Önemli konfigürasyon dosyalarındaki değişiklikler için takip

Merkezi log toplama (örneğin bir syslog sunucusuna gönderim) özellikle birden fazla sunucuyu yönettiğiniz ortamlarda kritik hale gelir. Saldırı durumunda, olayları korele etmek ve zaman çizelgesi oluşturmak ancak merkezi loglar sayesinde mümkündür.

8. Yedekleme ve felaket kurtarma planı oluştur

Güvenliğin asıl sınavı, bir şeyler ters gittiğinde başlar. Fidye yazılımlar, yanlışlıkla silinen veriler veya başarısız bir güncelleme sonrasında sisteminizi ayağa kaldırmak için sağlam bir yedekleme stratejisine ihtiyacınız var.

Pratikte dikkat edilmesi gereken başlıklar:

  • Yedekleme sıklığı: Veri değişim hızına göre günlük, saatlik veya daha sık
  • Yedekleme türü: Tam, artımlı, fark yedekleri kombinasyonu
  • Depolama yeri: Aynı sunucuda tek kopya asla yeterli değildir
  • Şifreleme: Özellikle dış ortama çıkan yedekler mutlaka şifrelenmeli
  • Geri dönüş testleri: Yedek almaktan daha önemli olan, geri dönebilmektir

Üretim ortamında tavsiyem, en azından 3-2-1 kuralına yakın bir model benimsemenizdir: En az üç kopya, iki farklı ortam ve bir kopya da farklı lokasyonda olacak şekilde tasarım yapın.

9. Otomatik güvenlik taramaları ve hardening araçları kullan

Elle kontrol her zaman gereklidir ama yeterli değildir. Özellikle büyük ortamlarda linux hardening adımları için otomatik araçlara ihtiyaç duyarsınız.

Kullanabileceğiniz tip araç ve yaklaşımlar:

  • Güvenlik benchmarklarına (örneğin CIS) göre otomatik konfigürasyon denetimi
  • SSH, sudo, dosya izinleri ve kernel parametreleri için periyodik taramalar
  • Eksik güvenlik yamalarını raporlayan araçlar

Bu tür araçlar, insan hatasını azaltır ve standart bir güvenlik seviyesi oluşturur. Ancak çıkan raporları sorgulamadan körü körüne uygulamak, özellikle üretim ortamında ciddi yan etkilere yol açabilir. Her öneriyi önce test ortamında deneyip etki analizini yaptıktan sonra devreye alın.

10. Konfigürasyon yönetimi ve altyapı standardizasyonu sağla

Elle kurcalanan, dokümante edilmemiş ve birbirinden farklı yapılandırmalara sahip sunucular, orta vadede yönetilemez hale gelir. Bu sadece operasyonel bir sorun değil, aynı zamanda ciddi bir güvenlik zafiyetidir.

Sağlam bir linux sunucu güvenliği stratejisi için:

  • Sunucu kurulumlarını olabildiğince otomatikleştir
  • Konfigürasyon yönetim araçlarıyla (örneğin Ansible tarzı çözümler) standart yapılandırmalar oluştur
  • Tüm değişiklikleri versiyon kontrol sistemi üzerinden takip et
  • Roller bazında (web, veritabanı, cache gibi) net profil tanımları yap

Böylece yeni bir sunucu eklediğinizde, aynı güvenlik politikalarının otomatik olarak uygulanmasını sağlarsınız. Elle yapılan ve kişiye bağlı ayarlar ortadan kalktıkça, hem denetim hem de iyileştirme süreçleri kolaylaşır.

Süreklilik, denetim ve insan faktörü

Güvenlik tek seferlik bir proje değil, sürekli devam eden bir süreçtir. Bu 10 adım, sağlam bir başlangıç sunar ama burada durursanız birkaç ay içinde risk seviyeniz yeniden yükselmeye başlar.

Özellikle şu pratikleri rutine dönüştürmeye çalışın:

  • Aylık veya üç aylık periyotlarla erişim listelerini gözden geçirmek
  • Yılda en az bir kez harici sızma testi veya güvenlik değerlendirmesi yaptırmak
  • Geliştirme ve DevOps ekipleriyle düzenli güvenlik odaklı geri bildirim toplantıları yapmak
  • Yeni servis devreye alınırken güvenlik kontrol listesini zorunlu hale getirmek

Unutulmaması gereken bir nokta daha var: Çoğu ihlalde teknik zafiyet kadar, hatta bazen ondan daha fazla, insan hatası rol oynar. Paylaşılan parolalar, yetkisiz erişim taleplerine verilen hızlı ama yanlış onaylar veya aceleyle atlanan kontroller, saldırganların işini kolaylaştırır.

Güvenlik seviyeni bugün yükselt

Bu 10 adımın tamamını bir günde uygulamak zorunda değilsiniz. Ancak bugün içinde en az birini üretim dışı bir sunucuda test edip, sonrasında canlı sistemlere uyarlamaya başlamanız mümkün. İlk adım olarak SSH konfigürasyonunuzu ve firewall kurallarınızı gözden geçirip, ardından kullanıcı ve sudo yetkilerini sadeleştirmeniz bile risk seviyenizi hissedilir derecede düşürür.

Eğer Linux tabanlı altyapınızı güvenli ve esnek bir platform üzerinde çalıştırmak istiyorsanız, kaynakları kolayca ölçekleyebileceğiniz sanal sunucu çözümleri işinizi ciddi anlamda kolaylaştırır. Örneğin, Türkiye lokasyonunda performanslı VPS arıyorsanız VPS.TC Linux VPS sunucuları veya daha ayrıntılı kaynak kontrolü için VPS.TC VDS çözümleri ile hem performans hem de güvenlik açısından tutarlı bir temel oluşturabilirsiniz.

İlk adım olarak kendi ortamınız için kısa bir kontrol listesi çıkarın, bu yazıdaki 10 başlığı o listeye uyarlayın ve her adımı dokümante ederek ilerleyin. Birkaç hafta sonra loglarınıza, uyarılarınıza ve erişim kayıtlarınıza baktığınızda, aradaki farkı net biçimde göreceksiniz.

Sıkça Sorulan Sorular

Linux sunucu güvenliği için ilk uygulanması gereken adım nedir?

Güncel olmayan paketler çoğu bilinen açığın temel nedenidir. Bu yüzden önce test ortamında, sonra üretim ortamında düzenli ve kontrollü güvenlik güncellemeleri uygulamak ilk adım olmalıdır.

SSH güvenliğini artırmak için hangi ayarlar zorunlu kabul edilmeli?

Parola ile girişi kapatmak, sadece anahtar temelli kimlik doğrulama kullanmak, root kullanıcısının doğrudan SSH erişimini yasaklamak ve yetkili IP aralıkları dışından erişimi firewall ile engellemek temel adımlar olarak kabul edilmelidir.

Linux hardening adımları ne sıklıkla gözden geçirilmelidir?

Yeni açıklar, paket güncellemeleri ve mimari değişiklikler nedeniyle hardening ayarlarını en az üç ayda bir gözden geçirmek ve önemli değişikliklerden sonra ek denetim yapmak sağlıklı bir yaklaşımdır.

Yedekleme olmadan linux sunucu güvenliği yeterli olur mu?

Hiçbir zaman olmaz. En iyi korunmuş sistem bile disk arızası, insan hatası veya fidye yazılım nedeniyle kullanılamaz hale gelebilir. Test edilmiş ve düzenli şekilde çalışan bir yedekleme ve geri dönüş planı, güvenlik stratejisinin ayrılmaz bir parçasıdır.

admin avatarı
Yazar

admin