Sunucu Yönetimi & Linux

    VDS Satın Aldıktan Sonra İlk 10 Adım

    Yeni aldığınız VDS'i güvenli ve üretime hazır hale getirmek için atmanız gereken temel ilk adımların rehberi.

    12 dk okuma Güncellendi: 10 Temmuz 2026

    Yeni bir VDS satın aldığınızda elinize, tam denetimin sizde olduğu boş bir Linux makinesi geçer. Paylaşımlı hostingin aksine burada işletim sistemi, açık portlar, kullanıcı hesapları ve güvenlik önlemleri tamamen sizin sorumluluğunuzdadır. Bu özgürlük büyük bir güç kaynağıdır ama aynı zamanda bir yük getirir: sunucu ayağa kalktığı ilk saniyeden itibaren internetteki otomatik tarama botlarının, parola deneme saldırılarının ve açık port avcılarının radarındadır. Sağlayıcının size verdiği varsayılan kurulum "çalışır" durumdadır, fakat kesinlikle "güvenli" ve "üretime hazır" değildir.

    Bu rehberde, yeni bir VDS'i teslim aldığınız andan itibaren atmanız gereken ilk on adımı bir kontrol listesi olarak, sırayla ele alıyorum. Her adım bir öncekinin üzerine oturur ve hep birlikte katmanlı bir savunma oluşturur; tek bir önlem sizi tam korumaz, asıl güç bunların üst üste binmesindedir. Örnekleri Ubuntu ve Debian tabanlı sistemler üzerinden veriyorum, ancak arkasındaki mantık ve komutların çoğu yalnızca paket yöneticisi değiştirilerek AlmaLinux, Rocky Linux gibi dağıtımlara da uyarlanabilir. Aceleye getirmeden, sunucunuzu ilk kez kurarken bu listeyi baştan sona takip edin; ilk saatte harcadığınız yarım saat, sonraki aylarda başınızı ağrıtabilecek pek çok sorunu baştan eler.

    1. İlk Bağlantıyı Yapın ve Sistemi Güncelleyin#

    Sağlayıcı size genellikle bir IP adresi, root kullanıcısı ve geçici bir parola verir. İlk bağlantıyı kendi bilgisayarınızdan SSH ile kurun:

    ssh root@SUNUCU_IP
    

    İçeri girer girmez yapılacak ilk iş, kurulu tüm paketleri güncellemektir. Kullandığınız hazır imaj birkaç ay öncesine ait olabilir ve bu süre boyunca yayınlanmış onlarca güvenlik yamasını içermeyebilir; yani daha ilk saniyeden, çoktan kapatılmış açıklarla internete çıkmış olursunuz.

    apt update && apt upgrade -y
    apt dist-upgrade -y
    apt autoremove -y
    

    Çekirdek (kernel) güncellemesi geldiyse sistemi yeniden başlatmanız gerekebilir. Gerekip gerekmediğini tek satırla kontrol edebilirsiniz:

    [ -f /var/run/reboot-required ] && echo "Yeniden başlatma gerekli" || echo "Gerek yok"
    

    Sağlayıcının verdiği geçici root parolasını da bu aşamada passwd komutuyla güçlü bir parolayla değiştirin. Birazdan bu parolayla girişi tamamen kapatacak olsak bile, ara adımlarda hesabın açıkta kalmaması önemlidir.

    2. Sudo Yetkili Yeni Bir Kullanıcı Oluşturun#

    root hesabıyla günlük iş yapmak, freni olmayan bir arabayı sürmek gibidir: tek bir yazım hatası tüm sistemi geri dönüşsüz silebilir ve root üzerinden gelen bir saldırı, ilk anda saldırgana tam yetki teslim eder. Bunun yerine sınırlı yetkiye sahip, ihtiyaç anında sudo ile geçici olarak yükselen normal bir kullanıcı açın:

    adduser cloutr
    usermod -aG sudo cloutr
    

    Yeni kullanıcının sudo yetkisinin çalıştığını, o hesaba geçip yetki gerektiren basit bir komut deneyerek doğrulayın:

    su - cloutr
    sudo whoami   # çıktı: root
    

    Bundan sonra sunucuya doğrudan root yerine bu kullanıcıyla bağlanacak, yönetici işlerini gerektikçe sudo ile yapacaksınız. Bu yaklaşımın iki büyük kazancı vardır: hem yıkıcı komutları yanlışlıkla çalıştırma ihtimalinizi düşürür hem de her yetkili işlemin izini sudo günlüklerinde bırakır. Böylece sunucuda kimin, ne zaman, neyi yaptığı kayıt altına alınır. sudoers dosyasının detaylı yapılandırması ve en az yetki ilkesi için sunucu güvenliği temelleri yazımız iyi bir devam okuması olur.

    3. SSH Anahtarı ile Girişe Geçin#

    Parola ile SSH girişi kaba kuvvet (brute-force) saldırılarına karşı kırılgandır: saldırgan yeterince deneme yaparsa er ya da geç zayıf bir parolayı bulabilir. SSH anahtar çifti ise bambaşka bir seviyededir; özel anahtarınızı ele geçirmeden kimse içeri giremez ve iyi bir anahtar pratikte tahmin edilemez. İlk iş olarak kendi bilgisayarınızda (sunucuda değil) bir anahtar çifti üretin:

    ssh-keygen -t ed25519 -C "cloutr-vds"
    

    ed25519 günümüzde hem hızlı hem de güçlü kabul edilen bir algoritmadır; eski rsa yerine bunu tercih edin. Ürettiğiniz açık anahtarı yeni kullanıcıya kopyalayın:

    ssh-copy-id cloutr@SUNUCU_IP
    

    Sisteminizde ssh-copy-id yoksa, açık anahtar dosyasının (~/.ssh/id_ed25519.pub) içeriğini sunucudaki ~/.ssh/authorized_keys dosyasına elle ekleyin. Bu durumda dizin ve dosya izinlerinin doğru olması kritiktir; aksi halde SSH güvenlik gereği anahtarı yok sayar:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    

    Anahtarla giriş yapabildiğinizi mutlaka test edin. Bir sonraki adımda parola girişini tümüyle kapatacağımız için, aktif oturumdan çıkmadan önce anahtarınızın gerçekten çalıştığından kesinlikle emin olun; aksi halde kendinizi sunucudan dışarıda bırakabilirsiniz. SSH'ın tüm ayrıntıları ve ek sertleştirme seçenekleri için SSH bağlantısı ve güvenliği rehberimize göz atın.

    4. Root ve Parola Girişini Kapatın#

    Anahtarınızın sorunsuz çalıştığından emin olduktan sonra SSH sunucu yapılandırmasını sertleştirebiliriz. /etc/ssh/sshd_config dosyasını düzenleyin:

    sudo nano /etc/ssh/sshd_config
    

    Aşağıdaki ayarların şu değerlerde olduğundan emin olun. İlgili satırlar dosyada # ile yorum satırı olarak duruyorsa, başındaki # işaretini kaldırıp değeri güncelleyin:

    PermitRootLogin no
    PasswordAuthentication no
    KbdInteractiveAuthentication no
    PubkeyAuthentication yes
    

    KbdInteractiveAuthentication, eski OpenSSH sürümlerinde ChallengeResponseAuthentication olarak geçen ayarın güncel adıdır; sisteminizde hangisi tanımlıysa onu no yapın. Bu blok, hem doğrudan root girişini hem de parola/klavye tabanlı doğrulamayı kapatarak yalnızca anahtarla girişe izin verir. Değişiklikleri kaydettikten sonra SSH servisini yeniden başlatın:

    sudo systemctl restart ssh
    

    Bazı sürümlerde servis adı ssh yerine sshd olabilir; komut hata verirse sudo systemctl restart sshd deneyin. Mevcut oturumunuzu kapatmadan, ayrı bir terminalde yeni kullanıcı ve anahtarla bağlanabildiğinizi test edin. İlk oturumu açık tutmak, bir hata durumunda kilitli kalmanızın önündeki tek güvencedir.

    5. SSH Portunu Değiştirin#

    Varsayılan 22 portunu değiştirmek (örneğin 2222) çokça tavsiye edilen bir adımdır, ama beklentiyi doğru kurmak gerekir: bu bir "güvenlik" değil, "gürültü azaltma" önlemidir. Kararlı bir saldırgan tüm portları tarayarak SSH'ı yine bulur; ancak internetteki otomatik botların ezici çoğunluğu yalnızca 22'ye vurduğu için, port değişikliği günlüklerinizdeki başarısız deneme selini ciddi biçimde azaltır.

    sshd_config içinde port satırını ayarlayın:

    Port 2222
    

    Portu değiştirdiyseniz güvenlik duvarında yeni portu açmayı unutmayın; bir sonraki adımda bunu yapacağız. Servisi yeniden başlattıktan sonra yeni portla bağlanmak için:

    ssh -p 2222 cloutr@SUNUCU_IP
    

    Yakın Ubuntu sürümlerinde SSH soket etkinleştirmeyle çalıştığından, port değişikliğinin tam oturması için sudo systemctl restart ssh.socket de gerekebilir. Yeni portla bağlanabildiğinizi doğrulamadan eski oturumu kapatmayın.

    6. UFW Güvenlik Duvarını Yapılandırın#

    Güvenlik duvarı, sunucunuza dışarıdan hangi portlar üzerinden erişilebileceğini belirleyerek saldırı yüzeyini doğrudan daraltır. ufw (Uncomplicated Firewall), arka planda çalışan iptables/nftables altyapısına sade bir arayüz sunar. En güvenli başlangıç, gelen tüm bağlantıları varsayılan olarak reddetmek ve yalnızca gerçekten ihtiyaç duyduğunuz portları tek tek açmaktır:

    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow 2222/tcp      # SSH (portu değiştirmediyseniz: sudo ufw allow OpenSSH)
    sudo ufw allow 80/tcp        # HTTP
    sudo ufw allow 443/tcp       # HTTPS
    sudo ufw enable
    

    Kuralları etkinleştirmeden önce SSH portunu açtığınızdan iki kez emin olun; aksi halde ufw enable komutu tam da o an sizi sunucudan dışarı kilitleyebilir. Durumu her zaman kontrol edebilirsiniz:

    sudo ufw status verbose
    

    Sunucuda bir web servisi çalıştırmıyorsanız 80 ve 443'ü açmanıza gerek yoktur. Kural nettir: yalnızca fiilen kullandığınız portları açık bırakın, çünkü açtığınız her port aynı zamanda potansiyel bir giriş noktasıdır. Web trafiğini şifreli sunmak için ilerleyen aşamada bir SSL sertifikası kurmayı da planlayın.

    7. Fail2ban ile Kaba Kuvvet Saldırılarını Durdurun#

    SSH anahtarına geçmiş olsanız bile sunucunuz aralıksız giriş denemeleriyle dövülmeye devam eder; botlar parola kapalı olsa da denemekten vazgeçmez. fail2ban, kimlik doğrulama günlüklerini izler ve kısa sürede belirli sayıda başarısız denemede bulunan bir IP'yi belirli bir süre engeller:

    sudo apt install fail2ban -y
    

    Ana yapılandırma dosyası jail.conf'u doğrudan düzenlemeyin; onun yerine ayarlarınızı bir jail.local dosyasında toplayın. Paket güncellendiğinde jail.conf yenilenir ama jail.local korunur, yani ayarlarınız ezilmez:

    sudo nano /etc/fail2ban/jail.local
    

    SSH portunu değiştirdiyseniz onu da burada belirtin; aksi halde Fail2ban yanlış portu izler:

    [sshd]
    enabled = true
    port = 2222
    maxretry = 4
    bantime = 3600
    findtime = 600
    

    Ardından servisi başlatıp durumunu kontrol edin:

    sudo systemctl enable --now fail2ban
    sudo fail2ban-client status sshd
    

    Üç değer davranışı belirler: findtime (kaç saniyelik pencerede sayılacağı), maxretry (o pencerede izin verilen başarısız deneme sayısı) ve bantime (yasak süresi). Uzun bir bantime daha güvenlidir ama parolasını hatırlamayan meşru bir kullanıcıyı da geçici olarak dışarıda bırakabilir; bu dengeyi gözetin. Kendi sabit IP'nizi ignoreip satırına ekleyerek kendinizi kilitleme riskini azaltabilirsiniz.

    8. Otomatik Güvenlik Güncellemelerini Açın#

    Kritik güvenlik yamalarını her gün elle takip etmek zordur ve bir gün mutlaka atlanır. unattended-upgrades paketi tam bu boşluğu kapatır; güvenlik güncellemelerini sizin müdahaleniz olmadan otomatik uygular:

    sudo apt install unattended-upgrades -y
    sudo dpkg-reconfigure --priority=low unattended-upgrades
    

    Davranışın ince ayarını /etc/apt/apt.conf.d/50unattended-upgrades dosyasından yapabilirsiniz. Örneğin otomatik yeniden başlatmayı, kimseyi rahatsız etmeyecek bir gece saatine sabitleyin:

    Unattended-Upgrade::Automatic-Reboot "true";
    Unattended-Upgrade::Automatic-Reboot-Time "04:00";
    

    Ayarları devreye almadan önce kuru bir test (dry-run) çalıştırarak sistemin ne yapacağını görebilirsiniz:

    sudo unattended-upgrade --dry-run --debug
    

    AlmaLinux veya Rocky Linux kullanıyorsanız aynı işi dnf-automatic paketi görür; onu kurup /etc/dnf/automatic.conf içinde apply_updates = yes yaparak etkinleştirebilirsiniz. Kritik üretim sunucularında otomatik yeniden başlatmayı önceden belirlenmiş bir bakım penceresine çekmek, plansız kesintilerin önüne geçer.

    9. Zaman Dilimi ve Hostname Ayarlayın#

    Doğru zaman dilimi kozmetik bir ayar değildir; günlüklerin (log) hangi olayın ne zaman gerçekleştiğini doğru göstermesi, zamanlanmış görevlerin (cron) beklediğiniz saatte çalışması ve TLS sertifikalarının geçerlilik kontrolünün sağlıklı işlemesi için gereklidir. Mevcut ayarı görüp Türkiye saatine çekmek için:

    timedatectl                                   # mevcut durumu göster
    sudo timedatectl set-timezone Europe/Istanbul
    

    Zaman senkronizasyonunun (NTP) etkin olduğundan da emin olun; böylece sunucu saati sürekli doğru kalır:

    sudo timedatectl set-ntp true
    

    Sunucuya anlamlı bir isim (hostname) vermek, özellikle birden fazla makine yönettiğinizde hangi kabukta olduğunuzu karıştırmamanızı sağlar ve gönderdiğiniz e-postaların itibar puanına da katkıda bulunur:

    sudo hostnamectl set-hostname web01.alanadiniz.com
    

    Son olarak /etc/hosts dosyasına, sunucunun kendi adını çözebilmesi için bir satır ekleyin:

    127.0.1.1   web01.alanadiniz.com web01
    

    10. Yedekleme ve İzleme Planı Kurun#

    En titiz sertleştirme bile bir donanım arızasını ya da insan hatasını yüzde yüz önleyemez; güvenlik olasılıkları düşürmekle ilgilidir, sıfırlamakla değil. Bu nedenle daha ilk günden düzenli, otomatik ve sunucudan bağımsız bir konumda tutulan yedekler devreye girmelidir. Yedeği yalnızca aynı diskte tutmak, disk çöktüğünde hem asıl veriyi hem de yedeği aynı anda kaybetmek demektir. Basit bir dosya yedeğini rsync ve cron ile otomatikleştirebilirsiniz:

    0 3 * * * rsync -avz --delete /var/www/ /yedek/www/ >> /var/log/yedek.log 2>&1
    

    Veritabanlarını da düzenli dışa aktarmayı unutmayın, çünkü dinamik içeriğin gerçek değeri çoğu zaman oradadır:

    mysqldump -u root -p --all-databases | gzip > /yedek/db_$(date +%F).sql.gz
    

    İzleme tarafında ise sunucu kaynaklarını, açık oturumları (last, who) ve kimlik doğrulama günlüklerini (/var/log/auth.log) düzenli aralıklarla gözden geçirin. Bu işi elle uğraşmaktan kurtarıp profesyonel bir altyapıya taşımak isterseniz, sunucu dışı depolama sunan yedekleme çözümlerimize veya sunucunuzun bakımını uzman ekibe bırakabileceğiniz sunucu yönetimi hizmetimize göz atabilirsiniz.

    Hızlı Kontrol Listesi#

    Aşağıdaki tablo, uyguladığınız her adımın hangi tehdide karşı koruma sağladığını bir bakışta özetler:

    AdımÖnlemEngellediği tehdit
    1Sistem güncellemeBilinen açıkların istismarı
    2Sudo kullanıcıroot ile doğrudan çalışmanın riskleri
    3-4SSH anahtarı + parola kapatmaKaba kuvvet parola saldırıları
    5Port değişikliğiOtomatik bot gürültüsü
    6UFW güvenlik duvarıAçık port taraması / yetkisiz erişim
    7Fail2banIsrarlı giriş denemeleri
    8Otomatik güncellemeYamalanmamış yeni açıklar
    9Zaman dilimi + hostnameYanlış log/cron zamanları, kimlik karışıklığı
    10Yedek + izlemeVeri kaybı ve fark edilmeyen ihlal

    Sıkça Sorulan Sorular#

    VDS aldıktan sonra ilk hangi adımı yapmalıyım?#

    İlk iş her zaman sistemi tam güncellemek olmalıdır. Sağlayıcının verdiği imaj genellikle birkaç ay eskidir ve o süredeki güvenlik yamalarını içermez; apt update && apt upgrade -y (ya da AlmaLinux/Rocky için dnf upgrade) komutuyla makineyi güncel bir tabana oturtmadan diğer adımlara geçmek, çoktan bilinen açıklarla çalışmaya devam etmek anlamına gelir. Güncellemenin hemen ardından geçici root parolasını değiştirin ve sudo yetkili yeni bir kullanıcı oluşturun.

    Root ile SSH girişini kapatmak riskli değil mi, kendimi kilitlerim mi?#

    Kilitlenme riski yalnızca sırayı yanlış uygularsanız ortaya çıkar. Doğru yöntem şudur: önce sudo yetkili kullanıcıya SSH anahtarınızı kurun, o kullanıcıyla anahtar üzerinden bağlanabildiğinizi ayrı bir terminalde test edin, ancak bundan sonra PermitRootLogin no ve PasswordAuthentication no ayarlarını yapın. Mevcut oturumu açık tutarak yeni ayarı ikinci bir pencerede denerseniz, bir hata olsa bile hâlâ açık olan oturumdan geri alabilirsiniz. Yine de kilitli kalırsanız sağlayıcının web tabanlı VNC/konsol erişimi kurtarma yolunuzdur.

    SSH portunu değiştirmek gerçekten güvenlik sağlar mı?#

    Tek başına bir güvenlik önlemi değildir; kararlı bir saldırgan tüm portları tarayarak SSH'ı yine bulur. Buna karşın varsayılan 22 portundaki otomatik bot gürültüsünü belirgin biçimde azaltır ve günlüklerinizi okunabilir tutar. Bu yüzden port değiştirmeyi asıl önlemlerin (anahtarla giriş, Fail2ban, güvenlik duvarı) yerine değil, üzerine ince bir katman olarak ekleyin. Portu değiştirdiyseniz güvenlik duvarında ve Fail2ban yapılandırmasında yeni portu tanımlamayı unutmayın.

    UFW ile hangi portları açmalıyım?#

    Genel kural, yalnızca fiilen kullandığınız servislerin portlarını açmaktır. Neredeyse her sunucuda SSH portu (varsayılan 22 ya da değiştirdiğiniz port) gereklidir. Web sitesi barındırıyorsanız 80 (HTTP) ve 443 (HTTPS) portlarını da açarsınız. Bir posta sunucusu, veritabanı ya da özel bir uygulama çalıştırmıyorsanız onların portlarını kapalı tutun; açtığınız her port ek bir saldırı yüzeyidir. Veritabanı gibi servisleri mümkün olduğunca yalnızca localhost üzerinden dinletmek en güvenli yaklaşımdır.

    Yönetilen bir sunucu almadıysam bu adımları yine de yapmam gerekir mi?#

    Evet. Yönetilmeyen (unmanaged) bir VDS'te işletim sistemi seviyesindeki tüm güvenlik ve bakım tamamen size aittir; sağlayıcı yalnızca donanımın ve ağın çalışır durumda kalmasını garanti eder. Bu rehberdeki on adım, kendi root erişiminize sahip her VDS için geçerlidir. Bu işlerle uğraşmak istemiyorsanız iki seçeneğiniz var: ya güncellemeler ve güvenliğin çoğunu sağlayıcının üstlendiği bir paylaşımlı hosting tercih edersiniz ya da sunucunuzu profesyonel bir ekibe emanet eden yönetimli bir hizmet alırsınız.

    Bu adımların tamamı ne kadar sürer?#

    Daha önce benzer işler yapmış bir kullanıcı için ilk dokuz adım aşağı yukarı 30-40 dakika sürer, yedekleme ve izleme kurulumu ise ihtiyacınıza göre biraz daha uzayabilir. Acele etmeyin: özellikle 3. ve 4. adımlarda, parola girişini kapatmadan önce anahtarla bağlanabildiğinizi ayrı bir oturumda mutlaka doğrulayın. Bu tek kontrol, kendinizi sunucudan kilitlemenizle sorunsuz devam etmeniz arasındaki farkı belirler.

    Kapanış#

    Yeni bir VDS'in ilk saati, çoğu zaman tüm ömrü boyunca taşıyacağı güvenlik ve kararlılık seviyesini belirleyen en kritik andır. Güncelleme, ayrı bir sudo kullanıcısı, anahtarla SSH girişi, güvenlik duvarı, Fail2ban ve otomatik yamalardan oluşan bu on adımı bir alışkanlık hâline getirdiğinizde, sunucunuz internetteki otomatik saldırıların büyük çoğunluğuna karşı belirgin biçimde dayanıklı, günlükleriniz okunabilir ve altyapınız üretime hazır olur. Bir sonraki kapsamlı okuma olarak sunucu güvenliği temelleri yazımızı takip edebilirsiniz.

    Henüz sunucunuzu seçmediyseniz ya da mevcut kurulumunuzu daha güçlü bir altyapıya taşımak istiyorsanız, root erişimi sunan VDS sunucularımızı veya esnek sanal sunucu paketlerimizi inceleyebilir; bu sertleştirme adımlarını daha ilk günden kendi sunucunuza uygulamaya başlayabilirsiniz. Kurulumu ve bakımı uzmanlara bırakmayı tercih ederseniz, tüm bu yükü üstlenen sunucu yönetimi hizmetimiz tam size göredir.

    VDSKurulumGüvenlik

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.