VDS yönetimi, ilk sanal sunucusunu alan çoğu kişi için ürkütücü görünür: ortada bir kontrol paneli yoktur, sadece bir IP adresi, bir kullanıcı adı ve bir parola vardır. Paylaşımlı hostingten gelenler için bu büyük bir özgürlük ama aynı zamanda sorumluluk demektir. Bu rehberde, bir VDS'i (Virtual Dedicated Server / sanal özel sunucu) ilk açtığınız andan itibaren SSH ile bağlanma, root erişimini doğru kullanma, sistemi güncel tutma ve sunucuyu temel saldırılara karşı kapatma adımlarını yeni başlayan birinin anlayacağı dilde anlatacağız.
Amaç sizi sistem yöneticisi yapmak değil; sunucunuzu ilk haftada hacklenmeyecek, çökmeyecek ve sizin kontrolünüzde olacak hâle getirmek. Hadi temelden başlayalım.
VDS nedir, neden farklı yönetilir?
Paylaşımlı hostingte sunucunun işletim sistemini barındırıcı yönetir; siz sadece kendi sitenizin dosyalarına ve DirectAdmin/Plesk gibi bir panele erişirsiniz. VDS'te ise işletim sistemi tamamen size aittir. Güncellemeleri siz yaparsınız, hangi servislerin çalışacağına siz karar verirsiniz, güvenlik duvarını siz kurarsınız.
Bu yüzden VDS yönetimi üç temel kavram etrafında döner:
- Tam erişim:
rootkullanıcısıyla her şeyi değiştirebilirsiniz; bu hem güç hem risktir. - Komut satırı: Çoğu işlem SSH üzerinden, terminalden yapılır.
- Sorumluluk: Sunucunun güvenliği ve sürekliliği artık sizin elinizde.
İlk VDS'ini Türkiye'den veya yurt dışından alanlar için yaklaşım aynıdır; tek fark, KVKK kapsamında kişisel veri işliyorsanız sunucunun konumu önem kazanır. Müşteri verisi tutuyorsanız yurt içi barındırma genellikle uyum açısından daha rahat bir tercih olur.
SSH ile sunucuya bağlanma
VDS'inizi satın aldığınızda size genellikle şu bilgiler verilir: IP adresi, kullanıcı adı (çoğunlukla root) ve parola (veya bir SSH anahtarı). Bağlanmak için SSH (Secure Shell) protokolünü kullanırız.
Linux ve macOS kullanıcıları doğrudan terminalden bağlanabilir:
ssh root@SUNUCU_IP_ADRESI
Windows kullanıcıları Windows 10/11'de yine ssh komutunu kullanabilir ya da PuTTY gibi bir araç tercih edebilir. İlk bağlantıda sunucunun parmak izini onaylamanız istenir; yes yazıp parolanızı girersiniz.
Bağlandığınızda karşınıza bir komut istemi (# veya $) gelir. Tebrikler, artık sunucunuzun içindesiniz.
Parola yerine SSH anahtarı kullanın
Parola ile giriş kolaydır ama kaba kuvvet (brute force) saldırılarına açıktır. SSH anahtarı çok daha güvenlidir: bilgisayarınızda bir özel/açık anahtar çifti oluşturursunuz, açık anahtarı sunucuya koparsınız ve artık parola sorulmadan, kriptografik olarak doğrulanmış şekilde girersiniz.
Kendi bilgisayarınızda anahtar üretmek için:
ssh-keygen -t ed25519
ssh-copy-id root@SUNUCU_IP_ADRESI
Anahtar tabanlı girişe geçtikten sonra, ilerideki adımda parola ile SSH girişini tamamen kapatmanız önerilir.
Root erişimini doğru kullanmak
root, Linux'taki en yetkili kullanıcıdır; her dosyayı silebilir, her servisi durdurabilir, sistemi tamamen bozabilir. Bu yüzden iki altın kural vardır:
- Günlük işler için root kullanmayın. Bunun yerine kendinize normal bir kullanıcı açın ve gerektiğinde
sudoile yetki yükseltin. - Komutları çalıştırmadan önce iki kez okuyun.
rootmodunda yanlış birrm -rfkomutu geri dönüşü olmayan veri kaybına yol açabilir.
Yeni bir kullanıcı oluşturup ona yönetici (sudo) yetkisi vermek için:
adduser kullaniciadi
usermod -aG sudo kullaniciadi # Ubuntu/Debian
# CentOS/AlmaLinux/Rocky için: usermod -aG wheel kullaniciadi
Bundan sonra SSH'a bu yeni kullanıcıyla girip, yetki gerektiren komutların başına sudo ekleyebilirsiniz. Bir işin gerçekten root gerektirip gerektirmediğini düşünmek, kazara hata yapma ihtimalinizi büyük ölçüde azaltır.
Sistemi güncel tutmak
Yeni kurulmuş bir sunucudaki ilk işiniz sistemi güncellemek olmalı. Güncellemeler sadece yeni özellik getirmez; çoğu zaman bilinen güvenlik açıklarını kapatır. Açık bırakılan eski bir paket, saldırganın sunucuya sızması için en kolay kapıdır.
Dağıtımınıza göre:
| Dağıtım | Güncelleme komutu |
|---|---|
| Ubuntu / Debian | apt update && apt upgrade -y |
| AlmaLinux / Rocky / CentOS | dnf update -y |
Güncellemeleri düzenli yapmak için takvime bir hatırlatma koyabilir ya da kritik güvenlik yamalarının otomatik kurulması için unattended-upgrades (Debian/Ubuntu) gibi araçları etkinleştirebilirsiniz. Çekirdek (kernel) güncellemelerinden sonra çoğu durumda sunucuyu yeniden başlatmak gerekir; bunu trafiğin düşük olduğu saatlere planlayın.
Firewall ile gereksiz kapıları kapatın
Bir sunucudaki her açık port, bir kapı gibidir. Web sunucusu 80 ve 443, SSH 22 numaralı portu kullanır. İhtiyacınız olmayan portları kapatmak saldırı yüzeyini ciddi biçimde küçültür. Bunu firewall (güvenlik duvarı) ile yaparız.
Ubuntu/Debian'da en kolay araç UFW'dir:
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH (özel port kullanıyorsanız onu yazın)
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
Dikkat: Firewall'ı etkinleştirmeden önce SSH portuna mutlaka izin verin. Aksi hâlde kendinizi sunucudan kilitleyip dışarıda bırakabilirsiniz.
AlmaLinux/Rocky tarafında benzer işi firewalld yapar:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Kuralları belirlerken mantık basittir: varsayılan olarak her şeyi engelle, sadece gerçekten ihtiyacın olanı aç.
Fail2ban ile kaba kuvvet saldırılarını durdurun
Sunucunuz internete açıldığı andan itibaren, otomatik botlar SSH portunuza sürekli parola denemeye başlar. Bu kaba kuvvet (brute force) saldırılarıdır ve normaldir. İşte fail2ban tam burada devreye girer: log dosyalarını izler, kısa sürede çok sayıda başarısız giriş denemesi yapan IP adreslerini otomatik olarak belirli bir süre engeller.
Kurulum oldukça basittir:
# Ubuntu / Debian
apt install fail2ban -y
# AlmaLinux / Rocky
dnf install fail2ban -y
systemctl enable --now fail2ban
Varsayılan ayarlar SSH'ı korumak için çoğu durumda yeterlidir. Ayarları kişiselleştirmek isterseniz /etc/fail2ban/jail.local dosyası oluşturup deneme sayısı, ban süresi ve izleme penceresi gibi değerleri belirleyebilirsiniz. Engellenen IP'leri görmek için:
fail2ban-client status sshd
Fail2ban, SSH anahtarı kullanımı ve özel SSH portuyla birleştiğinde, sunucunuzu kaba kuvvet gürültüsünün büyük kısmından kurtarır.
Temel sunucu güvenliği kontrol listesi
İlk kurulumda yapmanız gerekenleri tek bir listeye toplayalım. Bu adımlar, yeni başlayan birinin sunucusunu "açık ve savunmasız"dan "makul ölçüde güvenli"ye taşır:
| Adım | Ne yapar? | Önceliği |
|---|---|---|
| Sistemi güncelle | Bilinen açıkları kapatır | Yüksek |
| SSH anahtarına geç | Parola tahminini imkânsızlaştırır | Yüksek |
| Parolayla SSH girişini kapat | Brute force kapısını kapatır | Yüksek |
| root ile doğrudan girişi kapat | Yetki yükseltmeyi zorlaştırır | Orta |
| Firewall (UFW/firewalld) kur | Gereksiz portları kapatır | Yüksek |
| Fail2ban kur | Saldırgan IP'leri otomatik banlar | Orta |
| SSH portunu değiştir | Otomatik bot gürültüsünü azaltır | Düşük |
| Düzenli yedek al | Felaket durumunda kurtarır | Yüksek |
Bu liste içinde en çok ihmal edileni yedeklemedir. Hiçbir güvenlik önlemi %100 değildir; bir sorun çıktığında geri dönebileceğiniz güncel bir yedeğinizin olması, sunucu yönetiminin görünmez ama en kritik parçasıdır.
SSH yapılandırmasında küçük ama etkili dokunuşlar
/etc/ssh/sshd_config dosyasında birkaç satırı değiştirmek ciddi fark yaratır:
PermitRootLogin no— root ile doğrudan SSH girişini kapatır.PasswordAuthentication no— sadece anahtarla girişe izin verir (önce anahtarınızın çalıştığından emin olun).Port 2222— varsayılan 22 yerine farklı bir port (firewall'da da açmayı unutmayın).
Değişikliklerden sonra servisi yeniden başlatın: systemctl restart sshd. Yeni bir terminal penceresinden bağlantıyı test edip çalıştığını gördükten sonra eski oturumu kapatın; böylece bir hata yaparsanız kilitli kalmazsınız.
Sunucunuzun sağlığını dışarıdan izleyin
Sunucuyu kurduktan sonra işiniz bitmez. Sitenizin gerçekten erişilebilir olup olmadığını, SSL sertifikanızın geçerliliğini ve sunucunuzun bir kara listeye düşüp düşmediğini düzenli kontrol etmelisiniz. Bunun için sunucuya girmenize bile gerek yok; dışarıdan çalışan ücretsiz araçlarla port durumunu, DNS yayılımını ve SSL geçerliliğini saniyeler içinde kontrol edebilirsiniz.
Sonuç
VDS yönetimi ilk bakışta karmaşık görünse de, temeli aslında birkaç sağlam alışkanlığa dayanır: SSH ile güvenli bağlan, root'u dikkatli kullan, sistemi güncel tut, gereksiz portları kapat ve fail2ban ile saldırıları engelle. Bu adımları ilk gün uyguladığınızda, sunucunuz hem daha güvenli hem de tamamen sizin kontrolünüzde olur. Geri kalanı pratikle gelir.
Henüz sanal sunucunuz yoksa veya daha güçlü bir yapıya geçmek istiyorsanız Hostmana'nın VDS ve sunucu paketlerini inceleyebilirsiniz. Sunucunuzun erişimini, SSL'ini ve kara liste durumunu dışarıdan kontrol etmek için ücretsiz web araçlarımızı kullanabilir, takıldığınız her noktada bilgi bankamızdan yararlanabilirsiniz.