Windows VDS kurulumu tamamlandığında sistem çalışır durumdadır. Ancak bu durum, sunucunun güvenli ve kontrol edilebilir olduğu anlamına gelmez. Varsayılan kullanıcı ve yetki ayarlarıyla kullanılan sistemler zamanla güvenlik riskleri oluşturur. Bu yazıda, Windows VDS üzerinde ilk yapılması gereken kullanıcı ayarlarını ve yetki düzenini ele alacağız.
İlk Girişteki Administrator Hesabı
Sunucuya ilk bağlandığında aktif kullanıcı genellikle Administrator olur. Bu hesap, sistemdeki tüm yetkilere sahiptir ve dışarıdan en çok hedef alınan hesaptır.
Öncelikle Administrator hesabının gerçekten aktif olduğunu kontrol etmemiz gerekir. Bunu PowerShell üzerinden net şekilde görebiliriz.
net user AdministratorBurada hesabın aktif olup olmadığı, parola süresi ve son oturum bilgileri görünür. Bu hesabı kullanmaya devam etmek yerine, ayrı bir yönetici kullanıcı oluşturmak gerekir.

- Günlük kullanım hesabı olmamalıdır.
- Tarayıcıyla internete çıkmak için kullanılmamalıdır.
- Kontrol paneli kurulumu dışında sürekli aktif tutulmamalıdır.
Ayrı Bir Admin Hesabı Oluşturalım
Administrator yerine günlük yönetim için ayrı bir admin kullanıcı oluşturmak gerekir. Bu hem güvenlik hem de log takibi açısından kritiktir.
PowerShell üzerinden kullanıcı oluşturmak için komutu kullanalım.
net user vdsadmin GüçlüBirŞifre123! /addArdından bu kullanıcıyı Administrator grubuna ekleyelim.
net localgroup administrators vdsadmin /add
Günlük kullanımda neden standart kullanıcı gerekir?
Windows VDS’te en sık yapılan hatalardan biri, her kullanıcıyı admin yapmaktır. İlk başta pratik gibi görünür ancak uzun vadede sistem bozulmalarının temel sebebidir.
Günlük kullanım, uygulama testleri veya dosya işlemleri için standart kullanıcı oluşturmak gerekir.
net user appuser GüçlüBirŞifre456! /add⚠️Bu kullanıcıyı herhangi bir yönetici grubuna eklemiyoruz. Eğer belirli bir klasöre erişmesi gerekiyorsa NTFS izinleri üzerinden yetki verebiliriz.
Servisler neden Administrator hesabıyla çalışmamalı?
Bir servisin Administrator ile çalışması demek, o servisteki bir hatanın tüm sistemi etkilemesi demektir.
New-LocalUser "svc-app" -Password (Read-Host -AsSecureString)Servislerin durması veya reboot sonrası açılmaması her zaman yetki sorunlarından kaynaklanmaz. Windows sanal sunucularda disk hataları bu duruma neden olabilir. Bu nedenle Windows sanal sunucuda disk taraması için CHKDSK ile dosya sistemi kontrol edilerek sorunun kaynağı netleştirilmelidir.
RDP Erişimini Kontrol Edelim
Windows VDS’lerde en sık hedef alınan servis uzak masaüstüdür. Bunun nedeni RDP‘nin dış bağlantılara açılan bi yol olmasıdır. Bu yüzden sadece açık olup olmaması değil, kimin erişebildiği de önemlidir.
RDP yetkisi olan kullanıcıları kontrol etmek için komutu kullanalım.
Get-LocalGroupMember "Remote Desktop Users"Gerçekten bağlanması gerekmeyen kullanıcılar bu grupta olmamalıdır. Özellikle Administrator hesabı ile sürekli RDP yapılması önerilmez.
Kullanıcı Ve Servislerde Firewall Yapılandırması
VDS’te firewall çoğu zaman sadece port açma aracı gibi görülür. Aslında firewall, kullanıcı ve servis erişiminin devamıdır.
Örneğin RDP için açık olan 3389 portunu kontrol edelim.
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Remote Desktop*"}Belirli bir portu sadece ihtiyaç varsa açmak için komutu kullanalım.
New-NetFirewallRule -DisplayName "Allow RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action AllowFirewall tarafında önemli olan, her portun neden açık olduğunun bilinmesidir. Kullanılmayan servislerin portları açık bırakılmamalıdır.

