sunucu.com.tr
Güvenlik

RDP sunucu erişimini WireGuard VPN arkasına alma: Windows Server'da 3389'u internete kapatıp yalnız tünelden bağlanma

RDP sunucu erişimini WireGuard tüneline taşıyın. Windows Server'a WireGuard kurma, her kullanıcıya ayrı anahtar verme, 3389'u yalnız tünel alt ağına açan PowerShell kuralı, kendinizi kilitlemeden varsayılan kuralları kapatma ve dışarıdan bash betiğiyle doğrulama adım adım anlatılıyor.

13 dk okuma

Logo, Mikro ya da başka bir iş programını çalıştırdığınız RDP sunucu internete 3389 portuyla açıksa, parola deneme saldırılarının ve RDP açıklarının doğrudan hedefindedir. Bu rehber, kiralık ya da kendi Windows Server'ınızı kullanan KOBİ sahipleri ve sistem yöneticileri için hazırlandı. Amaç şu: 3389'u internete tamamen kapatmak, uzak masaüstüne yalnız WireGuard tünelinden bağlanmak. Adımlar, kendinizi sunucunun dışında bırakmayacak bir sırayla verildi.

Neden RDP sunucuda 3389 internete açık kalmamalı

İnternete açık bir 3389 portu, tarama araçları tarafından kısa sürede bulunur. Ardından gelenler bellidir: kullanıcı adı ve parola denemeleri, hesap kilitlenmeleri, günlükleri dolduran başarısız oturum açma kayıtları ve yama yapılmamış bir RDP açığı varsa doğrudan sızma girişimi. NLA ve güçlü parola riski azaltır ama portu görünmez yapmaz.

WireGuard bu tabloyu değiştirir. WireGuard, doğru anahtarla imzalanmamış paketlere hiç yanıt vermez. Dışarıdan bakan biri UDP 51820'nin açık olup olmadığını bile anlayamaz. RDP ise yalnız tünelin içindeki özel adreste (örnekte 10.66.66.1) dinlenir. Parola sızsa bile saldırganın önce geçerli bir WireGuard anahtarına sahip olması gerekir.

NLA, hesap kilitleme ilkesi ve MFA gibi diğer katmanları uzak masaüstü sunucu güvenliği rehberinde ayrıca ele aldık. WireGuard bunların yerine geçmez, onların önüne ek bir kapı koyar.

WireGuard mı, RD Gateway mi, IP kısıtlaması mı?

Üç yaygın yöntem var. Seçimi şu ölçütlere göre yapın:

  • IP kısıtlaması: Tüm kullanıcılar sabit IP'li bir ofisten bağlanıyorsa en basit yoldur. 3389'u yalnız ofisin IP'sine açarsınız. Evden, sahadan ya da mobil hattan bağlananlar varsa yetersiz kalır, çünkü bu adresler sürekli değişir.
  • RD Gateway: RDP'yi HTTPS (443) içinde taşır. Geçerli bir sertifika, ek rol kurulumu ve bakım ister. Kullanıcı yalnız tarayıcı ya da 443'e izin veren bir ağdaysa (otel, misafir Wi-Fi) avantajlıdır. MFA entegrasyonu için daha olgun bir seçenektir.
  • WireGuard: Kurulumu hafif, her cihaza ayrı anahtar verilir, ayrılan bir çalışanın erişimi tek satırla kaldırılır. Dezavantajı: UDP kullandığı için bazı kurumsal ve misafir ağları tüneli engelleyebilir.

Kullanıcıların çoğu ofisten ve evden bağlanıyor, sayıları da birkaç ile birkaç düzine arasındaysa WireGuard iyi bir dengedir. Tek bir sunucu yerine birden çok sunucuya erişim yönetecekseniz merkezi bir kurumsal VPN yapısı düşünmeye değer.

