Skip to main content

Sunucu Güvenliğinizi Artırmak İçin Uygulanması Gereken Temel Önlemler

Sunucularınızı internete açmadan önce uygulayacağınız güvenlik adımları, uzun vadede saldırılara karşı sağlayacağınız korumanın temelini oluşturur.
Bu rehberde, hem yeni başlayanlar hem de uzmanlar için gerçek anlamda uygulanabilir, açıklamalı güvenlik adımları bulacaksınız.


🧠 Bu Rehberde Ne Öğreneceksiniz?

  • SSH anahtarı ile güvenli giriş
  • Root girişini tamamen kapatma
  • Firewall yapılandırması + saldırı yüzeyini küçültme
  • VPC ile özel ağ izolasyonu
  • VPN ile güvenli tünel oluşturma
  • ss ile çalışan servisleri analiz etme
  • Otomatik güvenlik güncellemeleri
  • Dahili PKI mantığını anlama

🛡️ 1. SSH Anahtarları ile Güvenli Erişim

SSH anahtarları, sunucunuza şifre yerine kriptografik anahtar ile giriş yapmanızı sağlar.
Bu, brute-force saldırılarını neredeyse %100 devre dışı bırakır.

✔ Neden Önemlidir?

  • Parolalar tahmin edilebilir, anahtarlar edilemez.
  • Şifre girişini tamamen kapatabilirsiniz.
  • Anahtarlar yüzlerce bit uzunluğundadır (çok zor kırılır).
  • Saldırgan şifre deneyemez → sunucunuz daha sessiz & güvenli.

🔧 1.1 SSH Anahtarı Oluşturma

ssh-keygen -t rsa -b 4096

Açıklama: Bu komut, 4096-bit RSA anahtar çifti oluşturur. id_rsa özel anahtar, id_rsa.pub genel anahtardır.

🔧 1.2 Genel Anahtarı Sunucuya Eklemek


ssh-copy-id kullanici@sunucu-ip

Açıklama: Genel anahtarınızı karşı sunucunun ~/.ssh/authorized_keys dosyasına ekler. Böylece parola girmeden giriş yapabilirsiniz.

🔧 1.3 Root Kullanıcısının SSH Girişini Kapatma


sudo nano /etc/ssh/sshd_config

Şu satırı bulun → değiştirin:


PermitRootLogin no

Ardından SSH servisini yeniden başlatın:


sudo systemctl restart sshd

Açıklama: Root girişini kapatmak, sunucunun ele geçirilmesini çok zorlaştırır. Saldırgan root’a direkt ulaşamaz.


🔥 2. Güvenlik Duvarı (Firewall) Yapılandırması

Firewall, sunucunuza gelen–giden trafiği düzenleyen ana güvenlik katmanıdır.

✔ Neden Önemlidir?

Gereksiz tüm portları kapatır.

Sadece izin verdiğiniz portları açık bırakır.

Rehber niteliğinde saldırı yüzeyini küçültür.

🔧 2.1 UFW ile Temel Port Açma


sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Açıklama: Bu komutlar SSH, HTTP ve HTTPS portlarını açar. Diğer portlar otomatik olarak engellenir.


🏢 3. Ağ İzolasyonu (VPC)

VPC, özel bir ağ oluşturup sunucular arasında trafiği internetten tamamen ayırır.

✔ Avantajları

Trafik internete çıkmaz → dinleme riski sıfıra iner

Databases, cache, backend gibi servisler internete kapalı çalışır

Yalnızca belirlediğiniz giriş kapıları (ingress gateway) internete açılır

Sonuç: Sunucularınız fiziksel olarak farklı yerde olsa bile özel VLAN içindeymiş gibi davranır.


🔐 4. VPN ile Güvenli Tünel Oluşturma

VPC kullanamıyorsanız veya ek izolasyon istiyorsanız → VPN kurarsınız.

WireGuard ve OpenVPN en iyi seçeneklerdir.

✔ VPN Neden Güvenlidir?

Tüm trafik uçtan uca şifrelenir

Sunucular özel tünel üzerinden haberleşir

Genel internete sadece web trafiği açılır

SSH dahil diğer servisler tamamen özel tünelde kalabilir


🔍 5. Servis Denetimi (Service Auditing)

Sunucunuzda çalışan tüm servisleri bilmek zorundasınız. Çünkü her çalışan servis = potansiyel saldırı yüzeyi.

🔧 5.1 Açık Portları Görüntüleme


sudo ss -plunt

Açıklama: Bu komut sunucuda çalışan tüm TCP/UDP servislerini, portları ve süreçleri listeler.

✔ Nelere bakacaksınız?

0.0.0.0:PORT → tüm IPv4 arayüzlerine açık

[::]:PORT → tüm IPv6 arayüzlerine açık

users:(("program")) → servisin sahibi

Öneri: Gereksiz bir servis görürsen → kapat.


🔄 6. Otomatik Güncellemeler (Unattended Upgrades)

Güncel olmayan paket = en büyük saldırı yüzeyi.

🔧 6.1 Otomatik Güvenlik Güncellemesi Aktifleştirme


sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

Açıklama: Bu sistem günlük güvenlik yamalarını otomatik olarak uygular. “Sıfır dokunuşlu güvenlik” sağlar.


🔑 7. PKI (Sertifika Altyapısı) & SSL/TLS

PKI:

Sunucuların birbirini doğrulaması

Trafiğin güvenli şekilde şifrelenmesi

MITM saldırılarının engellenmesi

için kullanılır.

Küçük projelerde: VPN yeterli.

Büyük projelerde: Dahili CA yönetimi kaçınılmaz hale gelir.


❓ Sıkça Sorulan Sorular (SSS)

1. SSH’yi tamamen parola olmadan nasıl kullanırım?

PasswordAuthentication no yaparak parolayı tamamen kapatabilirsiniz.

2. Sunucumda hangi portlar açık kalmalı?

Minimum:

22 (SSH)

80 (HTTP)

443 (HTTPS)

Diğerlerini gerekmedikçe açmayın.

3. VPC mi VPN mi daha iyi?

VPC → Alt yapı tabanlı, otomatik ve performanslı VPN → Yazılımla kurulan, esnek çözüm İdeal: İkisini birlikte kullanmak.

4. Servis denetimini ne sıklıkla yapayım?

Yeni servis kurduğunuzda

2–3 ayda bir düzenli olarak

5. Fail2ban şart mı?

SSH anahtarı kullanıyorsan zorunlu değil ama çok faydalıdır.


🎯 Sonuç

Bu rehberdeki güvenlik önlemleri, sunucularınızı internete açmadan önce mutlaka uygulanması gereken temel adımlardır. Doğru şekilde yapılandırıldığında:

Saldırı yüzeyi küçülür

Brute-force saldırıları etkisiz olur

Servisler kontrol altına alınır

Trafik izole edilir

Sunucu her zaman güncel ve güvenlidir

Rabisu Bulut platformunda hemen bir Sanal Örnek oluşturup bu adımları uygulamaya başlayabilirsiniz.