sunucu.com.tr
Linux Sunucular

Ubuntu uzak masaüstü sunucu kurulumu: 22.04 ve 24.04'te xRDP, XFCE ve RDP güvenliği

Ubuntu 22.04 ve 24.04 sunucuda xRDP ile uzak masaüstü kurulumu: XFCE ya da MATE oturumu, systemd ile servis yönetimi, 3389 portunu ufw ile yalnız belirli IP'lere açma, SSH tüneli, sorun giderme ve ömrünü tamamlayan Ubuntu 18.04 için yol haritası.

Güncellendi: 9 dk okuma

Ubuntu çalışan bir sunucuya grafik arayüzle bağlanmanın en yaygın yolu xRDP'dir. xRDP, Windows'un Uzak Masaüstü Protokolü'nü (RDP) konuşan açık kaynaklı bir sunucudur; bu sayede Windows'taki "Uzak Masaüstü Bağlantısı" ya da Linux'taki Remmina ile Ubuntu masaüstüne bağlanabilirsiniz.

Bu rehber daha önce Ubuntu 18.04 için yazılmıştı. 18.04'ün standart desteği bittiği için adımları Ubuntu 22.04 LTS ve 24.04 LTS'e göre yeniledik; eski apt-get, /etc/init.d ve bozuk tırnaklı sed komutlarının yerine güncel yöntemleri kullanıyoruz. Ayrıca kurulumdan sonra en çok atlanan konuyu, yani 3389 portunun internete açık bırakılmamasını ayrı bir bölümde ele alıyoruz.

Ubuntu 18.04 kullanıyorsanız önce bunu okuyun

Ubuntu 18.04 LTS'in beş yıllık standart bakım süresi 31 Mayıs 2023'te sona erdi. Bu tarihten sonra herhangi bir işlem yapılmamış 18.04 makineleri güvenlik güncellemesi almıyor. Canonical'ın duyurusuna göre iki yol var:

  • Ubuntu Pro ile ESM: Genişletilmiş Güvenlik Bakımı kapsamında 18.04, Nisan 2028'e kadar desteklenmeye devam ediyor.
  • Yükseltme: Yerinde yükseltmeyi destekleyen bir sonraki LTS sürümüne geçmek.

Uzak masaüstü gibi internete dönük bir servis çalıştıracaksanız, güncelleme almayan bir sistemde kalmak riskli. Yükseltmeye karar verirseniz önce tam yedek alın; LTS yükseltmeleri sürüm sürüm ilerler, yani 18.04'ten 24.04'e tek adımda değil ara LTS üzerinden geçilir. Yeni bir sunucuya temiz kurulum yapıp verileri taşımak çoğu zaman daha öngörülebilir sonuç verir. Bu rehberin geri kalanı 22.04 ve 24.04 içindir.

Başlamadan önce: ön koşullar ve masaüstü seçimi

Kuruluma başlamadan şunları hazır edin:

  • Ubuntu 22.04 ya da 24.04 kurulu bir sunucu ve sudo yetkili bir kullanıcı.
  • SSH erişimi (masaüstü kurulana kadar tüm işlemler SSH üzerinden yapılır).
  • Bağlanacağınız bilgisayarın ya da ofisinizin sabit dış IP adresi (güvenlik bölümünde gerekecek). Sabit IP yoksa SSH tüneli yöntemini kullanacaksınız.
  • Masaüstü ortamı için yeterli bellek ve disk. Grafik oturum, sunucunun yalnız komut satırıyla çalıştığı duruma göre belirgin şekilde daha fazla RAM tüketir; her eşzamanlı kullanıcı kendi oturumunu açar.

Hangi masaüstü? Sunucu üzerinde hafif bir ortam tercih edin. XFCE düşük kaynak tüketir ve yavaş bağlantılarda akıcı kalır; MATE biraz daha zengin, yine de hafif bir seçenektir. Ubuntu'nun varsayılan GNOME masaüstü xRDP oturumlarında sorun çıkarabilir (siyah ekran, oturumun hemen kapanması gibi), bu yüzden sunucu senaryosunda XFCE ya da MATE daha güvenli bir tercihtir.

Adım adım xRDP kurulumu

Adım 1: Sunucuya bağlanın ve sistemi güncelleyin

bash
ssh kullanici@SUNUCU_IP
sudo apt update
sudo apt upgrade -y

Çekirdek güncellemesi geldiyse kuruluma geçmeden önce sunucuyu yeniden başlatın (sudo reboot) ve tekrar bağlanın.

Adım 2: Masaüstü ortamını kurun

