VPS ve VDS Arasındaki Farklar Nelerdir? Hangisini Seçmelisiniz? Web siten büyüdü, paylaşımlı (shared) hosting paketlerinin...
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!
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.
İ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.
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.
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!
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/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.Ş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.
Yaptığımız ayarların sunucu tarafından algılanması için servise bir reset atıyoruz:
sudo systemctl restart ssh
* **CentOS / RHEL / AlmaLinux için:**
sudo systemctl restart sshdDİ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.
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:
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.
/etc/ssh/sshd_config dosyasını aç.PermitRootLogin yes satırını bul ve PermitRootLogin no olarak değiştir.su - veya sudo su komutuyla yetki alman gerekir.Ş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.
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!