Blog

Eğitimler, rehberler ve ürün haberleri.

Güvenlik ve Yedek

Yeni VPS'te ilk 10 güvenlik adımı

3 Kasım 2026 4 dk okuma
Bu yazıyı paylaş

Yeni bir VPS'te ilk işler şunlardır: sistemi güncellemek, root yerine anahtarla giriş yapan ayrı bir kullanıcı açmak, parola girişini kapatmak, güvenlik duvarını ve fail2ban'i açmak, otomatik güvenlik güncellemelerini etkinleştirmek ve yedeği doğrulamak. Aşağıda 10 adımı yapılması gereken sırayla veriyoruz. Komutlar Ubuntu ve Debian içindir.

İnternete açık her sunucu, otomatik taramaların ve parola deneme botlarının hedefi olur. Bunu kendi sunucunuzun SSH günlüğünde de görebilirsiniz. Sıra önemlidir: 4. adıma geçmeden önce 2. ve 3. adımın çalıştığını görün, yoksa kendinizi dışarıda bırakabilirsiniz. Komutlardaki sudo, root olarak bağlıysanız da çalışır.

Sistem ve hesaplar

1. Sistemi güncelleyin

sudo apt update && sudo apt upgrade -y

Ubuntu'da yeniden başlatma gerektiren bir güncelleme kurulduysa /var/run/reboot-required dosyası oluşur. Varsa sunucuyu bir kez yeniden başlatın. Debian'da bu dosya olmayabilir, çekirdek güncellendiyse yine de yeniden başlatın.

2. Kendi kullanıcınızı açın

Günlük işlerde root kullanmayın. Yetkili ayrı bir kullanıcı oluşturun. deploy yerine istediğiniz adı yazabilirsiniz:

sudo adduser deploy

sudo usermod -aG sudo deploy

3. SSH anahtarıyla giriş yapın

Bilgisayarınızda anahtar çifti yoksa ssh-keygen -t ed25519 ile oluşturun. Sonra genel anahtarı yeni kullanıcıya kopyalayıp girişi deneyin:

ssh-copy-id [email protected]

ssh [email protected]

Parola sormadan girdiyseniz hazırsınız. Windows'ta ssh-copy-id yoktur. PowerShell'de aynı işi şu komut görür:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

SSH'ı sıkılaştırın

4. Parola ve root girişini kapatın

Önce yeni kullanıcıyla anahtarla girebildiğinizi doğrulayın. Sonra bu ayarları hangi dosyaların etkin olarak tanımladığına bakın. OpenSSH, aynı ayar birden çok yerde geçerse ilk okunan değeri kullanır. Debian ve Ubuntu'da ana yapılandırma dosyası /etc/ssh/sshd_config.d/ klasörünü en başta içeri alır. Sağlayıcı imajlarında bu klasörde parola girişini açan bir dosya olabilir. Siz ana dosyaya no yazsanız bile o dosyadaki yes geçerli kalır:

sudo grep -rniE "^\s*(PasswordAuthentication|PermitRootLogin|KbdInteractiveAuthentication)" /etc/ssh/sshd_config /etc/ssh/sshd_config.d/

Çıktıda görünen her etkin satırı ilgili dosyada no yapın: PasswordAuthentication no, PermitRootLogin no, KbdInteractiveAuthentication no. Çıktıda hiç görünmeyen ayarı /etc/ssh/sshd_config dosyasının sonuna ekleyin. Sonra sınayıp uygulayın ve fiili değerleri kontrol edin:

sudo sshd -t && sudo systemctl reload ssh

sudo sshd -T | grep -E "^(passwordauthentication|permitrootlogin|kbdinteractiveauthentication)"

Üç satırın sonunda da no yazmalı. Açık oturumu kapatmayın. Yeni bir terminalde anahtarla girebildiğinizi görmeden çıkmayın. Yine de kilitlenirseniz panelden VNC Konsol'u açın. Konsol girişi SSH ayarlarından etkilenmez.

Bu ayarlar sonradan kendiliğinden eski haline dönebilir. Panelden SSH anahtarı eklemek ya da parolayı sıfırlamak gibi işlemler, sunucunun bir sonraki açılışında sağlayıcının ilk kurulum betiğinin (cloud-init) yeniden çalışmasına yol açabilir ve betik parola girişini yeniden açabilir. Böyle bir işlemden sonra yukarıdaki sshd -T komutunu yeniden çalıştırıp değerlere bakın.