XFCE için:

bash
sudo apt install -y xfce4 xfce4-goodies

MATE tercih ediyorsanız:

bash
sudo apt install -y mate-desktop-environment-core

Kurulum sırasında bir ekran yöneticisi (display manager) seçmeniz istenirse, sunucuda yerel ekran kullanmayacağınız için herhangi birini seçebilirsiniz; xRDP oturumu kendi başına başlatılır.

Adım 3: xRDP'yi kurun ve servisi etkinleştirin

bash
sudo apt install -y xrdp
sudo systemctl enable --now xrdp

xRDP'nin TLS anahtarını okuyabilmesi için xrdp kullanıcısını ssl-cert grubuna ekleyin ve servisi yeniden başlatın:

bash
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

Eski rehberlerdeki sudo /etc/init.d/xrdp restart komutu yerine Ubuntu 22.04 ve 24.04'te systemctl kullanın.

Adım 4: Oturumda hangi masaüstünün açılacağını belirtin

Eski sürümde /etc/xrdp/startwm.sh dosyası sed ile düzenleniyordu; bu yöntem hem kırılgandı hem de tırnak hataları yüzünden çoğu zaman çalışmıyordu. Daha temiz yol, bağlanacak her kullanıcının ev dizinine bir .xsession dosyası koymaktır. Bu komutu xRDP ile bağlanacak kullanıcıyla çalıştırın (root ile değil):

bash
# XFCE için
echo "xfce4-session" > ~/.xsession

# MATE için (yalnız birini kullanın)
echo "mate-session" > ~/.xsession

Birden fazla kullanıcı bağlanacaksa her biri için bu dosyayı oluşturun. Yeni kullanıcı eklerken dosyayı /etc/skel/.xsession olarak koyarsanız sonradan açılan hesaplara otomatik kopyalanır.

Adım 5: Servisin dinlediğini doğrulayın

bash
systemctl status xrdp --no-pager
sudo ss -tlnp | grep 3389

Kontrol noktası: status çıktısında active (running) görmelisiniz; ss çıktısında 3389 portunu dinleyen bir xrdp süreci olmalı. Bu aşamada henüz bağlanmayın; önce bir sonraki bölümdeki güvenlik ayarlarını yapın.

RDP güvenliği: 3389 portunu herkese açmayın

Eski rehberdeki sudo ufw allow 3389/tcp komutu portu tüm internete açar. İnternete açık RDP portları sürekli taranır ve parola deneme saldırılarına hedef olur. Bu yüzden portu ya yalnız bilinen IP'lere açın ya da hiç açmayıp SSH tüneli kullanın.

Kendinizi kilitlemeyin: ufw'yi etkinleştirmeden önce mutlaka SSH için izin kuralı ekleyin. Aksi halde ufw enable komutundan sonra mevcut oturumunuz düşebilir ve sunucuya yalnız sağlayıcı konsolundan erişebilirsiniz. Kuralları eklerken açık bir SSH oturumunu yedekte tutun.

Seçenek A: 3389'u yalnız belirli IP'lere açmak

bash
# Önce SSH erişimini güvenceye alın
sudo ufw allow OpenSSH

# RDP'yi yalnız ofis IP'nize açın (203.0.113.10 örnek adrestir)
sudo ufw allow from 203.0.113.10 to any port 3389 proto tcp

# Daha önce herkese açık bir 3389 kuralı eklediyseniz kaldırın
sudo ufw delete allow 3389/tcp

sudo ufw enable
sudo ufw status numbered

Kontrol noktası: ufw status numbered çıktısında 3389 kuralının yanında yalnız sizin IP'niz görünmeli, Anywhere görünmemeli. Birden fazla ofis ya da çalışan varsa her IP için ayrı kural ekleyin.

Sunucuda Docker da çalışıyorsa dikkat edin: konteynerlerin yayımladığı portlar ufw kurallarını atlayabilir. Bu durumda ufw status tek başına yeterli kontrol değildir; dışarıdan bir port taramasıyla gerçekten hangi portların erişilebilir olduğunu doğrulayın.

Seçenek B: Portu kapalı tutup SSH tüneliyle bağlanmak

Sabit IP'niz yoksa ya da evden, mobil bağlantıdan bağlanıyorsanız 3389'u hiç açmayın. RDP trafiğini zaten açık olan SSH bağlantısının içinden geçirin:

bash
# Kendi bilgisayarınızda çalıştırın
ssh -N -L 3390:localhost:3389 kullanici@SUNUCU_IP

