SSH portunu değiştirmek istiyorsun ama nereden başlayacağını bilmiyorsun? Çok normal. Debian sunucularda varsayılan SSH portu olan 22, botlar tarafından sürekli taranır ve brute force saldırılarına maruz kalır. Portu değiştirmek, güvenliği artırmanın en basit ama en etkili yollarından biri.
Bu rehberde Debian 11 ve 12 sürümlerinde SSH portunu güvenli bir şekilde değiştirmeyi, firewall ayarlarını güncellemeyi ve olası sorunları çözmeyi adım adım anlatacağız.
SSH Portu Neden Değiştirilmeli?
Varsayılan SSH portu (22), internet üzerindeki otomatik tarama botlarının ilk hedefidir. Port değiştirmenin avantajları:
- Otomatik taramaları engeller: Botların çoğu sadece port 22'yi tarar
- Log kirliliğini azaltır: Boş yere oluşan başarısız giriş logları azalır
- Brute force riskini düşürür: Saldırganların hedefini daraltır
- Ek güvenlik katmanı: Diğer güvenlik önlemleriyle birlikte kullanıldığında etkili
Başlamadan Önce: Hazırlık
Port değiştirme işlemine başlamadan önce şunlara dikkat et:
- Root veya sudo yetkisine sahip olduğundan emin ol
- VNC/KVM konsol erişimin olsun (SSH kesilirse diye)
- Yeni port numarasını belirle (1024-65535 arası önerilir)
- Seçtiğin portun başka bir servis tarafından kullanılmadığını kontrol et
- Firewall kurallarını güncellemeyi unutma
Port Kullanım Kontrolü
# Seçtiğin portun kullanımda olup olmadığını kontrol et
sudo ss -tlnp | grep :2222
# Veya netstat ile
sudo netstat -tlnp | grep :2222
Eğer çıktı boş dönüyorsa, port müsait demektir.
Adım 1: SSH Yapılandırma Dosyasını Düzenle
SSH daemon yapılandırması /etc/ssh/sshd_config dosyasında bulunur. Önce yedeğini alalım:
# Yedek al
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# Dosyayı düzenle
sudo nano /etc/ssh/sshd_config
Dosyada Port satırını bul. Genelde yorum satırı (#) olarak gelir:
# Eski hali:
#Port 22
# Yeni hali:
Port 2222
2222, 2244, 8022, 9922. Çok yaygın olan 2222'den kaçınıp daha farklı bir numara seçmek daha güvenlidir.
Adım 2: SELinux/AppArmor Kontrolü
Debian'da SELinux veya AppArmor aktifse, yeni portu izin listesine eklemeniz gerekir:
# SELinux aktifse
sudo semanage port -a -t ssh_port_t -p tcp 2222
# AppArmor durumunu kontrol et
sudo aa-status
Çoğu Debian kurulumunda bu adım gerekmez, ancak kontrol etmekte fayda var.
Adım 3: Firewall Kurallarını Güncelle
UFW Kullanıyorsan:
# Yeni portu aç
sudo ufw allow 2222/tcp
# Kuralları kontrol et
sudo ufw status
# Eski portu kapat (SSH bağlantısı test edildikten sonra!)
# sudo ufw deny 22/tcp
iptables Kullanıyorsan:
# Yeni portu aç
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
# Kuralları kaydet
sudo iptables-save | sudo tee /etc/iptables/rules.v4
# Kontrol
sudo iptables -L -n | grep 2222
nftables Kullanıyorsan (Debian 11+):
# Yeni portu aç
sudo nft add rule inet filter input tcp dport 2222 accept
# Kuralları listele
sudo nft list ruleset
Adım 4: SSH Servisini Yeniden Başlat
# Yapılandırmayı test et (syntax hatası kontrolü)
sudo sshd -t
# Hata yoksa servisi yeniden başlat
sudo systemctl restart sshd
# Servis durumunu kontrol et
sudo systemctl status sshd
Adım 5: Yeni Porttan Bağlantı Testi
Yeni bir terminal penceresi açarak:
# Yeni porttan bağlantı testi
ssh -p 2222 kullanici@sunucu-ip-adresi
# Veya verbose modda (hata ayıklama için)
ssh -v -p 2222 kullanici@sunucu-ip-adresi
Bağlantı başarılıysa, artık eski portu firewall'dan kapatabilirsiniz:
# UFW ile eski portu kapat
sudo ufw deny 22/tcp
sudo ufw reload
💡 Sunucu Güvenliğin Altyapıdan Başlar
SSH port değiştirmek güvenlik için önemli bir adım. Ancak gerçek güvenlik, altyapı seviyesinde DDoS koruması ve profesyonel ağ yönetimi ile başlar. Eğer sunucun sürekli saldırı altındaysa, sorun yapılandırmadan çok altyapının kendisinden kaynaklanıyor olabilir.
HazalHost VDS sunucuları varsayılan olarak DDoS korumalı gelir. Türkiye lokasyonunda düşük ping, KVM konsol erişimi ve tam root yetkileriyle sunucunu dilediğin gibi yapılandırabilirsin.
SSH İstemci Yapılandırması
Her seferinde -p 2222 yazmak istemiyorsan, SSH istemci ayarlarını düzenleyebilirsin:
# ~/.ssh/config dosyasını düzenle
nano ~/.ssh/config
İçine şunu ekle:
Host sunucum
HostName 185.123.45.67
Port 2222
User root
IdentityFile ~/.ssh/id_rsa
Artık sadece ssh sunucum yazarak bağlanabilirsin.
Sık Yapılan Hatalar ve Çözümleri
❌ Hata 1: "Connection refused"
Sebep: Firewall yeni portu engelliyor veya SSH servisi başlatılamamış.
# Firewall kontrolü
sudo ufw status
# SSH servis kontrolü
sudo systemctl status sshd
# Dinlenen portları kontrol et
sudo ss -tlnp | grep ssh
❌ Hata 2: "No route to host"
Sebep: Hosting sağlayıcının firewall'u yeni portu engelliyor olabilir.
Çözüm: Hosting panelinden veya destek ekibinden portu açtır.
❌ Hata 3: SSH servisi başlatılamıyor
# Detaylı hata mesajı
sudo journalctl -xe -u sshd
# Yapılandırma syntax kontrolü
sudo sshd -t
# Yaygın sebep: Portun başka servis tarafından kullanılması
sudo ss -tlnp | grep :2222
🚀 Güvenlik Ayarlarıyla Uğraşmak İstemiyorsan...
SSH port değiştirme, firewall yapılandırma, DDoS koruma... Bunlarla tek tek uğraşmak yerine hazır güvenlik altyapısına sahip bir sunucu ile başlamak çok daha pratik. HazalHost sunucuları L3/L4/L7 DDoS korumalı, KVM destekli gelir.
Ek Güvenlik Önerileri
- SSH anahtar doğrulama kullan: Parola girişini kapat, sadece anahtar ile giriş yap
- Root girişini kapat:
PermitRootLogin noayarını etkinleştir - Fail2Ban kur: Başarısız giriş denemelerini otomatik olarak engelle
- AllowUsers ile kısıtla: Sadece belirli kullanıcıların SSH erişimine izin ver
- MaxAuthTries düşür: Kimlik doğrulama deneme sayısını sınırla
- İki faktörlü doğrulama: Google Authenticator ile 2FA ekle
Sonuç
Debian sunucuda SSH port değiştirmek basit ama etkili bir güvenlik adımıdır. Yapman gereken adımlar özetle: yapılandırma dosyasını düzenle, firewall'u güncelle, servisi yeniden başlat ve test et. En önemli nokta: değişiklik yapmadan önce VNC/KVM erişimini garantile ve mevcut oturumu kapatma.
Sık Sorulan Sorular (FAQ)
SSH portunu değiştirmek güvenliği gerçekten artırır mı?
Tek başına yeterli olmasa da, otomatik tarama botlarının hedefinden çıkmanı sağlar. Fail2Ban, SSH key authentication ve firewall ile birlikte kullanıldığında önemli bir güvenlik katmanı ekler.
Hangi port numarasını seçmeliyim?
1024-65535 arası herhangi bir portu seçebilirsin. Çok yaygın olan 2222'den kaçınmak iyi bir pratiktir. Rastgele bir numara (örn: 34892) daha güvenlidir.
Port değiştirdikten sonra sunucuma bağlanamıyorum, ne yapmalıyım?
VNC veya KVM konsol üzerinden sunucuya bağlanarak firewall ayarlarını kontrol et. sudo ufw status ile yeni portun açık olduğundan emin ol. Ayrıca sudo sshd -t ile yapılandırma hatasını kontrol et.