Ubuntu VDS’te İlk 30 Dakika: SSH, Firewall, Fail2ban, Güncelleme ve Yedekleme

  • Home
  • VDS
  • Ubuntu VDS’te İlk 30 Dakika: SSH, Firewall, Fail2ban, Güncelleme ve Yedekleme
Ubuntu VDS ilk 30 dakika güvenlik, SSH, firewall, Fail2ban, güncelleme ve yedek kontrol listesi
DateHaz 22, 2026

Ubuntu VDS ilk 30 dakika güvenlik, SSH, firewall, Fail2ban, güncelleme ve yedek kontrol listesi
Ubuntu VDS kurulumundan sonraki ilk 30 dakika; güvenlik, erişim ve yedekleme açısından kritik bir başlangıç penceresidir.

Yeni bir Ubuntu VDS aldığınızda sunucu teknik olarak birkaç dakika içinde kullanıma hazır olabilir. Fakat üretim ortamında asıl önemli konu, sunucuyu internete açmadan önce temel güvenlik ve bakım adımlarını doğru sırayla tamamlamaktır.

Bu rehberde Ubuntu VDS üzerinde ilk 30 dakikada yapılması gereken adımları; SSH güvenliği, firewall, Fail2ban, güncelleme, yedekleme ve hızlı doğrulama komutlarıyla birlikte ele alıyoruz. Narweb üzerinde VDS veya Cloud Dedicated Server kullanan ekipler için de aynı kontrol listesi iyi bir başlangıç noktasıdır.

Ubuntu VDS ilk kurulum kontrol listesi neden önemlidir?

İnternete açık her sunucu, daha ilk dakikalardan itibaren bot taramalarına, SSH denemelerine, zayıf parola saldırılarına ve servis keşiflerine maruz kalabilir. Bu nedenle “önce uygulamayı kurayım, güvenliği sonra yaparım” yaklaşımı risklidir.

  • SSH erişimi yalnızca güvenilir yöntemlerle sınırlandırılmalı.
  • Gereksiz portlar dış dünyaya kapatılmalı.
  • Paket güncellemeleri geciktirilmemeli.
  • Yedek veya snapshot stratejisi uygulama kurulmadan önce düşünülmeli.
  • Log ve kaynak kullanımı daha ilk günden izlenebilir olmalı.

1. Sunucuya ilk bağlantı ve sistem bilgisi kontrolü

İlk bağlantıdan sonra işletim sistemi, kernel, IP adresi, disk ve bellek durumunu hızlıca kontrol edin.

ssh root@SUNUCU_IP_ADRESI

hostnamectl
uname -a
ip addr
free -h
df -h
uptime

Bu çıktılar sunucunun doğru imajla kurulduğunu, disk alanının beklendiği gibi göründüğünü ve ağ yapılandırmasının aktif olduğunu anlamanıza yardımcı olur.

2. Root yerine sudo yetkili kullanıcı oluşturun

Üretim ortamında doğrudan root kullanıcısıyla çalışmak iyi bir alışkanlık değildir. Bunun yerine ayrı bir kullanıcı oluşturup sudo yetkisi vermek daha güvenlidir.

adduser deploy
usermod -aG sudo deploy

# Kullanıcıyı test edin
su - deploy
sudo whoami

sudo whoami çıktısı root dönüyorsa kullanıcı yönetimsel komutları sudo ile çalıştırabilir.

3. SSH anahtarı kullanın ve parola girişini kapatın

Parola ile SSH girişi brute-force saldırılarına daha açıktır. Mümkünse SSH key kullanın ve parola girişini kapatın.

# Lokal bilgisayarınızda
ssh-keygen -t ed25519 -C "narweb-vds"
ssh-copy-id deploy@SUNUCU_IP_ADRESI

Ardından sunucuda SSH yapılandırmasını düzenleyin:

sudo nano /etc/ssh/sshd_config

Örnek güvenli başlangıç ayarları:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
X11Forwarding no
AllowUsers deploy

Servisi yeniden başlatmadan önce yapılandırmayı test edin:

sudo sshd -t
sudo systemctl reload ssh

Önemli: Mevcut SSH oturumunu kapatmadan önce yeni bir terminalden tekrar bağlantı kurmayı test edin. Yanlış yapılandırma kendinizi sunucudan kilitlemenize neden olabilir.

4. UFW firewall ile gereksiz portları kapatın

UFW, Ubuntu üzerinde temel firewall yönetimini kolaylaştırır. İlk aşamada yalnızca SSH ve gerekiyorsa HTTP/HTTPS portlarını açmak yeterlidir.

sudo apt update
sudo apt install -y ufw

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

sudo ufw enable
sudo ufw status verbose

Eğer SSH portunu değiştirdiyseniz OpenSSH profili yerine özel portu eklemeyi unutmayın:

sudo ufw allow 2222/tcp

5. Paket güncellemelerini yapın

Yeni kurulan imajlar bile birkaç gün eski paketler içerebilir. Özellikle OpenSSL, OpenSSH, Nginx, Apache, PHP ve kernel paketleri düzenli takip edilmelidir.