Firewall’da bir portun açık olması, o portun gerçekten dinlendiği anlamına gelmez. Servisin ilgili portu kullanıp kullanmadığını görmek için sistemde aktif bağlantılar kontrol edilmelidir. Bu noktada Windows’ta netstat komutu ile port kontrolü, firewall ve servis yapılandırmasının doğru çalışıp çalışmadığını hızlıca anlamayı sağlar.
UAC Ayarlarının Yapılandırması
Çoğu kullanıcı, çıkan onay pencerelerini gereksiz görür ve UAC’yi tamamen kapatır. Oysa UAC, yetki yükseltme sürecini kontrol eder. Bir uygulama sistem seviyesinde işlem yapmak istediğinde kullanıcıdan onay ister. Bu onay mekanizması kapatıldığında, zararlı bir yazılım sessizce sistem yetkisi alabilir.
Bu yüzden Windows VDS’te ilk yapılması gereken şey UAC’yi kapatmak değil de aktif tutmaktır. Bu ayar performansı değil, güvenliği ilgilendirir.


UAC ayarlarını kontrol etmek için aşağıdaki komutu kullanalım. Çıkan sonuç EnableLUA = 1 olmalıdır.
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\SystemWindows VDS’te SSH neden gereklidir?
Windows Server sürümleri aslında OpenSSH desteğiyle gelir.
SSH ile GUI açmadan PowerShell komutları çalıştırılabilir, servisler kontrol edilebilir, acil durumlarda RDP’ye alternatif erişim sağlanılabilir.
Windows VDS’te OpenSSH kurulumu
Önce OpenSSH yüklü mü kontrol edelim.
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'Yüklü değilse
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service sshd -StartupType AutomaticBu noktadan sonra Windows VDS SSH bağlantılarını kabul eder.
SSH erişimi kimlerle sınırlanmalı?
SSH herkese açık bırakılmamalıdır. Servis kullanıcıları veya panel kullanıcılarının SSH ile bağlanabilmesi ciddi bir güvenlik riskidir.
C:\ProgramData\ssh\sshd_configSadece gerekli kullanıcıya izin vermek için komutu kullanalım.
AllowUsers vds-adminDeğişiklikten sonra yeniden başlatalım.
Restart-Service sshdSık Sorulan Sorular
Yeni kullanıcı oluşturdum ama RDP ile bağlanamıyorum?
Bu genelde kullanıcı oluşturulup RDP yetkisi verilmediğinde olur. Windows’ta bir kullanıcı admin olsa bile otomatik olarak RDP izni olmayabilir. Çözüm olarak kullanıcıyı Remote Desktop Users grubuna eklemek gerekir.
Add-LocalGroupMember -Group "Remote Desktop Users" -Member vds-adminFirewall kapalı sandım ama bazı portlara erişemiyorum?
Windows Firewall tamamen kapalı gibi görünse bile aktif bir ağ profili üzerinden kural uyguluyor olabilir. Önce aktif profil kontrol edilmelidir.
Get-NetConnectionProfileArdından ilgili port için gerçekten inbound kural var mı bakılır.
Get-NetFirewallRule | Where-Object {$_.Direction -eq "Inbound" -and $_.Enabled -eq "True"}Port açtığını sanıp açmayan kullanıcıların çoğu burada takılır.
Plesk kurulu ama panelden yaptığım ayarlar bazen geçerli olmuyor?
Bu neredeyse her zaman Windows tarafında fazla admin kullanıcı olmasından kaynaklanır. Panel ayarı yapılır ama başka bir admin kullanıcı Windows tarafında üzerine yazar.
Get-LocalGroupMember Administrators