Linux sunucularda güvenliği artırmanın en temel adımlarından biri SSH portunu değiştirmektir.
Varsayılan olarak SSH servisi 22 numaralı port üzerinden çalışır ve bu port, brute force saldırıları ile bot taramalarının ilk hedefidir.
SSH portunu değiştirmek;
- İzinsiz erişim denemelerini azaltır
- Brute force ataklarının büyük kısmını otomatik olarak engeller
- Root giriş denemelerini en aza indirir
- Sunucunun saldırı yüzeyini daraltır
⚠️ Not: SSH port değiştirmek tek başına yeterli değildir, ancak Fail2ban, firewall ve anahtar tabanlı giriş ile birlikte kullanıldığında oldukça etkilidir.
SSH Yapılandırma Dosyasını Açma
Öncelikle SSH servisinin yapılandırma dosyasını düzenlememiz gerekiyor.
nano -w /etc/ssh/sshd_config
Bu dosya, SSH servisine ait tüm güvenlik ve bağlantı ayarlarını içerir.
SSH Portunu Değiştirme
Dosya içerisinde aşağıdaki satırı bulun:
#Port 22
Başındaki # işareti, satırın yorum satırı (pasif) olduğunu gösterir.
Bu işareti kaldırarak ve yeni bir port numarası vererek SSH portunu değiştirebiliriz.
Örnek:
Port 2222
Yeni SSH Portu Seçerken Dikkat Edilmesi Gerekenler
Yeni portu belirlerken aşağıdaki kurallara mutlaka dikkat edilmelidir:
1. Başka bir servis tarafından kullanılmıyor olmalı
Örneğin web sunucuları (80, 443), mail servisleri (25, 465, 587) gibi yaygın portları tercih etmeyin.
Kullanımda olan portları kontrol etmek için:
ss -tuln
2. 1024 üzeri bir port tercih edin
Genellikle 2000 – 65000 arası portlar uygundur.
3. Firewall kuralları güncellenmeli
Eğer sunucu üzerinde veya harici bir network firewall varsa, yeni SSH portuna izin verilmelidir.
Firewall Üzerinde Yeni SSH Portuna İzin Verme
firewalld (CentOS, AlmaLinux, Rocky)
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
UFW (Ubuntu / Debian)
ufw allow 2222/tcp
ufw reload
⚠️ Firewall kuralını eklemeden SSH servisini restart etmeyin, aksi halde sunucuya erişiminizi kaybedebilirsiniz.
SELinux Kullanılıyorsa (Önemli)
SELinux aktif sistemlerde SSH portu ayrıca tanımlanmalıdır.
Mevcut SSH portlarını görmek için:
semanage port -l | grep ssh
Yeni portu eklemek için:
semanage port -a -t ssh_port_t -p tcp 2222
Eğer port zaten tanımlıysa:
semanage port -m -t ssh_port_t -p tcp 2222
SSH Servisini Yeniden Başlatma
Yapılandırma tamamlandıktan sonra SSH servisini yeniden başlatıyoruz.
Modern sistemlerde:
systemctl restart sshd
Eski sistemlerde:
service sshd restart
veya:
/etc/rc.d/init.d/sshd restart
Yeni SSH Portunu Test Etme (ÇOK ÖNEMLİ)
Mevcut SSH oturumunu kapatmadan önce, yeni porttan bağlantıyı test edin.
ssh -p 2222 kullanici@sunucu-ip
Bağlantı başarılıysa, eski SSH oturumunu güvenle kapatabilirsiniz.
Ek Güvenlik Önerileri (Şiddetle Tavsiye Edilir)
SSH portunu değiştirdikten sonra şu önlemleri de almanız önerilir:
Root girişini kapatın
PermitRootLogin no
Sadece SSH key ile girişe izin verin
PasswordAuthentication no
Fail2ban veya CSF kullanın
Yanlış denemelerde IP’leri otomatik banlar.
SSH bağlantı deneme sayısını düşürün
MaxAuthTries 3
Sonuç – SSH Port Değiştirme
Linux sunucularda SSH portunu değiştirmek, güvenliği artırmak için atılabilecek en basit ama etkili adımlardan biridir.
Bu işlem sayesinde:
- Bot taramaları büyük oranda engellenir
- Brute force saldırıları azalır
- Root erişim denemeleri minimuma iner
- Sunucu daha güvenli hale gelir
Ancak unutulmamalıdır ki SSH port değişikliği tek başına yeterli değildir.
Firewall, Fail2ban, SSH key ve doğru kullanıcı politikaları ile birlikte uygulanmalıdır.
