IHS Blog

KVM VPS Satın Aldıktan Sonra İlk Gün Yapılacak En Önemli 10 İşlem

kvm-vps-satin-aldiktan-sonra-ilk-gun-yapilacak-en-onemli-10-islem

Yeni bir KVM (Kernel-based Virtual Machine) sanal sunucu satın almak, dijital projenizi hayata geçirmek için atılan heyecan verici bir adımdır. Ancak bu boş dijital araziyi güvenli, verimli ve stabil bir yuvaya dönüştürmek için ilk andan itibaren doğru adımları atmak kritik öneme sahiptir. Tıpkı yeni bir ev aldıktan sonra yapılan kontroller ve alınan güvenlik önlemleri gibi, yeni sanal sunucunuzun da ilk kurulum ve yapılandırma işlemleri, gelecekteki performansını ve güvenliğini doğrudan etkiler. Bu rehber, KVM vps sunucunuzu teslim aldıktan sonraki ilk saatlerde ve günlerde yapmanız gereken en önemli 10 temel işlemi adım adım anlatarak, sunucunuzu daha sağlam bir temel üzerine inşa etmenize yardımcı olacaktır.

İçerik Tablosu

İlk Bağlantı ve Güvenlik Önlemleri

Sunucunuzu teslim aldığınızda ilk yapmanız gereken, güvenli bir şekilde erişim sağlamak ve temel güvenlik ayarlarını yapılandırmaktır. Bu ilk adımlar, sunucunuzun dış dünyaya karşı ilk savunma hattını oluşturur ve yetkisiz erişim girişimlerini en başından engellemeyi hedefler.

SSH Üzerinden Sunucuya İlk Erişim

Sunucu yönetimi için en temel ve güvenli yöntem SSH (Secure Shell) protokolüdür. Hizmet sağlayıcınız tarafından size iletilen IP adresi, “root” kullanıcısı ve geçici şifre ile sunucunuza ilk bağlantıyı kurmanız gerekir. Windows kullanıcıları için PuTTY gibi popüler bir SSH istemcisi, macOS ve Linux kullanıcıları için ise terminal uygulaması bu işlem için yeterlidir. Terminale ssh root@SUNUCU_IP_ADRESI komutunu yazarak ve ardından şifrenizi girerek sunucunuza güvenli bir şekilde bağlanabilirsiniz.

Varsayılan Root Şifresini Değiştirme

Güvenlik nedeniyle, hizmet sağlayıcınızın verdiği varsayılan root şifresini derhal değiştirmelisiniz. Bu şifreler genellikle otomatik olarak oluşturulur ve tahmin edilmesi kolay olabilir. Sunucuya root olarak bağlandıktan sonra passwd komutunu çalıştırarak mevcut şifrenizi ve ardından iki kez yeni, karmaşık ve güvenli bir şifreyi girerek bu kritik işlemi tamamlayabilirsiniz. Güçlü bir şifre; büyük/küçük harf, rakam ve özel karakterler içermelidir.

Sistem Paketlerini Güncelleme ve Yükseltme

Yeni kurulan bir sunucu, üzerinde gelen işletim sistemi ve yazılım paketlerinin eski sürümlerini barındırıyor olabilir. Bu eski paketler, bilinen güvenlik açıklarını içerebilir ve performans sorunlarına yol açabilir. Bu nedenle, sunucu yapılandırmasına başlamadan önce tüm sistem paketlerini en güncel sürümlerine getirmek, hem güvenlik hem de stabilite için zorunludur.

Paket Listesini Güncelleme

İşletim sisteminizin paket yöneticisine, mevcut yazılım depolarındaki en son paket listesini ve versiyon bilgilerini bildirmek için güncelleme komutunu çalıştırmalısınız. Debian ve Ubuntu tabanlı sistemlerde bu işlem sudo apt update komutu ile yapılır. Bu komut, herhangi bir yazılımı kurmaz veya yükseltmez, sadece sistemin hangi paketlerin güncellenebileceğinden haberdar olmasını sağlar.

Mevcut Paketleri En Son Sürümlerine Yükseltme

