PepperTools Rehber
Teknik ve sunucular

Debian vServer kurulumu ve güvenli hale getirme: yeni başlayanlar için adım adım (3'ün 1. Bölümü)

„Kendi sunucun – 0'dan güvenliğe" serisinin 1. bölümü: bir vServer kiraladın – peki ya şimdi? Bu yeni başlayanlar rehberi Debian 12 sunucunu güvenli bir temele getirir: sistem güncellemesi, sudo kullanıcısı, anahtarla SSH güvenliği, güvenlik duvarı, Fail2ban ve otomatik güvenlik güncellemeleri. Her adım kopyalanabilir.

Debian vServer kurulumu ve güvenli hale getirme: yeni başlayanlar için adım adım (3'ün 1. Bölümü)

Debian vServer kurulumu ve güvenli hale getirme: yeni başlayanlar için adım adım (3'ün 1. Bölümü)

„Kendi sunucun – 0'dan güvenliğe" serisi · 3 bölüm:

  1. Debian vServer kurulumu & güvenliğiBuradasınız
  2. Froxlor kurulumu & yapılandırması
  3. E-postayı doğru kurma: SPF, DKIM & DMARC

Bu 1. Bölümdür. Yeni kiralanmış sunucunuzu güvenli bir temel duruma getirir. Bu sunucuya 2. Bölümde yönetim paneli Froxlor'u kuracak, 3. Bölümde e-posta gönderimini ayarlayacağız.

Debian vServer einrichten & absichern

İçindekiler


Yeni bir vServer (VPS) kiraladınız ve kendinize şunu soruyorsunuz: „Peki ya şimdi?" Tam da burada başlıyoruz. Bu rehber tamamen yeni başlayanlar için yazılmıştır. Ne yaptığımızı ve neden yaptığımızı basit sözcüklerle anlatıyoruz – ve her komutu kopyalayıp yapıştırabilirsiniz. Sonunda, en yaygın saldırılara karşı korunmuş, güncel bir sunucunuz olacak.

Debian 12 (Bookworm) kullanıyoruz; en popüler ve kararlı sunucu sistemlerinden biri. Ubuntu kullanıyorsanız, neredeyse tüm komutlar aynıdır.

Önemli: Tüm komutlarda yer tutucuları gerçek değerlerinizle değiştirin – SERVER-IP yerine sunucunuzun IP adresi (sağlayıcınızın onay e-postasında) ve kullanici-adi yerine seçtiğiniz bir ad.

Ön koşullar

  • Debian 12 ile kiralanmış bir vServer/VPS. Henüz yok mu? Sağlayıcılar: örn. IONOS, Hetzner veya webtropia.
  • Sunucunuzun IP adresi ve root parolası (sağlayıcıdan e-postayla alınan).
  • Kendi bilgisayarınızda bir terminal: macOS ve Linux'ta önceden yüklü („Terminal"), Windows'ta PowerShell (önceden yüklü) veya PuTTY kullanın.

Fazlası gerekmez. Başlayalım.

Adım 1: SSH ile sunucuya bağlanma

„SSH", sunucunuza şifreli bir uzak bağlantıdır – komutları kendi bilgisayarınızda yazarsınız, sunucuda çalışırlar. Terminalinizi açın ve root kullanıcısı olarak bağlanın:

ssh root@SERVER-IP

İlk seferde sunucuya güvenip güvenmediğiniz sorulur – yes yazıp Enter'a basın. Ardından root parolasını girin (giriş görünmez, bu normaldir). Bağlandığınızda satır şöyle görünür:

root@sunucunuz:~#

Tebrikler – içeridesiniz. (SSH'a ayrıntılı bir giriş Debian wiki'sinde bulunur.)

Adım 2: Sistemi güncelleme

Yeni kurulmuş bir sunucu çoğunlukla bilinen güvenlik açıkları olan eski paketler içerir. Bu yüzden ilk adım her zaman: her şeyi güncelleyin. Bu komutla sunucu mevcut güncellemelerin listesini indirir, kurar, gereksiz paketleri kaldırır ve temizler:

apt update && apt full-upgrade -y && apt autoremove -y && apt clean

Bu birkaç dakika sürebilir. Yeniden başlatmanın gerekli olduğuna dair bir mesaj çıkarsa sunucuyu yeniden başlatın:

reboot

Yeniden başlatmanın ardından bağlantı kısa bir süre kesilir. ~30 saniye bekleyin ve ssh root@SERVER-IP ile yeniden bağlanın.

Adım 3: Ana bilgisayar adı, saat dilimi ve dil

Günlüklerin doğru zaman damgalarına sahip olması ve sunucunun düzgün bir ad taşıması için üç küçük şeyi ayarlıyoruz.

Ana bilgisayar adı (sunucunuz için bir ad, örn. web01):

hostnamectl set-hostname web01

Saat dilimini ayarlama (burada: Europe/Istanbul; uyarlayın):

timedatectl set-timezone Europe/Istanbul

Dil paketlerini (locales) kurma ve UTF-8 oluşturma:

apt install -y locales
sed -i 's/# tr_TR.UTF-8/tr_TR.UTF-8/' /etc/locale.gen
locale-gen

Sonucu kontrol edin:

timedatectl

Orada „Time zone: Europe/Istanbul" yazmalıdır.

Adım 4: sudo yetkili kullanıcı oluşturma

Sürekli root olarak çalışmak tehlikelidir – tek bir yazım hatası tüm sistemi bozabilir. Daha iyisi: yalnızca gerektiğinde, önündeki sudo sözcüğüyle yönetici hakları alan normal bir kullanıcı.

Kullanıcıyı oluşturun (kullanici-adi'nı değiştirin) ve sorulunca güçlü bir parola verin:

adduser kullanici-adi

Diğer soruları (ad, telefon…) Enter ile atlayabilirsiniz. Şimdi kullanıcıya sudo hakları verin:

usermod -aG sudo kullanici-adi

Devam etmeden önce bunu test edin. İkinci bir terminal penceresi açın ve yeni kullanıcıyla giriş yapın:

ssh kullanici-adi@SERVER-IP

sudo'nun çalıştığını kontrol edin:

sudo whoami

Parolayı girdikten sonra root görünüyorsa her şey yolundadır. Bu ikinci pencereyi açık bırakın – sonraki adımda güvenlik ağı olarak lazım olacak.

Adım 5: SSH erişimini güvenli hale getirme (root girişini kapatma, anahtarla giriş)

Şimdi uzak erişimi çok daha güvenli hale getiriyoruz. İki önlem: parola yerine SSH anahtarı ile giriş ve artık doğrudan root girişi yok.

Dikkat – kilitlenme riski: Bu adımda SSH erişimini değiştiriyoruz. 4. Adım'daki çalışan pencereyi mutlaka açık bırakın. Bir şey ters giderse böylece geri girebilirsiniz.

Windows ipucu – PuTTY ve Pageant gerekli mi? Şast değil. Windows 10/11 zaten OpenSSH ile gelir ve aşağıdaki komutlar (ssh-keygen, ssh) doğrudan PowerShell'de çalışır – macOS/Linux'taki gibi. PuTTY araçlarını tercih ediyorsanız (veya daha eski bir Windows'unuz varsa) şöyle yapın:

>

1. PuTTYgen ile anahtar oluşturun: „Type of key"i EdDSA → Ed25519 yapın, Generate'e tıklayın, fareyi hareket ettirin. Özel anahtarı .ppk olarak kaydedin; gösterilen genel anahtarı („Public key for pasting…" alanı) panoya kopyalayın. 2. Genel anahtarı sunucuda kullanıcınızın ~/.ssh/authorized_keys dosyasına koyun (tek satır). 3. Özel anahtarı Pageant (PuTTY anahtar ajanı) ile yükleyin – böylece her bağlantıda yeniden seçmenize gerek kalmaz. 4. PuTTY ile bağlanın (sunucu: kullanici-adi@SERVER-IP).

>

PuTTYgen ve Pageant, PuTTY paketinde bulunur: putty.org. Her iki yol da işlevsel olarak eşdeğerdir – aşağıda daha az adım gerektirdiği için yerleşik OpenSSH'ı kullanıyoruz.

5.1 Kendi bilgisayarınızda anahtar oluşturun. Bu komutu kendi PC'nizde (sunucuda değil) bir terminalde çalıştırın ve soruları Enter ile onaylayın:

ssh-keygen -t ed25519 -C "sunucum"

5.2 Genel anahtarı sunucuya kopyalayın (yine PC'nizden):

ssh-copy-id kullanici-adi@SERVER-IP

ssh-copy-id olmayan Windows'ta bunun yerine:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh kullanici-adi@SERVER-IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

5.3 Test: Yeniden giriş yapın – artık parola istenmemelidir:

ssh kullanici-adi@SERVER-IP

5.4 Parolayla girişi ve root girişini kapatın. Sunucuda SSH yapılandırmasını nano editörüyle düzenleyin:

sudo nano /etc/ssh/sshd_config

Aşağıdaki satırları bulun (veya ekleyin) ve tam olarak şöyle ayarlayın:

PermitRootLogin no
PasswordAuthentication no

Ctrl+O, Enter ile kaydedin, Ctrl+X ile kapatın. Ardından SSH hizmetini yeniden yükleyin:

sudo systemctl restart ssh

Önemli: Mevcut pencerenizi henüz kapatmayın. Yeni bir pencere açın ve kullanici-adi ile girişin hâlâ çalıştığını – ve ssh root@SERVER-IP'nin artık reddedildiğini kontrol edin. Adım ancak o zaman başarılıdır. Arka plan SSH üzerine Debian wiki'sinde.

Adım 6: Güvenlik duvarını yapılandırma (ufw)

Bir güvenlik duvarı, gerçekten ihtiyacınız olan birkaçı dışında tüm ağ bağlantı noktalarını engeller. ufw („Uncomplicated Firewall") kullanıyoruz – basit ve yeni başlayan dostu.

Kurun ve temel kuralları ayarlayın (tüm gelen trafiği engelle, gideni izin ver):

sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing

SSH erişimine etkinleştirmeden önce izin verin – yoksa kendinizi kilitlersiniz:

sudo ufw allow OpenSSH

Gelecekteki web sunucusu için (2. Bölüm'de Froxlor) web bağlantı noktalarını da açıyoruz:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Şimdi güvenlik duvarını etkinleştirin ve durumu kontrol edin:

sudo ufw enable
sudo ufw status verbose

Soruyu y ile onaylayın. Durum listesinde yalnızca SSH (22), 80 ve 443 izinli olarak görünmelidir. ufw ayrıntıları Ubuntu Server Guide'da.

Adım 7: Fail2ban ile kaba kuvvet koruması

Saldırganlar otomatik olarak binlerce parola dener. Fail2ban çok sayıda başarısız denemeyi algılar ve saldıran IP adresini geçici olarak engeller. Kurun ve etkinleştirin:

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

Güncellemelerin üzerine yazmaması için kendi yapılandırmamızı oluşturuyoruz:

sudo nano /etc/fail2ban/jail.local

Aşağıdaki içeriği yapıştırın (5 başarısız denemeden sonra bir IP'yi 1 saat engeller):

[sshd]
enabled = true
maxretry = 5
bantime = 1h
findtime = 10m

Kaydedin (Ctrl+O, Enter, Ctrl+X) ve hizmeti yeniden başlatın:

sudo systemctl restart fail2ban

Durumu istediğiniz zaman kontrol edebilirsiniz:

sudo fail2ban-client status sshd

Adım 8: Otomatik güvenlik güncellemeleri

Güvenlik açıkları sürekli keşfedilir. Sunucunuzun önemli yamaları otomatik kurması için unattended-upgrades kuruyoruz:

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Soruda „Yes" seçin. Hepsi bu – artık sunucu güvenlik güncellemelerini kendi başına kurar. Daha fazlası UnattendedUpgrades üzerine Debian wiki'sinde.

Kontrol listesi: sunucunuz güvenli mi?

Devam etmeden önce kısaca gözden geçirin:

  • [ ] Sistem güncel (apt update && apt full-upgrade)
  • [ ] Ana bilgisayar adı, saat dilimi ve locale ayarlı
  • [ ] sudo yetkili kendi kullanıcınız çalışıyor
  • [ ] SSH anahtarıyla giriş çalışıyor, parolayla giriş kapalı
  • [ ] ssh root@SERVER-IP reddediliyor
  • [ ] Güvenlik duvarı (ufw) etkin, yalnızca 22/80/443 açık
  • [ ] Fail2ban çalışıyor
  • [ ] Otomatik güvenlik güncellemeleri etkin

Sık sorulan sorular (SSS)

Kendimi kilitledim – şimdi ne yapayım? Neredeyse her sağlayıcı müşteri panelinde bir „VNC" veya „konsol" işlevi sunar; bununla SSH olmadan doğrudan giriş yapıp ayarları geri alabilirsiniz.

SSH anahtarları mı kullanmalıyım yoksa parola yeterli mi? Anahtarlar çok daha güvenlidir ve kuvvetle önerilir. Mutlaka parolada kalmak istiyorsanız PasswordAuthenticationyes'te bırakın – ancak çok uzun bir parola ve mutlaka Fail2ban kullanın.

Bu Ubuntu'da da çalışır mı? Evet, neredeyse aynı. Yalnızca çok eski sürümlerde bazı paket adları farklı olabilir.

Linux bilgisi gerekir mi? Hayır. Komutları kopyalayıp yer tutucuları değiştirirseniz halledersiniz. İlk seferde biraz sabır faydalıdır.

Nasıl devam edilir?

Sunucunuz artık güvenli. Sonraki bölümde, alan adlarını, web sitelerini, SSL sertifikalarını ve veritabanlarını bir arayüz üzerinden kolayca yönettiğiniz – konsol olmadan – ücretsiz yönetim paneli Froxlor'u kuruyoruz:

👉 2. Bölüm: Froxlor kurulumu & yapılandırması

Ve 3. Bölüm: E-postayı doğru kurma: SPF, DKIM & DMARC'da e-postalarınızın güvenle teslim edilmesini sağlıyoruz.

Bu arada: yazılım geliştirtmeyi tercih ediyor ya da özel sunucu/web çözümlerine ihtiyacınız varsa, PepperTools size memnuniyetle yardımcı olur.

Kaynaklar

Durum: Haziran 2026. Komutlar ve paket adları yeni sürümlerle değişebilir – belirleyici olan her zaman resmi belgelerdir.

Faturalari daha kolay yonet

Easy Invoice teklifleri, faturalari ve musteri yonetimini bulutta birlestirir.

Easy Invoice u dene

Dil surumleri

EN Set up and secure a Debian vServer: a beginner's step-by-step guide (Part 1 of 3) FR Configurer et sécuriser un vServer Debian : guide pas à pas pour débutants (Partie 1 sur 3) ES Configurar y asegurar un vServer Debian: guía paso a paso para principiantes (Parte 1 de 3) IT Configurare e mettere in sicurezza un vServer Debian: guida passo passo per principianti (Parte 1 di 3) DE Debian-vServer einrichten und absichern: Schritt-für-Schritt für Einsteiger (Teil 1 von 3) PL Konfiguracja i zabezpieczenie serwera Debian vServer: krok po kroku dla początkujących (Część 1 z 3) RU Настройка и защита vServer на Debian: пошагово для новичков (Часть 1 из 3) NL Een Debian-vServer instellen en beveiligen: stap-voor-stap voor beginners (Deel 1 van 3)