Ön koşullar

  • Windows Server 2019, 2022 ya da 2025 ve yönetici yetkisi.
  • Sağlayıcınızın panelinden konsol erişimi (VNC, KVM ya da web konsolu). Güvenlik duvarı adımında bir hata olursa sunucuya yalnız buradan girebilirsiniz. Başlamadan önce konsolun çalıştığını deneyin.
  • Sağlayıcı tarafında ayrıca bir ağ güvenlik duvarı varsa UDP 51820'ye izin veren kural.
  • Tünel için çakışmayan bir özel alt ağ. Örnekte 10.66.66.0/24 kullanılıyor. Ofis ya da ev ağınız 10.66.66.x kullanıyorsa başka bir aralık seçin.
  • Sunucunun genel IP'si. Örnekte belge amaçlı 192.0.2.10 adresi geçiyor.

Windows Server'a WireGuard kurulumu ve anahtar üretimi

WireGuard'ı projenin resmi Windows kurulum paketiyle kurun ve paketi yalnız WireGuard'ın kendi sitesinden indirin; üçüncü taraf indirme sitelerinden alınan kopyalara güvenmeyin. Kurulumdan sonra C:\Program Files\WireGuard altında wireguard.exe ve wg.exe bulunur.

Aşağıdaki betik Windows Server 2019/2022/2025 ve PowerShell 5.1 için hazırlandı. Yönetici PowerShell'de çalıştırın. Yaptıkları: sunucu anahtarını üretir (zaten varsa dokunmaz), yapılandırma klasörünü yalnız Administrators ve SYSTEM okuyacak şekilde kilitler, tüneli Windows hizmeti olarak kurar ve UDP 51820'ye gelen trafiğe izin verir. Tekrar çalıştırılabilir. Geri almak için: & 'C:\Program Files\WireGuard\wireguard.exe' /uninstalltunnelservice wg0 ve Remove-NetFirewallRule -Name 'WG-RDP-UDP-IN'.

powershell
# wg-sunucu-kur.ps1 : WireGuard sunucu tarafı kurulum (idempotent)
$ErrorActionPreference = 'Stop'
$wgDir   = 'C:\Program Files\WireGuard'
$wg      = Join-Path $wgDir 'wg.exe'
$wgExe   = Join-Path $wgDir 'wireguard.exe'
$confDir = 'C:\ProgramData\WireGuardRDP'
$conf    = Join-Path $confDir 'wg0.conf'      # dosya adı = tünel adı (wg0)
$port    = 51820                              # WireGuard dinleme portu
$tunelIP = '10.66.66.1/24'                    # sunucunun tünel adresi

if (-not (Test-Path $wg)) { throw "WireGuard kurulu değil: $wg" }

# Klasörü oluştur, yalnız Administrators (S-1-5-32-544) ve SYSTEM (S-1-5-18) erişsin
New-Item -ItemType Directory -Path $confDir -Force | Out-Null
icacls $confDir /inheritance:r /grant:r "*S-1-5-32-544:(OI)(CI)F" "*S-1-5-18:(OI)(CI)F" | Out-Null

# Anahtar ve yapılandırma yalnız ilk çalıştırmada üretilir
if (-not (Test-Path $conf)) {
    $priv = (& $wg genkey).Trim()
    $pub  = ($priv | & $wg pubkey).Trim()
    @"
[Interface]
PrivateKey = $priv
Address = $tunelIP
ListenPort = $port
"@ | Set-Content -Path $conf -Encoding ASCII
    Set-Content -Path (Join-Path $confDir 'sunucu.pub') -Value $pub -Encoding ASCII
}

# Tünel hizmeti yoksa kur (hizmet adı: WireGuardTunnel$wg0)
if (-not (Get-Service -Name 'WireGuardTunnel$wg0' -ErrorAction SilentlyContinue)) {
    & $wgExe /installtunnelservice $conf
    Start-Sleep -Seconds 3
}