Paket listesi güncellendikten sonra, sistemde kurulu olan tüm paketleri en son kararlı sürümlerine yükseltme zamanı gelmiştir. Bu işlem, güvenlik yamalarını ve performans iyileştirmelerini içerir. Debian/Ubuntu tabanlı sistemler için sudo apt upgrade -y komutu, kurulu tüm paketleri yeni versiyonlarıyla değiştirir. “-y” parametresi, yükseltme sırasında sorulacak tüm onay sorularına otomatik olarak “evet” yanıtı vererek işlemi hızlandırır.

Standart Kullanıcı Hesabı Oluşturma ve Yetkilendirme

Sunucuyu sürekli olarak “root” kullanıcısı ile yönetmek, son derece riskli bir alışkanlıktır. Root kullanıcısı, sistem üzerinde sınırsız yetkiye sahiptir ve yapılacak en ufak bir hata bile sistemin tamamen çökmesine neden olabilir. Güvenlik ve hata riskini azaltmak için günlük işlemler için standart bir kullanıcı oluşturulmalı ve bu kullanıcıya yalnızca gerektiğinde yönetici yetkileri verilmelidir.

Root Hesabına Alternatif Yeni Bir Kullanıcı Ekleme

Sistem yönetimi için kendi kullanıcı adınızla yeni bir hesap oluşturmak, güvenli bir başlangıçtır. Örneğin, “uzman” adında bir kullanıcı oluşturmak için adduser uzman komutunu kullanabilirsiniz. Bu komut, sizden yeni kullanıcı için bir şifre belirlemenizi ve bazı temel bilgileri girmenizi isteyecektir. Bu adımdan sonra, sunucuya doğrudan bu yeni kullanıcı ile giriş yapabilirsiniz.

Yeni Kullanıcıya Sudo (Yönetici) Ayrıcalıkları Verme

Yeni oluşturulan standart kullanıcı, varsayılan olarak sistem dosyalarını değiştirme veya yazılım kurma gibi yönetici işlemleri yapamaz. Bu tür işlemler için kullanıcıya “sudo” (superuser do) yetkisi verilmesi gerekir. Bu yetki, kullanıcının komutlarının başına sudo ekleyerek geçici olarak root yetkileriyle işlem yapmasını sağlar. Debian/Ubuntu sistemlerinde, yeni kullanıcıyı sudo grubuna eklemek için usermod -aG sudo uzman komutu kullanılır. Bu değişiklikten sonra, güvenlik için sunucudan çıkış yapıp yeni kullanıcı hesabınızla tekrar giriş yapmanız önerilir.

SSH Servisini Güçlendirme (SSH Hardening)

SSH, sunucunuza uzaktan erişimin ana kapısıdır ve bu kapının olabildiğince güvenli hale getirilmesi gerekir. Varsayılan SSH ayarları, genellikle kaba kuvvet saldırıları (brute-force) gibi otomatik saldırılara karşı savunmasızdır. SSH yapılandırma dosyasında yapılacak birkaç basit değişiklik, sunucunuzun güvenliğini önemli ölçüde artırabilir.

Root Kullanıcısının SSH ile Girişini Engelleme

Saldırganların ilk hedefi her zaman “root” kullanıcısıdır. Bu nedenle, root kullanıcısının SSH üzerinden doğrudan giriş yapmasını engellemek, en temel güvenlik önlemlerinden biridir. Bunun yerine, sunucuya standart bir kullanıcı ile bağlanıp, gerektiğinde sudo komutu ile yönetici haklarına geçiş yapılmalıdır. SSH yapılandırma dosyası olan /etc/ssh/sshd_config dosyasını bir metin düzenleyici ile açıp (örneğin, sudo nano /etc/ssh/sshd_config), PermitRootLogin satırını bulup değerini no olarak değiştirmelisiniz. Bu değişiklik sonrası SSH servisini yeniden başlatmak gerekir (sudo systemctl restart ssh).

Parola Tabanlı Girişi Devre Dışı Bırakma ve SSH Anahtarı Kullanımı

