DDoS Saldırıları Nedir? Web Siteleri İçin En İyi Korunma Yöntemleri Hayal et: Çok popüler bir...
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
2234olsun) 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.confdosyasını aç veIPv4_INileTCP_INsatırlarının arasına yeni port numaranı ekleyipcsf -rkomutuyla 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_configDosya 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 2234Not: 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 sshd4. 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 2234Eğ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_configdosyasını aç. PermitRootLogin yessatırını bul vePermitRootLogin noolarak 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 -veyasudo sukomutuyla 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 Seviyesi | Zorluk Derecesi | Botnetlere Karşı Etkisi |
| Varsayılan Ayarlar (Port 22) | ❌ Zayıf | 🟢 Çok Kolay | Tamamen hedef durumunda |
| Sadece Port Değiştirme | 🟡 Orta | 🟢 Kolay | Otomatik botları %99 engeller |
| Port Değişimi + Root Yasaklama | 🔵 Yüksek | 🟡 Orta | Hedef odaklı saldırıları boşa çıkarır |
| SSH Key (Şifresiz Giriş) | 🌟 Kusursuz | 🔴 İleri Seviye | Tam 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 2234Eğer bu komut çalışmazsa sunucunda
policycoreutils-pythonpaketi 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!