# WireGuard UDP portuna gelen trafiğe izin ver
if (-not (Get-NetFirewallRule -Name 'WG-RDP-UDP-IN' -ErrorAction SilentlyContinue)) {
    New-NetFirewallRule -Name 'WG-RDP-UDP-IN' -DisplayName 'WireGuard UDP 51820' `
        -Direction Inbound -Protocol UDP -LocalPort $port -Action Allow -Profile Any | Out-Null
}

Write-Host "Sunucu genel anahtarı:" (Get-Content (Join-Path $confDir 'sunucu.pub'))
& $wg show wg0

Çıktının sonunda interface: wg0, public key ve listening port: 51820 satırlarını görmelisiniz. Genel anahtarı not edin; istemcilere bu verilecek. Özel anahtar (PrivateKey) sunucudan hiç çıkmamalı.

Hizmetin kurulup çalıştığını Get-Service 'WireGuardTunnel$wg0' ile de kontrol edin; durum Running olmalı.

İstemci yapılandırması: ofis ve evden çalışanlar için ayrı eşler

Her cihaza ayrı bir eş (peer) ve ayrı bir tünel adresi verin. Ortak tek bir anahtarı herkese dağıtmayın: bir dizüstü kaybolduğunda ya da biri işten ayrıldığında yalnız onun anahtarını kaldırabilmelisiniz.

Basit bir adres planı işinizi kolaylaştırır:

Cihaz Tünel adresi
Sunucu 10.66.66.1
Muhasebe ofis PC 10.66.66.11
Patron dizüstü 10.66.66.12
Ev çalışanı 1 10.66.66.21

Windows ve macOS istemcileri

WireGuard uygulamasında "Boş tünel ekle" seçeneği anahtar çiftini kendisi üretir. Yapılandırmayı şöyle tamamlayın:

ini
[Interface]
PrivateKey = (uygulamanın ürettiği özel anahtar)
Address = 10.66.66.11/32
MTU = 1380

[Peer]
PublicKey = SUNUCU_GENEL_ANAHTARI
Endpoint = 192.0.2.10:51820
AllowedIPs = 10.66.66.1/32
PersistentKeepalive = 25

AllowedIPs = 10.66.66.1/32 yalnız sunucuya giden trafiğin tünelden geçmesini sağlar. Kullanıcının internet trafiği eskisi gibi kendi bağlantısından akar. DNS satırı eklemeyin; RDP'ye IP ile bağlanılacağı için gerekmez ve yanlış DNS istemcinin internetini bozabilir.

Linux istemci için bash betiği

Aşağıdaki betik Ubuntu 24.04 ve Debian 12 için hazırlandı. wireguard-tools paketini kurar, /etc/wireguard/wg-rdp.conf dosyası yoksa anahtar üretip oluşturur, varsa dokunmaz ve sunucuya eklenecek genel anahtarı yazdırır. SUNUCU_GENEL_ANAHTARI ve adresleri kendi değerlerinizle değiştirin. Geri almak için: wg-quick down wg-rdp ve ardından yalnız /etc/wireguard/wg-rdp.conf dosyasını silin.

bash
#!/usr/bin/env bash
# rdp-wg-istemci.sh : Linux istemci için WireGuard tüneli hazırlar (idempotent)
set -euo pipefail

SUNUCU_GENEL_IP="192.0.2.10"           # sunucunun genel IP'si (örnek adres)
SUNUCU_PUB="SUNUCU_GENEL_ANAHTARI"     # wg-sunucu-kur.ps1 çıktısındaki anahtar
ISTEMCI_TUNEL_IP="10.66.66.21"         # bu cihaza ayrılan tünel adresi
SUNUCU_TUNEL_IP="10.66.66.1"
WG_PORT=51820
CONF="/etc/wireguard/wg-rdp.conf"

# root kontrolü
[ "$(id -u)" -eq 0 ] || { echo "Betiği sudo ile çalıştırın."; exit 1; }

# wg komutu yoksa paketi kur
if ! command -v wg >/dev/null 2>&1; then
    apt-get update && apt-get install -y wireguard-tools
fi

# Oluşan dosyalar yalnız root tarafından okunabilsin
umask 077

if [ ! -f "$CONF" ]; then
    PRIV="$(wg genkey)"
    cat > "$CONF" <<EOF
[Interface]
PrivateKey = ${PRIV}
Address = ${ISTEMCI_TUNEL_IP}/32
MTU = 1380

[Peer]
PublicKey = ${SUNUCU_PUB}
Endpoint = ${SUNUCU_GENEL_IP}:${WG_PORT}
AllowedIPs = ${SUNUCU_TUNEL_IP}/32
PersistentKeepalive = 25
EOF
    echo "Yapılandırma oluşturuldu: $CONF"
else
    echo "Yapılandırma zaten var, değiştirilmedi: $CONF"
fi

echo "Bu istemcinin genel anahtarı (sunucuya eş olarak eklenecek):"
awk '/^PrivateKey/ {print $3}' "$CONF" | wg pubkey
echo "Tüneli açmak için: wg-quick up wg-rdp"

Eşleri sunucuya ekleme

Her istemcinin genel anahtarını sunucudaki wg0.conf dosyasının sonuna ekleyin ve hizmeti yeniden başlatın. Aşağıdaki PowerShell parçası aynı anahtar zaten varsa ikinci kez eklemez. Bir eşi kaldırmak için ilgili [Peer] bloğunu dosyadan silip hizmeti yeniden başlatmanız yeterlidir.

powershell
# wg-es-ekle.ps1 : sunucuya yeni eş ekler (aynı anahtar varsa atlar)
$conf   = 'C:\ProgramData\WireGuardRDP\wg0.conf'
$ad     = 'ev-calisani-1'                    # yalnız açıklama
$anahtar = 'ISTEMCI_GENEL_ANAHTARI'          # istemcinin genel anahtarı
$ip     = '10.66.66.21/32'                   # istemcinin tünel adresi

if (Select-String -Path $conf -SimpleMatch $anahtar -Quiet) {
    Write-Host "Bu eş zaten tanımlı: $ad"
} else {
    Add-Content -Path $conf -Encoding ASCII -Value "`r`n[Peer]`r`n# $ad`r`nPublicKey = $anahtar`r`nAllowedIPs = $ip"
    Restart-Service -Name 'WireGuardTunnel$wg0'
    Write-Host "Eklendi: $ad ($ip)"
}

Güvenlik duvarı: 3389'u yalnız tünel alt ağına açan PowerShell kuralı

Kendinizi kilitlemeyin. Bu bölümde Windows Defender Güvenlik Duvarı kurallarını değiştiriyorsunuz. Tünel kuralını ekleyip tünelden RDP ile bağlanabildiğinizi görmeden genel RDP kurallarını kapatırsanız sunucuya uzak masaüstüyle erişiminizi kaybedersiniz. O durumda tek yol sağlayıcı panelindeki konsol erişimidir. Başlamadan önce konsolun açıldığını doğrulayın.

İlk adımda yalnız izin ekliyoruz, hiçbir şeyi kapatmıyoruz. Kural, RDP portunu kayıt defterinden okur (portu değiştirdiyseniz onu kullanır) ve TCP ile UDP'yi yalnız tünel alt ağından, yalnız sunucunun tünel adresinde açar. UDP kuralı RDP'nin daha akıcı çalışmasını sağlar; olmazsa bağlantı TCP'ye düşer. Windows Server 2019/2022/2025 ve PowerShell 5.1 için hazırlandı. Geri almak için: Remove-NetFirewallRule -Name 'WG-RDP-TCP-IN','WG-RDP-UDPRDP-IN'.

powershell
# rdp-tunel-kurali.ps1 : RDP'yi yalnız WireGuard alt ağına açar (idempotent)
$rdpPort = (Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp').PortNumber
$altAg   = '10.66.66.0/24'   # tünel alt ağı
$yerelIP = '10.66.66.1'      # sunucunun tünel adresi

foreach ($p in @(@{N='WG-RDP-TCP-IN';P='TCP'}, @{N='WG-RDP-UDPRDP-IN';P='UDP'})) {
    if (-not (Get-NetFirewallRule -Name $p.N -ErrorAction SilentlyContinue)) {
        New-NetFirewallRule -Name $p.N -DisplayName "RDP yalnız tünel ($($p.P) $rdpPort)" `
            -Direction Inbound -Protocol $p.P -LocalPort $rdpPort `
            -RemoteAddress $altAg -LocalAddress $yerelIP -Action Allow -Profile Any | Out-Null
    }
}
Get-NetFirewallRule -Name 'WG-RDP-*' | Select-Object Name, DisplayName, Enabled

-Profile Any önemli. Windows, WireGuard bağdaştırıcısını çoğu zaman "Ortak" (Public) ağ olarak işaretler. Kuralı yalnız "Etki alanı" ya da "Özel" profile bağlarsanız tünelden gelen bağlantı reddedilir. Parametrelerin tam listesi için Microsoft'un New-NetFirewallRule belgesine bakabilirsiniz.

Şimdi istemcide tüneli açın ve uzak masaüstü istemcisinde adres olarak 10.66.66.1 yazarak bağlanın. Bu bağlantı çalışmadan sonraki bölüme geçmeyin.

Varsayılan RDP kurallarını kapatma ve erişimi doğrulama

Windows'un hazır "Uzak Masaüstü" kuralları 3389'u her adrese açar. Sistem dili Türkçe ya da İngilizce olabileceği için kuralları adla değil port üzerinden buluyoruz. Betik önce 15 dakika sonra kuralları geri açacak bir zamanlanmış görev kurar. Bir şey ters giderse beklemeniz yeterlidir; erişim kendiliğinden geri gelir. Kapatılan kuralların listesi de geri yükleme için dosyaya yazılır.

Windows Server 2019/2022/2025 ve PowerShell 5.1 için hazırlandı. Tünelden bağlı bir RDP oturumunda çalıştırın, genel IP üzerinden bağlıyken değil.

powershell
# rdp-genel-kapat.ps1 : 3389'u her yere açan izin kurallarını devre dışı bırakır
$rdpPort = (Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp').PortNumber
$kayit   = 'C:\ProgramData\WireGuardRDP\kapatilan-kurallar.xml'

# Bizim WG-RDP-* kurallarımız dışında, RDP portuna izin veren etkin gelen kuralları bul
$hedef = Get-NetFirewallRule -Direction Inbound -Action Allow -Enabled True |
    Where-Object { $_.Name -notlike 'WG-RDP-*' } |
    Where-Object { ($_ | Get-NetFirewallPortFilter).LocalPort -contains "$rdpPort" }

if (-not $hedef) { Write-Host "Kapatılacak genel RDP kuralı yok."; return }
$hedef | Select-Object Name, DisplayName | Format-Table -AutoSize
$hedef | Select-Object Name | Export-Clixml -Path $kayit

# Güvenlik ağı: 15 dakika sonra kuralları geri açan tek seferlik görev
$isimler = ($hedef.Name | ForEach-Object { "'$_'" }) -join ','
$eylem = New-ScheduledTaskAction -Execute 'powershell.exe' `
    -Argument "-NoProfile -Command `"Enable-NetFirewallRule -Name $isimler`""
$tetik = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(15)
Register-ScheduledTask -TaskName 'RDP-Guvenlik-Agi' -Action $eylem -Trigger $tetik `
    -User 'SYSTEM' -RunLevel Highest -Force | Out-Null

$hedef | Disable-NetFirewallRule
Write-Host "Genel RDP kuralları kapatıldı. Her şey yolundaysa güvenlik ağını silin:"
Write-Host "Unregister-ScheduledTask -TaskName 'RDP-Guvenlik-Agi' -Confirm:`$false"

Tünelden yeni bir RDP oturumu açabildiğinizi ve dışarıdan 3389'un kapalı olduğunu doğruladıktan sonra Unregister-ScheduledTask satırını çalıştırın. Aksi halde 15 dakika sonra kurallar yeniden açılır. Kalıcı olarak geri dönmek isterseniz: Import-Clixml $kayit | ForEach-Object { Enable-NetFirewallRule -Name $_.Name }.

Betik yalnız portu açıkça 3389 olan kuralları bulur. Portu "Herhangi" olan geniş bir izin kuralınız varsa (ör. bir yazılım kurulumunun eklediği "tüm gelen trafiğe izin ver" kuralı) o da 3389'u açık tutar. Get-NetFirewallRule -Direction Inbound -Action Allow -Enabled True çıktısını bir kez gözle de kontrol edin. Sağlayıcı panelinde ağ güvenlik duvarı varsa oradaki 3389 iznini de kaldırın.

Doğrulama

Sunucuda & 'C:\Program Files\WireGuard\wg.exe' show wg0 komutu her eş için latest handshake satırı göstermeli. Bu satır yoksa tünel hiç kurulmamıştır.

Windows istemcide:

powershell
Test-NetConnection 10.66.66.1 -Port 3389     # TcpTestSucceeded : True beklenir
Test-NetConnection 192.0.2.10 -Port 3389     # TcpTestSucceeded : False beklenir

Linux istemcide aynı kontrolü bash ile yapabilirsiniz. Betik Ubuntu 24.04 ve Debian 12 için hazırlandı, sistemde değişiklik yapmaz:

bash
#!/usr/bin/env bash
# rdp-kontrol.sh : genel IP'de RDP kapalı, tünelde açık mı?
SUNUCU_GENEL_IP="192.0.2.10"
SUNUCU_TUNEL_IP="10.66.66.1"
PORT=3389

# 5 saniye içinde TCP bağlantısı kurulabiliyorsa 0 döner
dene() { timeout 5 bash -c "exec 3<>/dev/tcp/$1/$2" 2>/dev/null; }

if dene "$SUNUCU_GENEL_IP" "$PORT"; then
    echo "UYARI: $SUNUCU_GENEL_IP:$PORT internetten hâlâ AÇIK"
else
    echo "TAMAM: $SUNUCU_GENEL_IP:$PORT internetten kapalı"
fi

if dene "$SUNUCU_TUNEL_IP" "$PORT"; then
    echo "TAMAM: tünel üzerinden $SUNUCU_TUNEL_IP:$PORT erişilebilir"
else
    echo "HATA: tünelden RDP'ye ulaşılamıyor (wg show ile el sıkışmayı kontrol edin)"
fi

Genel IP kontrolünü mümkünse sunucuya hiç izin verilmemiş başka bir ağdan (ör. telefonun mobil hattı) da tekrarlayın.

Sık hatalar: tünel ayakta ama RDP bağlanmıyor

  • El sıkışma yok: latest handshake görünmüyorsa sorun RDP'de değil tüneldedir. Sağlayıcının ağ güvenlik duvarında UDP 51820'yi, Endpoint adresini ve anahtarların doğru eşlendiğini kontrol edin. En sık hata, sunucunun özel anahtarını istemciye ya da istemcinin özel anahtarını sunucuya yazmaktır. Her iki tarafa da karşı tarafın genel anahtarı girilir.
  • El sıkışma var, RDP zaman aşımına uğruyor: Güvenlik duvarı kuralı yanlış profile bağlıdır ya da -LocalAddress sunucunun tünel adresiyle eşleşmiyordur. Get-NetIPAddress -InterfaceAlias wg0 ile adresi kontrol edin.
  • Bağlanıyor ama siyah ekranda donuyor: Tipik MTU sorunudur. PPPoE fiber, mobil hat ya da ikinci bir VPN üzerinden bağlanan istemcilerde büyük paketler parçalanır. İstemcide MTU = 1380 deneyin, düzelmezse 1280'e düşürün.
  • AllowedIPs çakışması: İki eşe aynı tünel adresini verirseniz son bağlanan diğerini düşürür. Adres tablosunu güncel tutun.
  • Tüm trafik tünele gidiyor: İstemcide AllowedIPs = 0.0.0.0/0 yazılmışsa kullanıcının interneti sunucu üzerinden çıkmaya çalışır ve kesilir. Yalnız 10.66.66.1/32 yazın.
  • Güvenlik ağı görevi unutuldu: 15 dakika sonra genel kurallar geri açılır. Doğrulamadan sonra görevi silmeyi unutmayın.

Logo ve Mikro kullanıcıları için pratik kurulum önerileri

Logo ya da Mikro istemcisi zaten RDP sunucusunun içinde çalışıyorsa dışarıya yalnız RDP açılması yeterlidir. SQL Server'ın 1433 portunu internete hiçbir koşulda açmayın. Şube bilgisayarlarında program doğrudan SQL'e bağlanıyorsa, 1433'ü de yukarıdaki kural mantığıyla yalnız tünel alt ağına açın.

Muhasebe ofisinde çok sayıda bilgisayar varsa her birine ayrı WireGuard kurmak yerine, WireGuard destekleyen bir ofis yönlendiricisi tek eş olarak bağlanabilir. Bu durumda yönlendiricinin ofis ağına NAT yapması gerekir ve ofisteki herkes sunucuya erişir. Kişi bazında iz sürmek istiyorsanız cihaz başına eş daha doğru kalır.

İşten ayrılan çalışanın Windows hesabını kapatmak yetmez: WireGuard eşini de kaldırın. Eş listesini ve adres tablosunu aynı belgede tutmak bu adımın unutulmasını engeller. Tünel açık olsa bile fidye yazılımı riski devam eder; programın yedeğini sunucudan bağımsız bir yerde saklayın.

Bu yapıyı kendiniz kurup işletmek yerine hazır almak isterseniz uzak masaüstü çözümü sayfasında ekip için sunucu tarafını inceleyebilirsiniz. Yeni bir sunucuyla başlayacaksanız lisanslı ve RDP'si hazır bir Windows sunucu üzerinde aynı adımlar birebir uygulanır.

Sık sorulan sorular

WireGuard kurunca RDP lisansı ya da kullanıcı sayısı değişir mi?

Hayır. WireGuard yalnız ağ katmanında çalışır. Aynı anda ikiden fazla kullanıcı bağlanacaksa RD Session Host rolü ve RDS CAL ihtiyacı, tünel olsa da olmasa da aynıdır.

RDP portunu 3389'dan başka bir porta taşımak yetmez mi?

Port değiştirmek tarama gürültüsünü azaltır ama portu gizlemez; tarayıcılar tüm portları dolaşabilir. Tünel arkasına almak, portu internetten tamamen kaldırdığı için çok daha güçlü bir önlemdir. Port değiştirdiyseniz betikler yeni portu kayıt defterinden okur.

Kullanıcı misafir Wi-Fi'da tünele bağlanamıyor, ne yapmalıyım?

Bazı ağlar giden UDP trafiğini engeller. Önce telefonun mobil hattından deneyerek sorunun ağda olduğunu doğrulayın. Kalıcı çözüm gerekiyorsa sunucuda WireGuard portunu sık engellenmeyen bir UDP portuna taşıyabilir ya da bu kullanıcılar için RD Gateway gibi 443 üzerinden çalışan bir yöntem ekleyebilirsiniz.

Sunucu yeniden başlayınca tünel kendiliğinden açılır mı?

Evet. /installtunnelservice ile kurulan tünel, otomatik başlayan bir Windows hizmetidir. Yeniden başlatmadan sonra Get-Service 'WireGuardTunnel$wg0' komutunun Running döndürdüğünü kontrol edin.

Sunucuya erişimi kaybedersem ne yapmalıyım?

Sağlayıcı panelindeki konsoldan oturum açın ve Import-Clixml satırıyla kapattığınız kuralları geri açın ya da güvenlik ağı görevinin çalışmasını bekleyin. Bu yüzden konsol erişimini işe başlamadan önce denemek şarttır.

Sonuç

Sıra şöyle: WireGuard'ı hizmet olarak kurun, her cihaza ayrı eş verin, 3389'u yalnız tünel alt ağına açın, tünelden bağlandığınızı görün, ancak ondan sonra genel RDP kurallarını güvenlik ağıyla kapatın. Son adımda dışarıdan 3389'un kapalı, tünelden açık olduğunu doğrulayın. Bu düzenle RDP sunucu internetten görünmez olur, erişimi de cihaz bazında açıp kapatabilirsiniz.

  • #rdp sunucu
  • #wireguard
  • #windows server
  • #uzak masaüstü
  • #güvenlik duvarı
  • #vpn
  • #logo ve mikro

Yazar

Kurucu, sunucu.com.tr · Bulut altyapısı ve yapay zeka otomasyonları

sunucu.com.tr ve Sunucu UK'in kurucusu. Bulut altyapısı, sanallaştırma ve sunucu yönetimi üzerine çalışıyor; şirketlerin iş yazılımlarını, web sitelerini ve yapay zeka iş yüklerini güvenli sunuculara taşıyor. Blogdaki rehberler sahada karşılaşılan kurulum, güvenlik ve taşıma işlerinden derlenir; yazılar yapay zeka desteğiyle hazırlanır ve kaynaklarla doğrulanır.

Tüm yazılarıProfil

İlgili yazılar

Güvenlik yazıları