Parolalar, kaba kuvvet saldırıları ile kırılabilirler. Çok daha güvenli bir yöntem, parola yerine SSH anahtar çifti (public ve private key) kullanmaktır. Bu yöntemde, yerel bilgisayarınızda bir özel anahtar (private key) bulunur ve sunucunuza bu anahtarın eşi olan bir genel anahtar (public key) kopyalanır. Bağlantı sırasında bu iki anahtar kriptografik olarak eşleştiğinde kimlik doğrulaması gerçekleşir. SSH anahtarlarını ayarladıktan sonra, yine sshd_config dosyasında PasswordAuthentication seçeneğini no olarak ayarlayarak parola ile girişi tamamen devre dışı bırakabilirsiniz. Bu, sunucunuzu parola kırma denemelerine karşı neredeyse tamamen korur.

Kimlik Doğrulama YöntemiGüvenlik SeviyesiKullanım KolaylığıEn Yaygın Tehdit
Parola Tabanlı GirişDüşük-OrtaKolayKaba Kuvvet (Brute-Force) Saldırıları
SSH Anahtar Tabanlı GirişYüksekOrta (İlk Kurulum)Özel Anahtarın (Private Key) Çalınması

Varsayılan SSH Port Numarasını Değiştirme

SSH servisi varsayılan olarak 22 numaralı portu kullanır. Otomatik saldırı botları, internet üzerindeki sunucuların doğrudan 22. portunu tarar. Bu portu, 1024 ile 65535 arasında, sık kullanılmayan başka bir port numarasıyla (örneğin, 2244) değiştirmek, bu otomatik taramalardan büyük ölçüde kurtulmanızı sağlar. sshd_config dosyasında Port 22 satırını bularak istediğiniz yeni port numarasıyla değiştirebilirsiniz. Bu değişikliği yaptıktan sonra güvenlik duvarınızda (firewall) yeni porta izin vermeyi unutmamalısınız.

Güvenlik Duvarı (Firewall) Kurulumu ve Yapılandırması

Güvenlik duvarı, sunucunuza gelen ve sunucunuzdan giden ağ trafiğini kontrol eden bir yazılımdır. Yalnızca izin verdiğiniz servislere (portlara) erişime izin vererek, yetkisiz erişim girişimlerine ve çeşitli ağ saldırılarına karşı temel bir koruma katmanı sağlar. Linux sistemler için UFW (Uncomplicated Firewall), kullanımı en kolay ve etkili güvenlik duvarı araçlarından biridir.

UFW (Uncomplicated Firewall) Kurulumu

Çoğu modern Debian ve Ubuntu dağıtımında UFW varsayılan olarak kurulu gelir. Ancak kurulu değilse, sudo apt install ufw komutu ile kolayca kurulabilir. UFW, karmaşık iptables kurallarını yönetmek için kullanıcı dostu bir arayüz sunar.

Gerekli Servisler İçin (SSH, HTTP, HTTPS) İzin Kuralları Ekleme

Güvenlik duvarını aktif etmeden önce, sunucuya erişiminizi kaybetmemek için en azından SSH bağlantısına izin vermeniz gerekir. Eğer SSH portunu değiştirdiyseniz, yeni porta izin vermelisiniz: sudo ufw allow 2244/tcp. Eğer standart portu kullanıyorsanız sudo ufw allow 'OpenSSH' komutunu kullanabilirsiniz. Web sunucusu olarak kullanacaksanız, HTTP (80) ve HTTPS (443) portlarına da izin vermelisiniz: sudo ufw allow 'WWW Full' veya ayrı ayrı sudo ufw allow http ve sudo ufw allow https komutlarıyla bu portları açabilirsiniz.

ServisPort NumarasıUFW KuralıAçıklama
SSH (Varsayılan)22/TCPsudo ufw allow sshGüvenli uzaktan yönetim erişimi.
SSH (Özelleştirilmiş Port)Örn: 2244/TCPsudo ufw allow 2244/tcpDeğiştirilmiş SSH portuna erişim izni.
HTTP80/TCPsudo ufw allow httpŞifrelenmemiş web trafiği.
HTTPS443/TCPsudo ufw allow httpsSSL ile şifrelenmiş güvenli web trafiği.

Güvenlik Duvarını Aktif Hale Getirme ve Durumunu Kontrol Etme