sudo apt update
sudo apt list --upgradable
sudo apt upgrade -y
sudo apt autoremove -y

Güncelleme sonrası yeniden başlatma gerekip gerekmediğini kontrol edin:

if [ -f /var/run/reboot-required ]; then
  cat /var/run/reboot-required
fi

Sunucu güvenliği konusunda daha detaylı bakım perspektifi için OpenSSL güncellemeleri rehberimizi ve Nginx, cPanel ve Plesk güvenlik güncellemeleri kontrol listesini de inceleyebilirsiniz.

6. Fail2ban ile SSH denemelerini sınırlayın

Fail2ban, log dosyalarını izleyerek belirli sayıda başarısız giriş denemesinden sonra ilgili IP adresini geçici olarak engeller.

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban

Basit bir SSH jail yapılandırması için:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Örnek ayarlar:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 10m
bantime = 1h

Durumu kontrol etmek için:

sudo systemctl restart fail2ban
sudo fail2ban-client status
sudo fail2ban-client status sshd

Fail2ban konusunda daha detaylı bilgi için Ubuntu üzerinde Fail2ban kurulumu yazımıza da bakabilirsiniz.

7. Saat, log ve izleme ayarlarını kontrol edin

Log analizi ve olay takibi için saat dilimi ve zaman senkronizasyonu önemlidir.

timedatectl
sudo timedatectl set-timezone Europe/Istanbul
systemctl status systemd-timesyncd

Temel log kontrolleri:

sudo journalctl -p warning -n 50
sudo tail -n 50 /var/log/auth.log
sudo ss -tulpn

8. Snapshot ve yedek stratejisini belirleyin

Uygulama kurulmadan önce yedek stratejisi belirlemek, ileride geri dönüş planı hazırlamayı kolaylaştırır. En azından şu sorular cevaplanmalıdır:

  • Sunucu snapshot’ı ne zaman alınacak?
  • Dosya yedekleri nereye yazılacak?
  • Veritabanı yedeği nasıl alınacak?
  • Yedekten geri dönüş test edilecek mi?
  • Yedekler aynı sunucuda mı, ayrı lokasyonda mı tutulacak?

Küçük projelerde dosya + veritabanı yedeği yeterli olabilir. Daha büyük SaaS ve dosya depolama senaryolarında S3 Object Storage Hosting veya ayrı yedekleme sunucusu kullanmak daha sağlıklı olur.

# Örnek basit dosya yedeği
sudo tar -czf /backup/etc-$(date +%F).tar.gz /etc

# Örnek PostgreSQL yedeği
pg_dump -U app_user app_db | gzip > /backup/app_db-$(date +%F).sql.gz

9. İlk 30 dakika için hızlı kontrol komutları

# Kullanıcı ve SSH
whoami
sudo whoami
sudo sshd -t

# Firewall
sudo ufw status verbose

# Servisler
systemctl --failed
sudo systemctl status ssh
sudo systemctl status fail2ban

# Kaynaklar
free -h
df -h
uptime

# Açık portlar
sudo ss -tulpn

# Güvenlik logları
sudo tail -n 100 /var/log/auth.log

Özet kontrol listesi

[ ] Sistem bilgisi kontrol edildi
[ ] Sudo yetkili kullanıcı oluşturuldu
[ ] SSH key ile giriş test edildi
[ ] Root SSH kapatıldı
[ ] Parola ile SSH girişi kapatıldı
[ ] UFW etkinleştirildi
[ ] Sadece gerekli portlar açıldı
[ ] Paket güncellemeleri yapıldı
[ ] Reboot ihtiyacı kontrol edildi
[ ] Fail2ban kuruldu ve test edildi
[ ] Saat dilimi ve loglar kontrol edildi
[ ] Snapshot / yedek stratejisi belirlendi
[ ] Geri dönüş planı not edildi

Narweb VDS ile güvenli başlangıç

VDS kurulumu hızlıdır; ancak güvenli ve sürdürülebilir altyapı için ilk yapılandırma adımlarının doğru yapılması gerekir. Narweb olarak VDS, Cloud Dedicated Server, Kubernetes Cluster Hosting ve yönetilebilir altyapı çözümleriyle projelerinize uygun sunucu mimarisi kurmanıza yardımcı oluyoruz.

Ubuntu VDS’inizi güvenli şekilde yapılandırmak, uygulamanızı taşımak veya yedekleme planı oluşturmak isterseniz Narweb ekibiyle iletişime geçebilirsiniz.

Bir yanıt yazın

Hemen bugün siz de mutlu Narweb müşterileri arasına katılın!

Narweb Cloud altyapısına geçerek siz de hem uygun fiyat hem de kaliteli hizmet almaya hemen başlayabilirsiniz.

Copyright 2000 - 2025 © NARWEB.net. Tüm hakları saklıdır. Narweb® Markası Narnet Bilgisayar Dahili Tic. LTD. ŞTİ.'nin tescilli bir markasıdır.