Linux SSH Portu Nasıl Değiştirilir? (Kesin Güvenlik)

Sunucunun varsayılan SSH portu 22'dir. Dünyadaki tüm saldırı botları bu portu hedef alır. Güvenliği sağlamak için: Önce sunucu güvenlik duvarından (Firewall/UFW/CSF) yeni belirleyeceğin port numarasına (Örn: 2234) izin ver. /etc/ssh/sshd_config dosyasını aç, #Port 22 satırını bul ve yeni portunla değiştir. SSH servisini yeniden başlat. Eski terminal oturumunu kapatmadan, yeni bir sekmeden yeni portla bağlanmayı test et. Güvenlik duvarını ayarlamadan SSH portunu değiştirirsen sunucunun dışında kalırsın, dikkat et!

Sunucu Güvenliği: SSH Portu Nasıl Değiştirilir?

Yeni bir VDS veya Dedicated sunucu kiraladın, içine tertemiz bir Ubuntu veya AlmaLinux çaktın. Root şifren elinde, terminale bağlandın ve dünyayı fethedecek projelerini kodlamaya başladın. Her şey harika gidiyor değil mi? Yanılıyorsun. Sen o sunucuyu internete bağladığın andan itibaren, siber dünyanın amansız çöpçüleri olan otomatik botlar sunucunun IP adresini taramaya başladı bile.

Eğer sunucunun dünyaya açılan uzaktan yönetim kapısı olan SSH (Secure Shell) protokolünü varsayılan ayarlarıyla bıraktıysan, şu an kapında milyonlarca siber korsan adayı bekliyor. Bu botlar saniyede yüzlerce kez senin sunucunun kapısını çalıyor ve içeri sızmak için şifre denemeleri (Brute Force) yapıyor.

Bu rehberde, o botların sunucu işlemcini (CPU) gereksiz yere yormasını engellemek ve siber korsanlara “Burada sana ekmek yok” demek için SSH kapısını nasıl gizli bir odaya taşıyacağımızı adım adım anlatacağım. Terminali aç, arkana yaslan; sunucuyu zırhlama vakti geldi.

Port 22 Neden Siber Korsanların İlk Hedefidir?

İnternet protokollerinde bazı standartlar vardır. Web siteleri için Port 80 ve 443 neyse, Linux sunucuların uzaktan yönetimi için de Port 22 odur. Saldırganların en büyük silahı üşengeç web yöneticileridir. Dünyadaki script kiddie’ler (çömez hackerlar) ve otomatik botnet ağları, internetteki tüm IP aralıklarını tarayarak Port 22’si açık olan sunucuları listeler.

Ardından “root” kullanıcı adı için en çok kullanılan binlerce şifreyi (123456, password, root123 vb.) denemeye başlarlar. Buna Brute Force (Kaba Kuvvet) saldırısı denir. SSH portunu değiştirmek bu saldırıları %99 oranında bıçak gibi keser. Çünkü saldırgan senin özel olarak belirlediğin 4-5 haneli port numarasını bulmak için sunucundaki 65 binden fazla portu tek tek taramak zorunda kalır ki, hiçbir bot tek bir küçük site için bu kadar zaman harcamak istemez. Seni “kolay lokma” olmaktan çıkarır.

Adım Adım SSH Portu Değiştirme Operasyonu

Lafı dolandırmayalım, doğrudan terminale giriyoruz. Bu işlemi yaparken hata yaparsan sunucuya bir daha erişemeyebilirsin. Bu yüzden adımları birebir takip et.

1. Adım: Güvenlik Duvarında (Firewall) Yeni Kapı Açın

En kritik adım burası. Eğer sunucundaki güvenlik duvarına yeni portu öğretmeden SSH ayarını değiştirirsen, sunucu yeni porttan hizmet vermeye başlar ama firewall o portu engellediği için sunucunun dışında kalırsın!

  • UFW (Ubuntu/Debian) kullanıyorsan: Terminale şu komutu yazarak yeni belirlediğin porta (Örneğin 2234 olsun) izin ver:
sudo ufw allow 2234/tcp
sudo ufw reload
*   **Firewalld (CentOS/RHEL/AlmaLinux) kullanıyorsan:**
   
    sudo firewall-cmd --permanent --add-port=2234/tcp
    sudo firewall-cmd --reload
  • CSF (ConfigServer Security & Firewall) kullanıyorsan: /etc/csf/csf.conf dosyasını aç ve IPv4_IN ile TCP_IN satırlarının arasına yeni port numaranı ekleyip csf -r komutuyla firewall’u yeniden başlat.

2. Adım: SSH Konfigürasyon Dosyasını Düzenleyin

Şimdi SSH servisinin ayar dosyasına girip ona eski kapıyı kapatıp yenisini açmasını söyleyeceğiz. Şu komutla dosyayı aç:

sudo nano /etc/ssh/sshd_config

Dosya açıldığında üst sıralarda muhtemelen şu satırı göreceksin: #Port 22

Buradaki # işareti o satırın yorum satırı olduğunu, yani devre dışı olduğunu gösterir. O # işaretini sil (satırı aktif et) ve 22 yerine kendi belirlediğin güvenli port numarasını yaz.

# Düzenlenmiş hali böyle görünmeli
Port 2234

Not: Belirleyeceğin port numarası 1024 ile 65535 arasında, sunucuda başka bir servisin (Örn: cPanel, Plesk veya MySQL) kullanmadığı boş bir numara olmalıdır.