Gerekli tüm izin kurallarını ekledikten sonra güvenlik duvarını sudo ufw enable komutu ile aktif hale getirebilirsiniz. Bu komut, sistem başlangıcında UFW’nin otomatik olarak çalışmasını da sağlar. Güvenlik duvarının mevcut durumunu ve aktif olan kuralları görmek için sudo ufw status verbose komutunu kullanabilirsiniz. Bu komut, hangi portların hangi protokolle dinlendiğini detaylı bir şekilde listeler.

Sunucu Zaman Dilimini (Timezone) Ayarlama

Sunucunuzun zaman diliminin doğru ayarlanması, log (kayıt) dosyalarının doğru zaman damgalarıyla tutulması, zamanlanmış görevlerin (cron jobs) doğru zamanda çalışması ve uygulamalarınızın zamanla ilgili işlemlerinde tutarlılık sağlaması açısından önemlidir. Genellikle sunucular varsayılan olarak UTC (Coordinated Universal Time) zaman dilimiyle gelir.

Mevcut Zaman Dilimini Görüntüleme

Sunucunuzun o anki zaman dilimini öğrenmek için terminale timedatectl komutunu yazmanız yeterlidir. Bu komut, yerel saati, evrensel saati (UTC), zaman dilimini ve sistem saatinin senkronize olup olmadığını gösteren detaylı bir çıktı verir.

Sunucuyu Doğru Zaman Dilimine Göre Yapılandırma

Eğer sunucunuzun zaman dilimini değiştirmeniz gerekiyorsa, öncelikle mevcut tüm zaman dilimlerini listeleyebilirsiniz: timedatectl list-timezones. Listeden projenizin veya hedef kitlenizin bulunduğu coğrafyaya uygun zaman dilimini seçtikten sonra, örneğin Türkiye için, sudo timedatectl set-timezone Europe/Istanbul komutunu kullanarak ayarı kalıcı olarak değiştirebilirsiniz. Değişikliği doğrulamak için tekrar timedatectl komutunu çalıştırabilirsiniz.

Sunucu Adını (Hostname) Belirleme

Hostname (sunucu adı), sunucunuzu ağ üzerinde tanımlayan bir etikettir. Özellikle birden fazla sunucuyu yönetirken veya log dosyalarını incelerken, sunucuları kolayca ayırt edebilmek için anlamlı bir hostname belirlemek önemlidir. Genellikle bu ad, sunucunun amacını yansıtan bir isim veya projenizle ilgili bir alan adı (örneğin, srv1.alanadiniz.com) olarak seçilir.

Mevcut Hostname’i Kontrol Etme

Sunucunuzun mevcut hostname’ini görmek için hostname komutunu kullanabilirsiniz. Bu komut, sadece o anki sunucu adını ekrana basar. Daha detaylı bilgi için hostnamectl komutunu da kullanabilirsiniz.

Kalıcı Olarak Yeni Bir Hostname Tanımlama

Sunucu adını kalıcı olarak değiştirmek için sudo hostnamectl set-hostname yeni-sunucu-adi komutunu kullanın. Bu komut, değişikliği hemen uygular ve sistem yeniden başlatıldığında da kalıcı olmasını sağlar. Ayrıca, /etc/hosts dosyasını düzenleyerek, yerel ağ (loopback) adresi olan 127.0.0.1 için eski hostname yerine yeni hostname’i tanımlamanız, bazı uygulamaların düzgün çalışması için önemlidir.

Swap (Takas) Alanı Oluşturma

Sunucunuzun fiziksel RAM’i (Random Access Memory) dolduğunda, sistemin kararsız hale gelmesini veya çökmesini önlemek için bir swap alanı kullanmak hayati önem taşır. Swap alanı, sunucunuzun sabit diskinde (SSD veya HDD) ayrılan ve RAM gibi kullanılan bir bölümdür.

Swap Alanı Nedir ve Düşük RAM’li Sunucular İçin Önemi

