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
ssile ç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.