Bu komut açıkken RDP istemcinizde adres olarak localhost:3390 yazın. Bağlantı sunucuya şifreli SSH kanalından ulaşır; ufw'de 3389 için hiçbir kural gerekmez. SSH tarafını da parola yerine anahtar ile girişe çevirmeniz bu yöntemi daha da güçlendirir.

Daha kalabalık ekipler için kurum VPN'i üzerinden erişim de aynı mantıkla çalışır: RDP portu yalnız VPN ağından ulaşılabilir olur.

Ek önlemler

  • Uzak masaüstü kullanıcılarına güçlü ve benzersiz parolalar verin; root ile grafik oturum açmayın.
  • Kullanılmayan hesapları kapatın.
  • xRDP günlüklerini (/var/log/xrdp.log ve /var/log/xrdp-sesman.log) düzenli kontrol edin; tanımadığınız IP'lerden gelen başarısız girişler portun fazla açık olduğunu gösterir.

xRDP güncellemeleri neden önemli?

xRDP projesi 2026 boyunca çok sayıda güvenlik açığını kapattı. Projenin yayımladığı sürüm notlarına göre öne çıkanlar:

  • v0.10.2 (24 Aralık 2024): Grafik aktarımına H.264 kodlaması eklendi; xrdp hizmetini ayrıcalıksız (unprivileged) bir kullanıcıyla çalıştırma resmi olarak desteklenmeye başladı.
  • v0.10.5 (27 Ocak 2026): Hizmet, servis yöneticisinden ayrıcalıksız kullanıcıyla başlatılabiliyor; CVE-2025-68670 yığın taşması açığı düzeltildi.
  • v0.9.27 (28 Ocak 2026): Ömrünü tamamlamış 0.9.x dalının son sürümü. Kimlik doğrulaması gerektirmeyen kısmi kimlik doğrulama atlatma açığını ve CVE-2025-68670'i kapatıyor.
  • v0.10.6 (17 Nisan 2026): Aralarında CVE-2026-32105 ve CVE-2026-35512'nin de bulunduğu sekiz CVE kaydı kapatıldı.
  • v0.10.6.1 (6 Temmuz 2026): On güvenlik açığını kapatıyor; PIV akıllı kart desteği artık varsayılan olarak kapalı geliyor.

Pratikte bunun anlamı şu: 0.9.x dalı artık yeni düzeltme almıyor ve xRDP'nin kendisi düzenli güvenlik yamaları gerektiren bir bileşen. Sunucunuzda hangi paketin kurulu olduğunu ve depoda güncellemesi olup olmadığını şöyle görebilirsiniz:

bash
xrdp --version
apt policy xrdp

Ubuntu'nun depolarındaki paket sürümü projenin en son sürümüyle aynı olmayabilir; dağıtımlar güvenlik düzeltmelerini kendi paketlerine taşıyabilir. Bu yüzden önemli olan, sudo apt update && sudo apt upgrade adımını düzenli çalıştırmak ve güncelleme yayımlanmayan, desteği bitmiş bir Ubuntu sürümünde kalmamaktır. Otomatik güvenlik güncellemelerinin açık olduğunu unattended-upgrades paketinin kurulu olmasıyla kontrol edebilirsiniz.

Bağlanma: Windows, Linux ve macOS

  • Windows: Başlat menüsünde "Uzak Masaüstü Bağlantısı" (mstsc) aratın, sunucu IP'sini (ya da tünel kullanıyorsanız localhost:3390) yazın.
  • Linux: Remmina'da yeni bağlantı oluşturun, protokol olarak RDP'yi seçin.
  • macOS: Microsoft'un RDP istemcisini kullanabilirsiniz.

Giriş ekranında oturum türü olarak Xorg seçili kalsın, Ubuntu kullanıcı adınızı ve parolanızı girin. XFCE ile ilk girişte panel ayarı sorulursa, emin değilseniz varsayılan yapılandırmayı seçin.

Sık yapılan hatalar ve çözümleri

Bağlandıktan sonra siyah ekran ya da oturum hemen kapanıyor. En sık neden .xsession dosyasının eksik olması ya da yanlış kullanıcıda oluşturulmasıdır. Bağlanan kullanıcıyla cat ~/.xsession çalıştırıp içeriği kontrol edin. Aynı kullanıcının sunucuda yerel bir grafik oturumu açıksa xRDP oturumu başlamayabilir; yerel oturumu kapatın. Hata ayrıntısı için kullanıcının ev dizinindeki ~/.xsession-errors dosyasına bakın.