Swap alanı, RAM’de o an aktif olarak kullanılmayan verilerin geçici olarak diske taşınmasını sağlar. Bu sayede, aktif işlemler için RAM’de daha fazla yer açılır. Özellikle düşük RAM’e sahip VDS sunucularda veya anlık RAM ihtiyacı artan uygulamalarda, swap alanı sistemin yavaşlamasına rağmen çalışmaya devam etmesini sağlayarak “Out of Memory” (Bellek Yetersiz) hatalarını engeller. Bu, disk I/O hızına bağlı olarak performansı düşürse de, sistemin tamamen durmasından çok daha iyi bir alternatiftir.

Swap Dosyası Oluşturma, İzinleri Ayarlama ve Aktifleştirme

Diskte bir bölüm ayırmak yerine, bir swap dosyası oluşturmak daha esnek bir yöntemdir. Örneğin, 4 GB’lık bir swap dosyası oluşturmak için sırasıyla şu komutlar kullanılır:
sudo fallocate -l 4G /swapfile
Ardından, bu dosyanın sadece root kullanıcısı tarafından okunup yazılabilmesi için izinleri ayarlanmalıdır:
sudo chmod 600 /swapfile
Son olarak, bu dosyayı bir swap alanı olarak biçimlendirip aktif hale getirebilirsiniz:
sudo mkswap /swapfile
sudo swapon /swapfile
Swap alanının durumunu sudo swapon --show veya free -h komutlarıyla kontrol edebilirsiniz.

Sistemin Yeniden Başlatılmasında Swap Alanının Kalıcı Olmasını Sağlama

Yukarıdaki adımlar swap alanını mevcut oturum için aktif eder. Sunucu yeniden başlatıldığında da bu alanın otomatik olarak devreye girmesi için /etc/fstab dosyasına eklenmesi gerekir. sudo nano /etc/fstab komutu ile dosyayı açın ve sonuna şu satırı ekleyin:
/swapfile none swap sw 0 0
Bu satır, sistem başlangıcında /swapfile dosyasını bir swap alanı olarak bağlayacaktır.

Kaba Kuvvet (Brute-Force) Saldırılarına Karşı Fail2Ban Kurulumu

Fail2Ban, sunucu log dosyalarını sürekli olarak izleyen ve şüpheli aktiviteleri (örneğin, çok sayıda hatalı şifre denemesi) tespit ettiğinde, saldırganın IP adresini belirli bir süre için güvenlik duvarı üzerinden engelleyen bir izinsiz giriş önleme yazılımıdır. Özellikle SSH ve diğer ağ servislerini korumak için oldukça etkilidir.

Fail2Ban Nedir ve Çalışma Prensibi

Fail2Ban, belirli kurallar (filtreler) aracılığıyla servislerin log dosyalarını (örneğin /var/log/auth.log) tarar. Bir kural, belirli bir zaman aralığında belirli bir sayıda hatalı giriş denemesi gibi bir desenle eşleştiğinde, Fail2Ban bir eylemi tetikler. Varsayılan eylem, saldırganın IP adresini güvenlik duvarına (UFW/iptables) ekleyerek engellemektir. Bu, otomatik botların şifre deneme saldırılarını büyük ölçüde etkisiz hale getirir.

Fail2Ban Kurulumu ve Temel Yapılandırması

Fail2Ban’ı Debian/Ubuntu sistemlerine kurmak için sudo apt install fail2ban komutunu çalıştırmak yeterlidir. Kurulumdan sonra servis otomatik olarak başlar. Varsayılan yapılandırma dosyası /etc/fail2ban/jail.conf dosyasını doğrudan düzenlemek yerine, bu ayarları geçersiz kılmak ve güncelleme sırasında kaybolmasını önlemek için /etc/fail2ban/jail.local adında yeni bir dosya oluşturmak en iyi pratiktir.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Daha sonra jail.local dosyasını düzenleyerek engelleme süresi (bantime), deneme sayısı (maxretry) gibi ayarları özelleştirebilirsiniz.

SSH Servisini Korumak İçin Fail2Ban Kuralını Aktif Etme