Dosyayı kaydetmek için CTRL + O tuşlarına bas, Enter de ve CTRL + X ile editörden çık.

3. Adım: SSH Servisini Yeniden Başlatın

Yaptığımız ayarların sunucu tarafından algılanması için servise bir reset atıyoruz:

  • Ubuntu / Debian için:

sudo systemctl restart ssh

*   **CentOS / RHEL / AlmaLinux için:**
sudo systemctl restart sshd

4. Adım: Bağlantıyı Test Edin (Altın Kural!)

DİKKAT: Şu an açık olan terminal oturumunu sakın kapatma! Eğer bir hata yaptıysan ve bu oturumu kapatırsan sunucuya bir daha giremezsin.

Hemen bilgisayarından yeni bir terminal penceresi veya PuTTY oturumu aç. Sunucuna yeni port üzerinden bağlanmayı dene:

ssh root@sunucu_ip_adresiniz -p 2234

Eğer şifre ekranı sorunsuz geldiyse ve içeri girebildiysen, tebrikler! Operasyon başarıyla tamamlandı. Artık eski terminal pencerelerini kapatabilirsin. Sunucun siber botlar için artık görünmez bir modda.

Sunucu Güvenliğini Bir Üst Seviyeye Taşıyacak Ekstra Önlemler

Sadece port değiştirmek harika bir başlangıçtır ama profesyonel bir sistem yöneticisi (SysAdmin) için asla yeterli değildir. SSH zırhını perçinlemek için şu iki hamleyi de mutlaka yapmalısın:

1. Root Girişini Tamamen Kapatın (PermitRootLogin No)

Saldırganlar sunucunda kesin olarak bir “root” kullanıcısı olduğunu bilirler ve tüm brute force saldırılarını bu isim üzerine kurgularlar. Eğer kendine özel bir kullanıcı adı açıp (Örn: siteportal_dev), sistem yönetimini o kullanıcıya devreder ve root girişini yasaklarsan siber korsanların işini imkansız hale getirirsin.

  • Yine /etc/ssh/sshd_config dosyasını aç.
  • PermitRootLogin yes satırını bul ve PermitRootLogin no olarak değiştir.
  • Artık kimse dışarıdan “root” olarak sunucuya bağlanamaz. Önce kendi açtığın kullanıcıyla girip, ardından su - veya sudo su komutuyla yetki alman gerekir.

2. SSH Anahtarı (SSH Key) Kullanımına Geçin

Şifreler her zaman kırılabilir, çalınabilir veya tahmin edilebilir. En güvenli şifre, hiç olmayan şifredir. Sunucuna şifreyle giriş yapmayı tamamen kapatıp, sadece senin bilgisayarında bulunan dijital bir anahtarla (SSH Key Authentication) giriş yapmayı aktif edersen, dünyanın en büyük botnet saldırısı bile gelse o kapıyı açamaz.

Güvenlik KatmanıKoruma SeviyesiZorluk DerecesiBotnetlere Karşı Etkisi
Varsayılan Ayarlar (Port 22)❌ Zayıf🟢 Çok KolayTamamen hedef durumunda
Sadece Port Değiştirme🟡 Orta🟢 KolayOtomatik botları %99 engeller
Port Değişimi + Root Yasaklama🔵 Yüksek🟡 OrtaHedef odaklı saldırıları boşa çıkarır
SSH Key (Şifresiz Giriş)🌟 Kusursuz🔴 İleri SeviyeTam koruma kalkanı

💡 Teknik İpucu (Expert Box)

Bunu biliyor muydunuz? RedHat tabanlı dağıtımlarda (AlmaLinux, Rocky Linux, CentOS) SSH portunu değiştirdikten sonra servis yeniden başlamayabilir ve loglarda “Permission Denied” hatası görebilirsin. Bunun sebebi Linux çekirdeğinde çalışan ultra katı bir güvenlik modülü olan SELinux‘tur. SELinux, SSH servisinin varsayılan port 22 dışında bir limandan konuşmasını engeller. Bunu aşmak için SSH portunu değiştirdikten sonra SELinux’e de yeni portu şu komutla öğretmen gerekir:

semanage port -a -t ssh_port_t -p tcp 2234

Eğer bu komut çalışmazsa sunucunda policycoreutils-python paketi eksiktir, önce onu kurman gerekir.

Sonuç: Kalenizin Anahtarı Sadece Sizde Kalsın

Gördüğün gibi, sunucu güvenliğinin ilk kuralı internetteki o “jenerik gürültüden” sıyrılmaktır. SSH portunu 22’den rastgele ve güvenli bir porta taşımak, sunucu işlemcini gereksiz siber trafikten kurtaracak ve sunucunun log dosyalarının (/var/log/auth.log) şişmesini engelleyecektir. Dijital dünyada tam güvenlik tek bir ayarla olmaz ama bu attığımız adım, sunucunu siber korsanların elinden kurtaran en büyük hamledir.

Sen sunucunu kurduğunda SSH portunu değiştirmeyi unutup hiç siber saldırı loglarıyla karşılaştın mı? Ya da port değiştirirken sunucunun dışında kaldığın o korkunç anı yaşadın mı? Yorumlara yaz, sunucu güvenlik politikalarını birlikte optimize edelim!

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer Yazılar