Bağlantı zaman aşımına uğruyor. Sırasıyla kontrol edin: servis çalışıyor mu (systemctl status xrdp), port dinleniyor mu (ss -tlnp), ufw kuralı sizin güncel IP'nizi içeriyor mu (ufw status). Ev ya da mobil bağlantılarda dış IP değişebilir; bu durumda SSH tüneli daha pratiktir. Sağlayıcınızın panelinde ayrı bir ağ güvenlik duvarı varsa oradaki kuralları da gözden geçirin.

Giriş ekranı geliyor ama parola reddediliyor. Linux kullanıcı parolasını girdiğinizden emin olun. Ayrıntı için:

bash
sudo journalctl -u xrdp -u xrdp-sesman --since "15 min ago"
sudo tail -n 50 /var/log/xrdp-sesman.log

Oturum çok yavaş. RDP istemcisinde renk derinliğini düşürün ve masaüstü efektlerini kapatın. GNOME kullanıyorsanız XFCE'ye geçmek çoğu zaman belirgin fark yaratır. Sunucu belleği yetmiyorsa free -h ile kontrol edin; birden çok kullanıcının aynı anda bağlandığı senaryoda RAM ihtiyacı kullanıcı sayısıyla artar.

ufw kuralı ekledim ama port hâlâ herkese açık. Eski bir allow 3389/tcp kuralı kalmış olabilir. sudo ufw status numbered ile listeleyip numarasıyla silin (sudo ufw delete NUMARA).

Linux uzak masaüstü sunucu mu, Windows mu?

"Uzak masaüstü sunucu" arayanların bir kısmı aslında ekibin ofis dışından ortak bir masaüstüne bağlanmasını istiyor. Bu noktada çalıştıracağınız uygulamalar seçimi belirler:

  • Ubuntu ve xRDP, Linux araçları, geliştirme ortamı ya da tarayıcı tabanlı işler için yeterli ve lisans maliyeti yoktur. Bu rehberdeki kurulumu bir bulut sunucu üzerinde İstanbul ya da Fransa lokasyonunda yapabilirsiniz.
  • Muhasebe, ERP gibi Windows uygulamaları çalışacaksa Linux üzerinde xRDP çözüm değildir; bu durumda RDP ile hazır gelen bir Windows sunucu ve çok kullanıcılı erişim için Uzak Masaüstü Hizmetleri gerekir. Windows tarafındaki rol kurulumu ve lisans konusunu Windows Server 2025 uzak masaüstü sunucusu rehberimizde anlattık.

Ekibinizin ofis dışından aynı masaüstüne güvenli şekilde bağlanmasını kurulum ve taşımayla birlikte planlamak isterseniz uzak masaüstü çözümümüze göz atabilirsiniz.

Sık sorulan sorular

xRDP Ubuntu 24.04'te çalışıyor mu?

Evet. Bu rehberdeki adımlar Ubuntu 22.04 ve 24.04 için geçerlidir. Sunucu senaryosunda GNOME yerine XFCE ya da MATE kullanmanız, oturumun sorunsuz açılması açısından daha güvenli bir tercihtir.

Ubuntu 18.04'te xRDP kullanmaya devam edebilir miyim?

18.04'ün standart desteği 31 Mayıs 2023'te bitti. Ubuntu Pro ile ESM kapsamında Nisan 2028'e kadar güvenlik güncellemesi alabilirsiniz; abonelik yoksa sistem güncelleme almaz. İnternete açık bir uzak masaüstü servisi için yedek alıp 22.04 ya da 24.04'e geçmeniz önerilir.

3389 portunu değiştirmek güvenlik sağlar mı?

Port değiştirmek otomatik taramaları bir miktar azaltabilir ama tek başına koruma değildir; port tarayıcıları farklı portlardaki RDP servisini de bulabilir. Asıl önlem, portu ufw ile yalnız belirli IP'lere açmak ya da hiç açmayıp SSH tüneli veya VPN üzerinden bağlanmaktır.

Aynı anda birden fazla kullanıcı bağlanabilir mi?

Evet, xRDP her Linux kullanıcısı için ayrı bir oturum açar. Her kullanıcının kendi .xsession dosyası olmalıdır ve sunucu belleği eşzamanlı oturum sayısına göre boyutlandırılmalıdır.

Kurulu xRDP sürümümün güncel olup olmadığını nasıl anlarım?

xrdp --version kurulu sürümü, apt policy xrdp ise depodaki aday sürümü gösterir. Aday sürüm kurulu olandan yeniyse sudo apt update && sudo apt upgrade ile güncelleyin ve sudo systemctl restart xrdp ile servisi yeniden başlatın.

Kaynaklar

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