Fail2Ban kurulumu tamamlandığında, SSH (sshd) koruması genellikle varsayılan olarak etkinleştirilmiştir. /etc/fail2ban/jail.local dosyasında [sshd] bölümünün altında enabled = true satırının olduğundan emin olun. Bu ayar, Fail2Ban’in SSH loglarını izleyerek hatalı giriş denemeleri yapan IP’leri otomatik olarak engellemesini sağlar. Servisi yeniden başlatarak (sudo systemctl restart fail2ban) yeni ayarların geçerli olmasını sağlayabilirsiniz. sudo fail2ban-client status sshd komutu ile SSH kuralının durumunu ve engellenen IP’leri görebilirsiniz.

Temel Araçların Kurulumu ve Sistem İzleme

Sunucunuzun yönetimi ve sorun giderme işlemleri için bazı temel komut satırı araçlarına ihtiyacınız olacaktır. Bu araçlar, sistem kaynaklarını izlemenize, ağ bağlantılarını test etmenize ve yazılım projelerinizi yönetmenize yardımcı olur.

`htop`, `curl`, `wget`, `git` Gibi Temel Komut Satırı Araçlarını Yükleme

Bu temel araçları kurmak, sunucu yönetimini çok daha verimli hale getirir.

Bu paketleri tek bir komutla kurabilirsiniz: sudo apt install htop curl wget git -y.

`htop` ile Sistem Kaynak Kullanımını Anlık Olarak İzleme

Kurulumdan sonra, terminale sadece htop yazarak sisteminizin anlık durumunu görebilirsiniz. Bu arayüz, hangi işlemin ne kadar CPU ve bellek tükettiğini, sistemin ne kadar süredir çalıştığını (uptime) ve işlemci çekirdeklerinin anlık yük durumunu net bir şekilde gösterir. Bu, performans sorunlarını teşhis etmek için ilk başvurulacak araçlardan biridir.

Güvenli ve Performanslı KVM VPS İçin Neden İHS Telekom’u Tercih Etmelisiniz?

Doğru sunucu altyapısını seçmek, projenizin başarısı için en az yapılan teknik yapılandırmalar kadar önemlidir. İHS Telekom, Türkiye’nin en iyi VPS sağlayıcısı olarak, projelerinize sağlam ve güvenilir bir temel sunar. Güvenlik, performans ve destek konularında sunduğu üst düzey hizmetlerle öne çıkar.

Yüksek Performanslı NVMe SSD Altyapısı

Web sitenizin veya uygulamanızın hızı, doğrudan kullanıcı deneyimini ve SEO sıralamanızı etkiler. İHS Telekom, geleneksel SSD’lere göre katlarca daha hızlı okuma/yazma hızları sunan %100 NVMe SSD altyapısı kullanır. Bu sayede veritabanı sorguları, dosya işlemleri ve sayfa yükleme süreleri minimuma iner, projeniz yıldırım hızında çalışır.

Gerçek KVM Sanallaştırma ile Garantili Kaynaklar

İHS Telekom, kaynakların paylaşıldığı ve komşu sunucuların performansınızı etkileyebildiği teknolojiler yerine, tam donanım sanallaştırması sağlayan KVM teknolojisini kullanır. Bu, size atanan CPU, RAM ve disk kaynaklarının tamamen size özel ve garantili olduğu anlamına gelir. Performansınız her zaman tutarlı ve öngörülebilirdir.

7/24 Uzman Teknik Destek Hizmeti

Sunucu yönetiminde en kritik anlarda bile arkanızda güvenebileceğiniz bir uzman ekibin olması paha biçilmezdir. İHS Telekom, 7 gün 24 saat boyunca ulaşabileceğiniz, alanında uzman ve çözüm odaklı teknik destek ekibi ile her türlü sorununuzda anında yanınızdadır. Yaşayabileceğiniz herhangi bir teknik aksaklıkta profesyonel yardım sadece bir telefon veya tiket uzağınızdadır.

Gelişmiş Ağ Altyapısı ve DDoS Koruması

Kesintisiz erişilebilirlik, online projelerin can damarıdır. İHS Telekom, yedekli ve yüksek kapasiteli ağ altyapısı ile maksimum uptime oranı sunar. Ayrıca, sitenizi veya uygulamanızı hedef alabilecek kötü niyetli DDoS saldırılarına karşı sunduğu gelişmiş koruma hizmetleri ile projenizin her zaman ayakta ve güvende kalmasını sağlar.

Exit mobile version