İçindekiler
- 1 Yeni Aldığınız VPS’te İlk 24 Saat Neden Bu Kadar Önemli?
- 2 0–2 Saat: İlk Erişim, Kimlik Doğrulama ve Hızlı Kontroller
- 3 2–6 Saat: Sistem Güncellemeleri ve Temel Araçlar
- 4 6–12 Saat: Kullanıcı Hesapları ve SSH Sertleştirme
- 5 12–18 Saat: Güvenlik Duvarı (Firewall) Kurmak
- 6 18–24 Saat: Giriş Denemeleri, Loglar ve Ek Güvenlik Katmanları
- 7 Ek Adım: Yedekleme ve Sonraki Günler İçin Yol Haritası
- 8 Özet: İlk 24 Saat İçin Pratik Kontrol Listesi
- 9 DCHost ile Standartlaştırılmış ve Güvenli VPS Altyapısı
Yeni Aldığınız VPS’te İlk 24 Saat Neden Bu Kadar Önemli?
Yeni bir VPS satın aldığınız anda aslında iki sayaç birlikte çalışmaya başlar: Birincisi, projeyi ne kadar hızlı yayına alacağınızın süresi; ikincisi ise henüz hiçbir sertleştirme yapılmamış, varsayılan ayarlarla çalışan bir sunucunun ne kadar süre açıkta kalacağı. DCHost olarak sahada en çok gördüğümüz sorunlardan biri, “nasılsa sonra bakarım” denilen ilk 24 saatin, aylar sonra ortaya çıkan güvenlik ve performans problemlerinin temel sebebi olması. Varsayılan şifreyle açıkta kalan SSH, kapatılmamış gereksiz portlar, yapılmamış paket güncellemeleri ve tek bir root hesabına bağlı tüm erişim, küçük projelerde bile ciddi risk oluşturabiliyor.
Bu yazıda, yeni aldığınız bir VPS’te ilk 24 saat içinde adım adım neler yapmanız gerektiğini, pratik komutlarla ve gerçekçi bir sıralamayla ele alacağız. Odak noktamız üç temel başlık olacak: sistem güncellemeleri, güvenlik duvarı (firewall) kurulumu ve kullanıcı/SSH erişim mimarisi. Böylece sunucunuz daha ilk günden, ileride üzerine güvenle uygulama inşa edebileceğiniz sağlam bir temele sahip olacak.
0–2 Saat: İlk Erişim, Kimlik Doğrulama ve Hızlı Kontroller
Sunucu Bilgilerini Netleştirmek
Yeni bir DCHost VPS hizmeti açtığınızda, müşteri panelinizde aşağıdaki temel bilgileri görürsünüz:
- Sunucu IP adresi
- Kullanıcı adı (genelde root veya seçtiğiniz yönetici hesap)
- Geçici veya ilk SSH parolası
- İşletim sistemi ve sürümü (Ubuntu, Debian, AlmaLinux, Rocky Linux vb.)
İlk iş olarak bu bilgileri güvenli bir şifre kasasında (password manager) saklayın. Geçici parolaları kopyala-yapıştır ile oradan kullanmak hem hata payını azaltır hem de daha sonra yapacağınız parola değişikliklerinin takibini kolaylaştırır.
SSH ile İlk Bağlantı ve Temel Bilgiler
Yerel bilgisayarınız Linux veya macOS ise doğrudan terminalden, Windows kullanıyorsanız bir SSH istemcisi ile bağlanabilirsiniz:
ssh root@SUNUCU_IP_ADRESI
İlk bağlantıda sunucunun parmak izini (host key fingerprint) onaylamanız istenir; bu ekranı hızlıca geçmek yerine ekran görüntüsünü alıp saklamak, ileride olası “man-in-the-middle” şüphesinde işinize yarar.
Bağlandıktan sonra birkaç temel doğrulama yapın:
whoami
hostnamectl
cat /etc/os-release
uptime
whoami: Gerçekten root musunuz, kontrol edin.hostnamectl: Sunucunun adını ve temel bilgileriler./etc/os-release: Dağıtım ve sürüm bilgisi.uptime: Sunucunun ne zamandır açık olduğunu gösterir.
İlk Parola Değişikliği
Varsayılan veya geçici parola ile hiçbir zaman yola devam etmeyin. İlk 5 dakika içinde parolayı değiştirin:
passwd
Güçlü bir parola belirleyin: En az 16 karakter, küçük/büyük harf, rakam ve sembol içermeli. Yine de parolayı sadece yedek erişim olarak düşünün; bir sonraki adımda SSH anahtar tabanlı erişime geçeceğiz.
Donanım ve Ağ Sağlığını Hızlı Kontrol Etmek
VPS’inizin gerçekten beklediğiniz kaynaklarla geldiğinden emin olmak için hızlı bir kontrol yapın:
lscpu | egrep 'Model name|CPU(s)'
free -h
ds -h
ip a
Daha ileri seviye performans testleri için, özellikle yüksek trafik beklediğiniz projelerde yeni VPS aldığınızda CPU, disk ve ağ performansını benchmark ile test etme rehberimizi mutlaka incelemenizi öneririz.
2–6 Saat: Sistem Güncellemeleri ve Temel Araçlar
Tüm Paketleri Güncellemek
Birçok VPS imajı, oluşturulduğu tarihteki paket sürümleriyle gelir. Bu tarih ile sunucuyu gerçekten kullandığınız gün arasında haftalar hatta aylar olabilir. Bu yüzden canlıya almadan önce işletim sistemini güncellemek zorunlu bir adım.
Örneğin Ubuntu/Debian tabanlı bir sistemde:
apt update
apt upgrade -y
apt autoremove -y
RHEL tabanlı (AlmaLinux, Rocky Linux vb.) bir sistemde:
dnf update -y
# Eski nesil ise
# yum update -y
Bu komutlardan sonra sunucuyu yeniden başlatmanız gerekebilir:
reboot
Yeniden bağlanıp tekrar uptime ve uname -a ile kernel ve çalışma süresini kontrol edin.
Temel Yönetim Araçlarını Kurmak
Günlük operasyonlarda işinizi inanılmaz kolaylaştıracak küçük ama etkili araçlar vardır. Bunları ilk 6 saat içinde kurmanız, ileriye dönük rahatlık sağlar.
Örneğin Ubuntu/Debian için:
apt install -y htop vim git curl wget net-tools software-properties-common
RHEL tabanlı sistemler için:
dnf install -y htop vim git curl wget net-tools
htop ile CPU/RAM kullanımını, vim ile konfigürasyon dosyalarını, curl/wget ile HTTP isteklerini kolayca yönetebilirsiniz.
Zaman Dilimi ve NTP Ayarları
Log analizi ve hata ayıklama için sunucu saatinizin doğru olması çok kritiktir. Zaman diliminizi doğru seçin:
timedatectl list-timezones | grep Istanbul
timedatectl set-timezone Europe/Istanbul
timedatectl
Çıktıda NTP senkronizasyonunun yes olduğundan emin olun. Gerekirse systemd-timesyncd veya chrony kurulumunu kontrol edebilirsiniz.
6–12 Saat: Kullanıcı Hesapları ve SSH Sertleştirme
Root Yerine Yetkili Bir Kullanıcı ile Çalışmak
Güvenlik en temel prensiplerinden biri, en az ayrıcalık (least privilege) kuralıdır. Her işlemi doğrudan root ile yapmak saldırganlar için de hayatı kolaylaştırır. Bu yüzden ilk saatler içinde sudo yetkili normal bir kullanıcı oluşturun.
# Yeni kullanıcı oluşturma
adduser deploy
# Ubuntu/Debian'da sudo grubuna ekleme
usermod -aG sudo deploy
# AlmaLinux/Rocky Linux gibi sistemlerde wheel grubu
usermod -aG wheel deploy
Parolasını belirledikten sonra, artık bu kullanıcı ile giriş yapabileceksiniz:
ssh deploy@SUNUCU_IP_ADRESI
Bu kullanıcı ile root ayrıcalığı kullanmanız gerektiğinde:
sudo su -
# veya
sudo <komut>
SSH Anahtar Tabanlı Erişim Kurmak
Parola ile SSH erişimini mümkün olduğunca kısa sürede kapatmak istiyoruz. Bunun için istemci tarafında bir SSH anahtarı oluşturup sunucuya tanımlayalım.
Yerel bilgisayarınızda (istemcide):
ssh-keygen -t ed25519 -C "deploy@proje-adi"
Varsayılan konumu onaylayın ve mutlaka güçlü bir passphrase belirleyin. Ardından public anahtarınızı sunucuya kopyalayın:
ssh-copy-id deploy@SUNUCU_IP_ADRESI
Eğer ssh-copy-id yoksa, public anahtarı manuel ekleyebilirsiniz:
cat ~/.ssh/id_ed25519.pub
Sunucuda:
mkdir -p /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
echo "PUBLIC_ANAHTAR_ICERIGI" >> /home/deploy/.ssh/authorized_keys
chmod 600 /home/deploy/.ssh/authorized_keys
chown -R deploy:deploy /home/deploy/.ssh
Şimdi parolasız (ama anahtar + passphrase ile) SSH bağlantısını test edin:
ssh deploy@SUNUCU_IP_ADRESI
SSH Yapılandırmasını Sertleştirmek
Artık SSH anahtarınız hazır olduğuna göre, SSH sunucu ayarlarını sıkılaştırabilirsiniz. Konfigürasyon dosyası genellikle /etc/ssh/sshd_config yolundadır.
sudo vim /etc/ssh/sshd_config
Aşağıdaki ayarları kontrol edin veya ekleyin:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
Protocol 2
X11Forwarding no
AllowUsers deploy
Burada AllowUsers ile sadece belirli hesapların SSH üzerinden bağlanabilmesini sağlıyoruz. Birden fazla kullanıcı varsa boşlukla ayırabilirsiniz. Değişikliklerden sonra servisi yeniden başlatın:
sudo systemctl restart sshd
# Bazı dağıtımlarda hizmet adı "ssh" olabilir
# sudo systemctl restart ssh
Bu adımlarla ilgili daha ileri seviye güvenlik önlemleri (FIDO2 donanım anahtarları, SSH CA, anahtar rotasyonu vb.) düşünüyorsanız, VPS’te SSH güvenliğini sağlamlaştırma rehberimizi detaylıca inceleyebilirsiniz.
12–18 Saat: Güvenlik Duvarı (Firewall) Kurmak
Neden İlk Günden Firewall Kurmalısınız?
İnternete doğrudan açık her VPS, saniyeler içinde otomatik tarama ve kaba kuvvet saldırılarının hedefi olur. Bu saldırıların çoğu başarısız olsa da loglarınızı şişirir, CPU kullanımı yaratır, bazen de beklenmedik açıklara çarpar. Güvenlik duvarı ile varsayılan kapalı bir model benimseyerek yalnızca izin verdiğiniz portların dış dünyaya açılmasını sağlarsınız.
DCHost altyapısında ağ katmanında da koruma mekanizmaları olsa bile, sunucu içi firewall her zaman ek bir savunma hattı olarak düşünülmelidir.
UFW ile Hızlı ve Basit Kurulum (Ubuntu/Debian)
Ubuntu/Debian kullanıcıları için ufw (Uncomplicated Firewall) oldukça pratik bir araçtır. Önce paketin kurulu olduğundan emin olun:
sudo apt install -y ufw
Varsayılan politikaları sıkı şekilde ayarlayalım:
sudo ufw default deny incoming
sudo ufw default allow outgoing
SSH bağlantısını kesmemek için önceden izin verin:
sudo ufw allow OpenSSH
# veya port bazlı
# sudo ufw allow 22/tcp
Web sunucusu kullanacaksanız HTTP ve HTTPS için de izin açın:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Artık ufw’yi etkinleştirebilirsiniz:
sudo ufw enable
sudo ufw status verbose
Sunucunuzda özel portlar (örneğin bir oyun sunucusu ya da API portu) varsa, sadece gerçekten ihtiyaç duyduklarınızı açın. Geri kalan her şeyi kapalı tutmak en güvenli yaklaşımdır.
RHEL Tabanlı Sistemlerde firewall-cmd (firewalld)
AlmaLinux/Rocky Linux gibi sistemlerde firewalld ve firewall-cmd ile benzer bir kurulum yapabilirsiniz:
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
İhtiyaç halinde özel portları --add-port=PORT/tcp şeklinde ekleyebilirsiniz.
nftables ile İleri Seviye Güvenlik Duvarı
Modern Linux dünyasında nftables, iptables’in yerini alan ve çok daha esnek bir yapı sunan yeni jenerasyon firewall katmanıdır. Orta-büyük ölçekli projelerde, rate limit, port knocking, IPv6 kuralları gibi gelişmiş gereksinimleriniz varsa doğrudan nftables ile başlamanız mantıklı olur.
Bu konuda daha derinleşmek isteyenler için nftables ile VPS güvenlik duvarı rehberimizde pratik kurallar, IPv4/IPv6 örnekleri ve rate limit senaryolarını detaylı şekilde anlattık.
18–24 Saat: Giriş Denemeleri, Loglar ve Ek Güvenlik Katmanları
SSH Brute Force Saldırılarına Karşı Fail2ban
Ne kadar iyi parola/anahtar politikası uygularsanız uygulayın, internete açık her SSH portu sürekli denenecektir. Bunun loglarınızı ve kaynaklarınızı tüketmesini engellemek için fail2ban kullanmak çok etkilidir.
Ubuntu/Debian için kurulum:
sudo apt install -y fail2ban
RHEL tabanlı için:
sudo dnf install -y fail2ban
Basit bir SSH jail ayarı için yerel konfigürasyon dosyası oluşturun:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vim /etc/fail2ban/jail.local
[sshd] bölümünü bulun ve aşağıdaki ayarları kontrol edin:
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 5
bantime = 3600
findtime = 600
Servisi etkinleştirin:
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Fail2ban ve diğer koruma katmanlarını WAF, Cloudflare gibi servislerle birleştirmek istiyorsanız, VPS sunucu güvenliği rehberimizde katmanlı güvenlik yaklaşımını adım adım anlattık.
Günlük Log Kontrolleri İçin Alışkanlık Kazanmak
İlk 24 saatte, SSH ve sistem loglarını en azından bir kez gözden geçirmeniz çok faydalıdır. Özellikle yanlış yapılandırılmış servisler veya beklenmedik hatalar bu aşamada yakalanabilir.
# SSH girişleri
sudo journalctl -u ssh -n 100 --no-pager
# veya
sudo tail -n 100 /var/log/auth.log # Debian/Ubuntu
sudo tail -n 100 /var/log/secure # RHEL tabanlı
Günlük kullanımda, CPU/RAM/DISK özetini görmek için:
htop
free -h
ds -h
sudo iostat -xz 1 5 # iostat yüklü ise
Bu basit kontroller bile, ileride performans sorunlarına dönüşebilecek küçük işaretleri erken yakalamanızı sağlar. Daha sistematik bir yaklaşım için VPS log yönetimi ve merkezi loglama rehberimizi inceleyebilirsiniz.
Temel İzleme ve Uptime Kontrolü
İlk günden basit bir uptime izlemesi kurmak, beklenmedik kesintileri fark etmenizi sağlar. İsterseniz harici uptime servisleri kullanabilir, isterseniz de kendi VPS izleme altyapınızı oluşturabilirsiniz. DCHost müşterilerinin sık kullandığı yaklaşım, küçük bir Prometheus + Grafana stack’i veya hafif bir uptime aracı ile durum izlemektir.
Bu konuyla ilgili temel bir başlangıç yapmak isterseniz VPS izleme ve alarm kurulumu rehberimizi adım adım takip edebilirsiniz.
Ek Adım: Yedekleme ve Sonraki Günler İçin Yol Haritası
Yedekleme Stratejisini Ertelemeyin
Yeni bir VPS kurarken çoğu kişi önce uygulamayı yayına almayı, yedekleme konusunu ise “sonra bakarız” diye erteliyor. Ama gerçek şu ki, kritik dosya ve verileriniz bir kez kayboldu mu geriye dönmek çoğu zaman imkansız veya çok maliyetli. Bu yüzden daha ilk 24 saat içinde en azından temel bir yedekleme stratejisi tasarlamış olmanız önemli.
Genel kabul görmüş yaklaşım olan 3-2-1 yedekleme stratejisini (3 kopya, 2 farklı ortam, 1 adet farklı lokasyon) VPS ortamına nasıl uyarlayabileceğinizi, 3-2-1 yedekleme stratejisi rehberimizde detaylandırdık. İlk gün için bile, en azından:
- Konfigürasyon dosyalarının (
/etcaltı kritik dizinler gibi) bir kopyasını - İlk uygulama sürümünüzü
- Önemli script ve deployment araçlarınızı
manuel olarak farklı bir ortama (lokal bilgisayar, başka bir VPS veya object storage) kopyalamak iyi bir başlangıçtır.
Web Uygulaması Yayına Alırken Güvenlik Başlıkları
İlk 24 saat çoğunlukla sistem tarafına odaklansak da, kısa süre içinde bu VPS üzerinde bir web sitesini veya API’yi yayınlayacaksınız. Bu noktada HTTP katmanındaki güvenlik başlıkları da (HSTS, CSP, X-Frame-Options, Referrer-Policy vb.) en az OS düzeyindeki firewall kadar önemlidir.
Nginx veya Apache üzerinde bu başlıkları nasıl doğru kurgulayacağınızı öğrenmek için HTTP güvenlik başlıkları rehberimizi okuyabilir, böylece uygulama katmanını da güçlü bir güvenlik çemberine alabilirsiniz.
Özet: İlk 24 Saat İçin Pratik Kontrol Listesi
Buraya kadar anlattıklarımızı, DCHost’ta sıkça uyguladığımız pratik bir kontrol listesi haline getirelim. Yeni bir VPS aldığınızda ilk 24 saatte şu adımları tamamladığınızdan emin olun:
- İlk erişim ve parola değişikliği: SSH ile bağlan, geçici parolayı hemen değiştir.
- Sistem güncellemeleri: Tüm paketleri
apt upgradeveyadnf updateile güncelle, gerekirse reboot et. - Temel araçlar: htop, vim, curl, git gibi yönetim araçlarını kur.
- Zaman ve NTP:
timedatectlile zaman dilimini ve NTP’yi doğrula. - Yetkili kullanıcı hesabı:
deploygibi yeni bir kullanıcı oluştur, sudo yetkisi ver. - SSH anahtar tabanlı erişim: ssh-keygen ile anahtar üret, sunucuya ekle, test et.
- SSH sertleştirme:
PermitRootLogin no,PasswordAuthentication nogibi ayarları uygula. - Güvenlik duvarı: UFW veya firewalld ile sadece gereken portları aç; NFTables düşünüyorsan temel kuralları yaz.
- Fail2ban: SSH brute force saldırılarını sınırlamak için kur ve temel jail ayarını yap.
- Log ve izleme: SSH ve sistem loglarını gözden geçir, basit bir uptime/izleme mekanizması planla.
- Yedekleme: En azından konfigürasyon ve kodlar için ilk yedekleri al, 3-2-1’e giden yolu planla.
Bu adımları uyguladığınızda, VPS’iniz sadece “çalışan” bir sunucu olmaktan çıkıp, güvenli, izlenebilir ve yönetilebilir bir altyapıya dönüşür.
DCHost ile Standartlaştırılmış ve Güvenli VPS Altyapısı
DCHost’ta amacımız, yeni aldığınız her VPS’in mümkün olduğunca tekrarlanabilir ve öngörülebilir bir yapıda olması. Yani bugün küçük bir blog için kurduğunuz VPS ile yarın daha büyük bir e-ticaret projesi için kurduğunuz VPS, aynı temel güvenlik ve yönetim standartlarına sahip olmalı. Bu yazıda anlattığımız ilk 24 saatlik yol haritası, işte bu standardın ilk adımı.
Eğer bu adımları kendiniz uygulamak istiyorsanız, yukarıdaki komutlar ve referans verdiğimiz detaylı rehberler size güçlü bir başlangıç sunar. Daha yönetilen bir deneyim arıyorsanız da, DCHost ekibi olarak VPS, dedicated ve colocation çözümlerinde; güvenlik sertleştirme, güncelleme politikaları ve izleme konularında size eşlik edebiliriz.
Yeni bir VPS aldıysanız, bu yazıyı bir “check-list” gibi kullanın: Adımları tek tek işaretleyin, notlar alın, gerekiyorsa kendi iç dokümantasyonunuza uyarlayın. İlk 24 saatte attığınız bu sağlam adımlar, ileride yaşayabileceğiniz sorunların büyük kısmını daha ortaya çıkmadan çözmüş olacak.
