Bir VPS'i internete açtığınız andan itibaren, dünyanın dört bir yanındaki otomatik tarayıcılar sunucunuza şifre denemeye başlar. Bu, kişisel olarak hedef alındığınız anlamına gelmez; internetteki her açık sunucu bu trafikle karşılaşır. İyi haber şu: aşağıdaki adımları ilk 10 dakikada uygulayarak risklerin büyük kısmını ortadan kaldırabilirsiniz.
Komutlar Ubuntu ve Debian içindir ve sunucuya root olarak bağlı olduğunuzu varsayar. Henüz bağlanmadıysanız SSH ile VPS'e bağlanma rehberimize bakın.
1. Sistemi güncelleyin
Yeni kurulan bir sistemde güvenlik güncellemeleri bekliyor olabilir:
apt update && apt upgrade -y
Güncellemeden sonra çekirdek (kernel) güncellendiyse sunucuyu yeniden başlatın:
reboot
2. Root yerine ayrı bir kullanıcı oluşturun
Günlük işlerinizi root ile yapmak, bir hata ya da ele geçirme durumunda tüm sistemi riske atar. Kendinize yönetici yetkili bir kullanıcı oluşturun (yonetici yerine istediğiniz adı yazın):
adduser yonetici
usermod -aG sudo yonetici
3. SSH anahtarı ile giriş yapın
Kendi bilgisayarınızda bir SSH anahtarı oluşturup yeni kullanıcıya ekleyin:
ssh-keygen -t ed25519
ssh-copy-id yonetici@SUNUCU_IP_ADRESI
Ardından yeni bir terminal penceresinde anahtarla giriş yapabildiğinizi deneyin:
ssh yonetici@SUNUCU_IP_ADRESI
Bir sonraki adıma geçmeden önce anahtarla girişin çalıştığından mutlaka emin olun. Aksi halde şifreyle girişi kapattığınızda sunucuya erişiminizi kaybedebilirsiniz.
4. Root girişini ve şifreyle girişi kapatın
SSH ayarlarını ayrı bir dosyaya yazmak en temiz yöntemdir. Güncel Ubuntu ve Debian sürümlerinde /etc/ssh/sshd_config.d/ klasöründeki dosyalar ana ayar dosyasından önce okunur ve ilk okunan değer geçerli olur. Bu yüzden dosya adını 00- ile başlatıyoruz:
sudo nano /etc/ssh/sshd_config.d/00-guvenlik.conf
Dosyaya şu satırları ekleyip kaydedin (Ctrl+O, Enter, Ctrl+X):
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
Bazı hazır sistem imajlarında aynı klasörde şifreyle girişi açan başka bir dosya bulunabilir. Kontrol etmek için:
grep -r "PasswordAuthentication" /etc/ssh/sshd_config.d/
Ayarların hatasız olduğunu doğrulayıp SSH servisini yeniden başlatın:
sudo sshd -t && sudo systemctl restart ssh
Mevcut oturumu kapatmadan, yeni bir pencerede tekrar bağlanmayı deneyin.
5. Güvenlik duvarını (UFW) açın
UFW, Ubuntu'nun kullanımı kolay güvenlik duvarıdır. Önce SSH'a izin verin, sonra etkinleştirin:
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
Web sunucusu çalıştıracaksanız HTTP ve HTTPS portlarını da açın:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
6. Fail2ban ile kaba kuvvet saldırılarını engelleyin
Fail2ban, art arda hatalı giriş deneyen IP adreslerini otomatik olarak bir süre engeller:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Varsayılan ayarlar SSH'ı korumak için çoğu durumda yeterlidir.
7. Otomatik güvenlik güncellemelerini açın
Kritik güvenlik yamalarının kendiliğinden kurulması için:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
8. Saat dilimini ayarlayın (isteğe bağlı)
Kayıt dosyalarındaki saatlerin doğru görünmesi için:
sudo timedatectl set-timezone Europe/Istanbul
Kontrol listesi
- Sistem güncel
- Root dışında
sudoyetkili bir kullanıcı var - SSH anahtarıyla giriş çalışıyor
- Root girişi ve şifreyle giriş kapalı
- UFW açık ve yalnızca gereken portlara izin veriyor
- Fail2ban çalışıyor
- Otomatik güvenlik güncellemeleri açık
Erişimi kaybederseniz
Bir ayar sonrası sunucuya bağlanamıyorsanız paniğe gerek yok: müşteri panelinizden sunucuyu yeniden başlatabilir, şifre sıfırlayabilir ya da işletim sistemini yeniden kurabilirsiniz. İşletim sistemini yeniden kurmak tüm verileri sildiği için bunu son çare olarak düşünün ve verilerinizi düzenli olarak yedekleyin.
Sonuç
Bu adımlar, internetteki otomatik saldırıların büyük çoğunluğuna karşı sunucunuzu korur. Güvenlik tek seferlik bir iş değildir; kurduğunuz yazılımları güncel tutmak ve yalnızca ihtiyaç duyduğunuz portları açık bırakmak en iyi alışkanlıklardır. Henüz sunucunuz yoksa VPS nedir? yazımızla başlayabilirsiniz.




