Genel IP adresi olan yeni bir VPS, dakikalar içinde otomatik giriş denemeleri almaya başlar. Bunların hiçbiri kişisel değildir; botlar her adresi tarar. Birkaç temel adım bunların neredeyse tamamını durdurur. Bu kontrol listesi yeni bir Ubuntu 24.04 veya Debian 12/13 sunucusu varsayar ve yaklaşık on beş dakika sürer.
1. Önce her şeyi güncelleyin
apt update && apt full-upgrade -y
reboot
Yeniden başlattıktan sonra tekrar giriş yapın. Her zaman tamamen yamalanmış bir sistemle başlayın.
2. root olmayan bir kullanıcı oluşturun
Sürekli root olarak çalışmak her yazım hatasını tehlikeli yapar. sudo yetkisi olan normal bir kullanıcı oluşturun:
adduser deploy
usermod -aG sudo deploy
3. SSH anahtarlarını kurun
Kendi bilgisayarınızda, yoksa bir anahtar çifti oluşturun ve genel yarısını sunucuya kopyalayın:
ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP
İkinci bir terminal açın ve devam etmeden önce deploy olarak anahtarla giriş yapabildiğinizi doğrulayın. Bunu yapana kadar asıl oturumunuzu kapatmayın.
4. Parola ve root girişini kapatın
SSH daemon yapılandırmasını düzenleyin:
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
Bu satırları dosyaya koyun:
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
Söz dizimini kontrol edin ve yeniden yükleyin:
sudo sshd -t && sudo systemctl reload ssh
5. Bir güvenlik duvarı etkinleştirin
UFW en basit seçenektir. Önce SSH'ye izin verin, sonra güvenlik duvarını açın:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp # only if you run a web server
sudo ufw enable
sudo ufw status verbose
Yalnızca gerçekten çalıştırdığınız hizmetler için port açın. Geri kalan her şey varsayılan olarak kapalı kalır.
6. fail2ban ekleyin
Fail2ban günlükleri izler ve giriş yapmakta başarısız olmaya devam eden adresleri geçici olarak yasaklar.
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Varsayılanlar SSH için makuldür. Parolaları zaten kapattığınız için bu çoğunlukla günlük gürültüsünü ve boşa giden CPU'yu azaltır.
7. Otomatik güvenlik güncellemelerini açın
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Bu, güvenlik yamalarını otomatik olarak kurar. Çekirdek güncellemeleri için ara sıra yeniden başlatın veya aracın bunu sakin bir saatte yapmasına izin verin.
8. Neyin dinlediğini kontrol edin
sudo ss -tulpn
0.0.0.0 üzerinde beklemediğiniz bir şey dinliyorsa araştırmaya değer. Yalnızca yerel kullanım için olan hizmetler (veri tabanları, önbellekler, yönetim panelleri) 127.0.0.1 üzerinde dinlemelidir.
9. Temel izleme ve yedekler
- Günlükleri izleyin, ara sıra
journalctl -u ssh --since todayile. - Kaynakları kontrol edin,
htopvedf -hile; böylece dolu bir disk veya kontrolden çıkmış bir işlem sizi şaşırtmaz. - Yedek alın. Büyük değişikliklerden önce sunucunun anlık görüntüsünü alın ve yeniden oluşturamayacağınız her şeyin sunucu dışında bir kopyasını tutun.
Sırada ne var
Artık varsayılandan çok daha zor kırılabilen bir sunucunuz var. Buradan sonra yazılımı güncel tutun, her hizmeti kendi ayrıcalıksız kullanıcısıyla çalıştırın ve yalnızca ihtiyacınız olanı dışarı açın. Sunucuya özel bir tünel istiyorsanız WireGuard kurulumu rehberimiz iyi bir sonraki adımdır.
Sık sorulan sorular
Yeni bir VPS’te önce ne yapmalıyım?
Paketleri güncelleyin, root olmayan bir kullanıcı oluşturun, SSH anahtarlarına geçin, parolayla girişi kapatın ve bir güvenlik duvarını etkinleştirin.
SSH portunu değiştirmeli miyim?
Günlük gürültüsünü azaltır ama gerçek bir güvenlik değildir. Anahtarlar ve güvenlik duvarı çok daha önemlidir.