Makale Başlıkları
Kısaca
RDP (3389) ve SSH (22) gibi varsayılan uzak erişim portlarını değiştirmek, internetteki otomatik taramaların ve parola deneme saldırılarının büyük kısmını sunucunuzdan uzaklaştırır. İşlem birkaç dakika sürer ama sırası önemlidir: yeni portu güvenlik duvarında açmadan servisi yeniden başlatırsanız sunucuya erişiminizi kaybedersiniz.
- Windows Server’da RDP portu kayıt defterindeki PortNumber değeriyle ya da PowerShell ile değişir; yeni port için TCP ve UDP güvenlik duvarı kuralı gerekir.
- Linux’ta SSH portu /etc/ssh/sshd_config içindeki
Portsatırıyla değişir; firewalld/ufw kuralı, RHEL tabanlı sistemlerde SELinux etiketi ve Ubuntu’da ssh.socket unutulmamalıdır. - Port değiştirmek tek başına güvenlik sağlamaz; anahtarla giriş, IP kısıtlaması ve güçlü parolalarla birlikte kullanılmalıdır.
Sunucunuzun uzak masaüstü ya da SSH erişimi varsayılan portlarda açıksa, giriş kayıtlarına baktığınızda dünyanın dört bir yanından gelen yüzlerce başarısız deneme görürsünüz. RDP port değiştirme ve SSH portunu değiştirme, bu gürültünün büyük kısmını kesmenin pratik ve hızlı yollarından biridir. Bu yazıda Windows Server’da RDP portunu kayıt defteri ve PowerShell ile, Linux’ta SSH portunu sshd_config üzerinden nasıl değiştireceğinizi; güvenlik duvarı, SELinux ve Ubuntu’daki socket etkinleştirme ayrıntılarıyla birlikte adım adım anlatıyoruz.
Neden Varsayılan Portları Değiştirmelisiniz?
İnternette sürekli çalışan botlar, 22 ve 3389 numaralı portları açık olan her IP adresini bulup kaba kuvvet (brute force, yani olası kullanıcı adı ve parolaları sırayla deneme) saldırısı başlatır. Her deneme işlemci, bellek ve günlük (log) kaydı tüketir. Daha önemlisi, internete açık RDP erişimi fidye yazılımı saldırılarında en sık kullanılan giriş kapılarından biridir: zayıf bir parola ya da yamalanmamış bir açık, verilerin şifrelenmesiyle sonuçlanabilir.
Port değiştirmek bir “gizleme” önlemidir. Hedefli bir saldırgan port taraması yaparak yeni portu yine bulabilir; ancak varsayılan portları yoklayan otomatik taramaların çok büyük kısmı sunucunuza hiç ulaşmaz. Gereksiz yük azalır, kayıtlarınız okunur hale gelir.
Başlamadan Önce: Erişimi Kaybetmemek İçin Kurallar
En sık yapılan hata, servisi yeni porta taşıyıp güvenlik duvarında o portu açmayı unutmaktır: sunucu çalışır ama size kapalıdır. Şu sırayı izleyin:
- Yedek erişim yolu hazırlayın. Sağlayıcınızın sunduğu VNC/KVM konsolu gibi ağdan bağımsız bir erişim yolunun çalıştığını önceden doğrulayın.
- Uygun bir port seçin. 1024 ile 65535 arasında, başka bir servisin kullanmadığı bir numara seçin. 2222 veya 3390 gibi çok tahmin edilen değerlerden ve işletim sisteminin giden bağlantılar için kullandığı dinamik aralıktan (Linux’ta genellikle 32768 ve üstü, Windows’ta 49152 ve üstü) uzak durun.
- Önce güvenlik duvarında yeni portu açın, sonra servisin portunu değiştirin.
- Mevcut oturumu kapatmayın. Yeni porttan ikinci bir bağlantı açıp başarılı olduğunu görmeden eski oturumdan çıkmayın.
- Ağ tarafındaki filtreleri unutmayın. Sunucunun önünde donanım güvenlik duvarı, bulut güvenlik grubu ya da CSF gibi ek bir güvenlik duvarı varsa yeni portu orada da açın.
İki işletim sistemindeki işlemin özeti şöyle:
| Windows Server (RDP) | Linux (SSH) | |
|---|---|---|
| Varsayılan port | 3389 (TCP ve UDP) | 22 (TCP) |
| Ayarın yeri | Kayıt defteri, RDP-Tcp altındaki PortNumber | /etc/ssh/sshd_config içindeki Port satırı |
| Güvenlik duvarı | Windows Defender Güvenlik Duvarı gelen kuralı | firewalld veya ufw, RHEL tabanlılarda SELinux |
| Değişikliği uygulama | Uzak Masaüstü Hizmetleri’ni ya da sunucuyu yeniden başlatma | sshd -t ile test, ardından servisi yeniden başlatma |
| Bağlanma | Uzak Masaüstü’nde IP:port |
ssh -p port kullanici@IP |
Windows Server’da RDP Port Değiştirme
Windows’ta Uzak Masaüstü’nün dinlediği port kayıt defterinde (registry) tutulur. Örneklerde yeni port 24589’dur; siz kendi seçtiğiniz numarayı yazın.
Yöntem 1: Kayıt Defteri Düzenleyicisi ile
- Win + R tuşlarına basıp
regedityazın ve yönetici olarak açın. - Şu anahtara gidin:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp - Sağ taraftaki PortNumber değerine çift tıklayın ve tabanı Ondalık (Decimal) olarak seçin. Varsayılan değer 3389’dur.
- Yeni port numarasını yazıp Tamam ile kaydedin.
- Uzak Masaüstü hizmetini yeniden başlatmadan önce aşağıdaki güvenlik duvarı kurallarını ekleyin.
Yöntem 2: PowerShell ile (kayıt defteri ve güvenlik duvarı birlikte)
Yönetici PowerShell penceresinde aşağıdaki komutlar portu değiştirir ve TCP ile UDP gelen kurallarını oluşturur. RDP akıcılık için UDP’yi de kullanır; UDP kuralı yoksa bağlantı yalnızca TCP üzerinden çalışır.
$port = 24589
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber' -Value $port
New-NetFirewallRule -DisplayName 'RDP Yeni Port TCP' -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow
New-NetFirewallRule -DisplayName 'RDP Yeni Port UDP' -Direction Inbound -Protocol UDP -LocalPort $port -Action Allow
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'PortNumber'
Son komut yazılan değeri doğrular. Yalnızca belirli IP adreslerinden bağlanıyorsanız kural komutlarına -RemoteAddress 203.0.113.10 gibi bir parametre ekleyerek erişimi o adreslerle sınırlayabilirsiniz.
Değişikliği Uygulama ve Test
Yeni port, Uzak Masaüstü hizmeti yeniden başlayınca devreye girer. Bu işlem RDP oturumunuzu keser; kuralı eklediğinizden emin olun:
Restart-Service -Name TermService -Force
Hizmet yeniden başlatılamazsa sunucuyu yeniden başlatın. Ardından kendi bilgisayarınızdan portu kontrol edin ve Uzak Masaüstü Bağlantısı (mstsc) penceresine 203.0.113.10:24589 biçiminde IP ve port yazarak bağlanın:
Test-NetConnection 203.0.113.10 -Port 24589
Yeni porttan bağlandıktan sonra 3389 için tanımlı eski kuralları dil ayarından bağımsız olarak şu komutla devre dışı bırakabilirsiniz:
Get-NetFirewallPortFilter | Where-Object LocalPort -eq 3389 | Get-NetFirewallRule | Disable-NetFirewallRule
Linux’ta SSH Portu Değiştirme
SSH ayarları /etc/ssh/sshd_config dosyasında tutulur. Adımlar RHEL tabanlı dağıtımlarda (AlmaLinux, Rocky Linux) ve Ubuntu/Debian’da geçerlidir; örnekte yeni port 24522’dir.
1. Güvenlik duvarında yeni portu açın
firewalld kullanan sistemlerde (RHEL tabanlı dağıtımlar):
firewall-cmd --permanent --add-port=24522/tcp
firewall-cmd --reload
ufw kullanan sistemlerde (Ubuntu, Debian):
ufw allow 24522/tcp
CSF kullanıyorsanız portu /etc/csf/csf.conf içindeki TCP_IN listesine ekleyip csf -r çalıştırın.
2. SELinux’a yeni portu tanıtın (RHEL tabanlı sistemler)
SELinux etkin (getenforce çıktısı Enforcing) bir sistemde sshd, yalnızca SSH için etiketlenmiş portları dinleyebilir. Bu adımı atlarsanız servis yeni portu açamaz:
semanage port -a -t ssh_port_t -p tcp 24522
semanage port -l | grep ssh
semanage komutu bulunamazsa dnf install policycoreutils-python-utils ile kurabilirsiniz.
3. sshd_config dosyasını düzenleyin
Dosyayı nano /etc/ssh/sshd_config ile açın ve #Port 22 satırını bulun. Geçiş süresince iki portun da açık kalması için diyezi kaldırıp altına yeni portu ekleyin; sshd birden fazla Port satırını destekler:
Port 22
Port 24522
Bazı dağıtımlar ek ayarları /etc/ssh/sshd_config.d/ klasöründen okur; orada da bir Port satırı olup olmadığına bakın. Ardından yapılandırmayı test edin; çıktı vermiyorsa hata yoktur:
sshd -t
4. SSH servisini yeniden başlatın
RHEL tabanlı sistemlerde systemctl restart sshd, Debian ve Ubuntu’da systemctl restart ssh komutunu kullanın.
Ubuntu’da socket etkinleştirme uyarısı
Ubuntu’nun güncel sürümlerinde (24.04 LTS dahil) SSH varsayılan olarak systemd socket etkinleştirmesiyle çalışır: portu sshd değil, ssh.socket birimi dinler. Bu yüzden yalnızca servisi yeniden başlatmak yetmez ve sunucu 22’de dinlemeye devam eder. sshd_config’i düzenledikten sonra şunları çalıştırın:
systemctl daemon-reload
systemctl restart ssh.socket
Socket etkinleştirmesini istemiyorsanız systemctl disable --now ssh.socket ve systemctl enable --now ssh.service ile klasik yönteme dönebilirsiniz.
5. Test edin, sonra eski portu kapatın
Mevcut oturumu açık tutarak yeni bir terminalden bağlanın ve sunucuda portun dinlendiğini kontrol edin:
ssh -p 24522 kullanici@203.0.113.10
ss -tlnp | grep ssh
Bağlantı başarılıysa sshd_config’teki Port 22 satırını silip servisi (Ubuntu’da socket’i) yeniden başlatın ve eski kuralı kaldırın: firewalld’de firewall-cmd --permanent --remove-service=ssh ve firewall-cmd --reload, ufw’de ufw delete allow 22/tcp ya da kuralı uygulama adıyla eklediyseniz ufw delete allow OpenSSH. Portu her seferinde yazmamak için bilgisayarınızdaki ~/.ssh/config dosyasına kısayol ekleyin:
Host sunucum
HostName 203.0.113.10
Port 24522
User kullanici
Port Değiştirmenin Ötesinde: Uzak Erişimi Gerçekten Güvenli Hale Getirin
- SSH’ta parola yerine anahtar kullanın. Anahtar tabanlı girişe geçtikten sonra
PasswordAuthentication noile parola girişini kapatın. Temel kavramlar için SSH nedir yazımıza, ek sıkılaştırma adımları için Linux SSH güvenliği rehberimize göz atabilirsiniz. - Erişimi IP ile sınırlayın. Sabit ofis IP’niz varsa yeni portu yalnızca o adrese açın ya da erişimi VPN arkasına alın.
- RDP’de Ağ Düzeyinde Kimlik Doğrulama’yı (NLA) açık tutun ve hesap kilitleme ilkesiyle art arda hatalı denemeleri durdurun.
- Otomatik engelleme kullanın. fail2ban gibi araçlar tekrarlayan hatalı giriş yapan IP’leri geçici olarak engeller.
- İki faktörlü doğrulama ekleyin. 2FA, parola ele geçirilse bile girişi engelleyen ikinci bir katman sağlar.
Alastyr VDS, bulut ve fiziksel sunucularında root ve yönetici erişimi sizdedir; bir adımda takılırsanız 7/24 Türkçe destek ekibimize destek@alastyr.com üzerinden ulaşabilirsiniz.
Sıkça Sorulan Sorular
RDP portunu değiştirdikten sonra nasıl bağlanırım?
Uzak Masaüstü Bağlantısı penceresinde bilgisayar alanına IP adresini, iki nokta üst üste ve yeni portu yazın; örneğin 203.0.113.10:24589. Port yazılmazsa istemci varsayılan 3389’a bağlanmaya çalışır.
SSH portunu değiştirdim ama bağlanamıyorum, ne yapmalıyım?
Konsol erişimiyle sunucuya girip sırasıyla güvenlik duvarı kuralını, SELinux port etiketini, sshd -t çıktısını ve ss -tlnp ile dinlenen portu kontrol edin. Ubuntu kullanıyorsanız ssh.socket biriminin yeniden başlatıldığından emin olun. Sunucunun önünde ek bir ağ güvenlik duvarı varsa orada da portun açık olması gerekir.
Port değiştirmek sunucumu tamamen güvenli yapar mı?
Hayır. Otomatik taramaların çoğunu dışarıda bırakır ve yükü azaltır, ancak port taraması yapan bir saldırgan yeni portu bulabilir. Anahtarla giriş, güçlü parolalar, IP kısıtlaması ve güncel yazılımla birlikte kullanıldığında anlamlıdır.
Hangi port numarasını seçmeliyim?
1024 ile 65535 arasında, sunucuda başka bir servisin kullanmadığı bir port seçin. 2222 ve 3390 gibi çok tahmin edilen değerlerden ve işletim sisteminin giden bağlantılar için ayırdığı dinamik port aralığından kaçınmanız çakışmaları önler.
RDP portu için sunucuyu yeniden başlatmak şart mı?
Çoğu durumda Uzak Masaüstü Hizmetleri’ni (TermService) yeniden başlatmak yeterlidir. Hizmet durdurulamazsa ya da yeni port dinlenmiyorsa sunucuyu yeniden başlatın. Her iki durumda da güvenlik duvarı kuralını önceden eklemiş olmanız gerekir.
Port değiştikten sonra SCP, SFTP ve rsync nasıl kullanılır?
scp ve sftp komutlarında port büyük P ile verilir, örneğin scp -P 24522. rsync için -e ‘ssh -p 24522’ parametresini kullanın. FileZilla gibi SFTP istemcilerinde port alanına yeni numarayı yazmanız yeterlidir.
Kontrolün tamamen sizde olduğu sunucular
İzmir’deki kendi veri merkezimizde Intel Xeon Gold işlemciler, all-flash depolama ve Voxility destekli anti-DDoS korumasıyla çalışan VDS sunucularda root ve yönetici erişimi sizdedir. İsterseniz cPanel, Plesk veya DirectAdmin lisansı ekleyin; takıldığınız her adımda 7/24 Türkçe destek ekibimiz yanınızda.