Dışarıdan erişimi daraltın

5. Güvenlik duvarını açın

ufw'de önce SSH'e izin verin, sonra etkinleştirin. Sırayı tersine çevirirseniz bağlantınız kopar. SSH'ı 22 dışında bir portta çalıştırıyorsanız 22 yerine o portu yazın:

sudo ufw allow 22/tcp

sudo ufw enable

sudo ufw status verbose

Web sunucusu çalıştıracaksanız 80 ve 443 portlarına da izin verin. ufw varsayılan olarak gelen bağlantıları reddeder. Panelde ayrıca bir güvenlik duvarı aracı bulunur. Docker kullanıyorsanız dikkat edin: Docker'ın belgelerine göre yayınladığınız portlar ufw kurallarını atlar. Yalnız sunucunun kendisinden erişilecek servislerin portunu yerel adrese bağlayın, örneğin Docker Compose dosyasında 127.0.0.1:5432:5432 yazın.

6. fail2ban kurun

fail2ban, tekrar tekrar yanlış giriş deneyen IP adreslerini bir süre engeller:

sudo apt install -y fail2ban python3-systemd

printf '[sshd]\nenabled = true\nbackend = systemd\nmaxretry = 5\nbantime = 1h\n' | sudo tee /etc/fail2ban/jail.local

sudo systemctl enable fail2ban && sudo systemctl restart fail2ban

sudo fail2ban-client status sshd

Seturack'ın hazır uygulamalı sunucularında ufw açık gelir ve fail2ban çalışır. Temiz bir işletim sistemi kurduysanız durumlarını sudo ufw status ve systemctl is-active fail2ban ile kontrol edin.

7. Açık portları gözden geçirin

sudo ss -tulpn

Komut dinleyen her servisi ve portu listeler. Dışarıdan erişilmesi gerekmeyen servisler (veritabanı, önbellek) yalnız 127.0.0.1 adresini dinlemeli. Gereksiz servisi kapatın: sudo systemctl disable --now servis-adi

Süreklilik

8. Güvenlik güncellemelerini otomatikleştirin

Ubuntu'nun belgelerine göre unattended-upgrades paketi çoğu kurulumda hazır gelir ve güvenlik güncellemeleri etkindir. Yoksa kurun ve etkinleştirin:

sudo apt install -y unattended-upgrades

sudo dpkg-reconfigure -plow unattended-upgrades

Otomatik yeniden başlatma varsayılan olarak kapalıdır, çekirdek güncellemelerinden sonra sunucuyu kendiniz yeniden başlatın. Kurulumdan sonra güncellemeleri izlemek, hizmet sözleşmesine göre sizin sorumluluğunuzdadır.

9. Yedek alın, geri yüklemeyi deneyin

Seturack'ta sunucunuz her gece yedeklenir ve son 7 günün yedeği tutulur. Bu fiyata dahildir. Yönetim sekmesindeki Yedekler bölümünden yedekleri görür, tek dosya kurtarır ya da sunucuyu geri yüklersiniz. Geri yüklemeyi sınamak için tek dosya kurtarmayı kullanın: sunucuyu geri yüklemek mevcut diskin tamamını değiştirir. Büyük bir değişiklikten önce anlık görüntü almak iyi bir alışkanlıktır, ama anlık görüntü yedek yerine geçmez. Önemli verinizin bir kopyasını sunucunun dışında da tutun. Ayrıntılar için günlük yedekler yazısına bakın.

10. Parolalarınızı sağlamlaştırın

Panel hesabınız sunucunun anahtarıdır. Orada uzun, başka yerde kullanmadığınız bir parola kullanın ve parola yöneticisinde saklayın. Panelden kopyaladığınız ilk root parolasını sudo passwd root ile değiştirin. SSH özel anahtarınıza parola cümlesi koyun. Parolaları ve anahtarları destek mesajlarına ya da sohbete yazmayın.

Yorumlar0

Henüz Yorum Yok

İlk düşüncenizi paylaşan siz olun.

Tartışmaya Katıl

Yorum bırakmak için lütfen giriş yapın veya kaydolun.

Hiçbir Yazıyı Kaçırmayın

En yeni eğitim, rehber ve ürün haberlerini gelen kutunuzda alın.

Bülten aboneliğiniz alındı.