VDS / VPS ve Sunucu
Yeni bir Ubuntu VDS/VPS'te ilk yapılması gerekenler: güncelleme, sudo kullanıcı, SSH anahtarı, root girişini kapatma, güvenlik duvarı, Fail2ban ve otomatik güncellemeler.
Yeni açılan bir sunucu dakikalar içinde otomatik tarama ve kaba kuvvet (brute force) SSH denemeleri almaya başlar. Aşağıdaki adımlar Ubuntu 22.04/24.04 LTS için yazılmıştır; Debian'da da büyük ölçüde aynıdır. Komutları çalıştırmadan önce ne yaptıklarını okuyun ve SSH bağlantınızı kapatmadan yeni ayarları ikinci bir oturumda test edin.
ssh-copy-id yoksa açık anahtarınızı (~/.ssh/id_ed25519.pub) sunucuda ~/.ssh/authorized_keys dosyasına ekleyin. Ardından yeni bir terminalde şifresiz girebildiğinizi doğrulayın.
Mevcut oturumu kapatmadan önce ikinci bir oturumla giriş yapabildiğinizi kontrol edin.
SSH'ı farklı bir porta taşıdıysanız, UFW'de o portu açmadan etkinleştirmeyin.
Not: Bu sayfa temel bir başlangıçtır; kontrol paneli (Plesk, cPanel, aaPanel vb.) kuracaksanız panelin kendi güvenlik önerilerini de uygulayın.
1. Sistemi güncelleyin
Bash:
sudo apt update && sudo apt upgrade -y
sudo reboot # çekirdek güncellendiyse
2. Root yerine sudo yetkili kullanıcı oluşturun
Bash:
adduser yonetici
usermod -aG sudo yonetici
3. SSH anahtarıyla giriş
Kendi bilgisayarınızda (Windows 10/11 PowerShell, macOS veya Linux terminali):
Bash:
ssh-keygen -t ed25519 -C "benim-bilgisayarim"
ssh-copy-id yonetici@SUNUCU_IP
4. Root girişini ve şifreyle girişi kapatın
/etc/ssh/sshd_config (veya /etc/ssh/sshd_config.d/ altındaki bir dosya) içinde:
Kod:
PermitRootLogin no
PasswordAuthentication no
Bash:
sudo sshd -t && sudo systemctl reload ssh
5. Güvenlik duvarı (UFW)
Bash:
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp # web sunucusu kullanacaksanız
sudo ufw enable
sudo ufw status verbose
6. Fail2ban
Tekrarlanan başarısız giriş denemelerini geçici olarak engeller:
Bash:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
7. Otomatik güvenlik güncellemeleri
Bash:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
8. Saat dilimi ve swap
Bash:
sudo timedatectl set-timezone Europe/Istanbul
# RAM'i az olan sunucularda 2 GB swap:
sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
9. Yedekleme ve izleme
- Sağlayıcınızın snapshot/yedek özelliğini açın; ek olarak kritik verileri (veritabanı dökümleri, /etc, site dosyaları) sunucu dışına düzenli yedekleyin.
- Disk doluluğunu ve servisleri izlemek için basit bir uptime izleyicisi kullanın.
- Kullanmadığınız servisleri kapatın:
sudo ss -tulpnile dinleyen portları kontrol edin.
Not: Bu sayfa temel bir başlangıçtır; kontrol paneli (Plesk, cPanel, aaPanel vb.) kuracaksanız panelin kendi güvenlik önerilerini de uygulayın.