Linux’ta SSH Bağlantı Portunu Değiştirme: Sunucu Güvenliğinizi Artırın

📑 İçindekiler
Uzak sunucu yönetimi söz konusu olduğunda, SSH (Secure Shell) bağlantı portunu değiştirme, Linux tabanlı sistemlerde atılabilecek en temel ama etkili güvenlik adımlarından biridir. SSH, şifreli bir tünel üzerinden güvenli uzaktan erişim imkanı sunarken, varsayılan portu olan 22, siber saldırganların ilk hedefi haline gelmiştir. Bu makalede, sunucunuzu otomatik brute-force saldırılarından korumak için SSH portunu nasıl güvenli bir şekilde değiştireceğinizi adım adım öğreneceksiniz.
Neden SSH Bağlantı Portunu Değiştirmelisiniz?
SSH bağlantı portunu değiştirmek, ‘güvenlik duvarını alçaltmak’ gibi görünse de, aslında yetkisiz erişim girişimlerini önemli ölçüde azaltır. Saldırganların çoğu, varsayılan portlar üzerinde çalışan otomatik botlar kullanarak sunucuları tarar ve zayıf parolaları denemeye çalışır. Port 22’den farklı bir port kullanmak, sunucunuzu bu otomatik taramaların hedefinden çıkarır ve aşağıdaki faydaları sağlar:
- Azalan Saldırı Yüzeyi: Otomatik botların büyük çoğunluğu varsayılan portları hedef alır. Port değişikliği, sunucunuzu bu yaygın saldırıların menzilinden çıkarır.
- Daha Temiz Loglar: Başarısız bağlantı girişimleri ve tarama faaliyetleri log dosyalarınızı doldurur. Port değişikliği ile bu gereksiz log girdilerini azaltır, gerçek güvenlik tehditlerini daha kolay tespit edebilirsiniz.
- Ek Bir Güvenlik Katmanı: Tek başına yeterli olmasa da, port değişikliği mevcut güvenlik önlemlerinize ek bir katman ekler ve daha kapsamlı bir savunma stratejisi oluşturur.
Adım Adım SSH Bağlantı Portunu Değiştirme Rehberi
SSH portunu değiştirmek dikkatli bir süreç gerektirir. Yanlış yapılandırma, sunucunuza erişiminizi kaybetmenize neden olabilir. Bu nedenle, adımları dikkatle takip etmek ve her adımı doğrulamak önemlidir.
1. Mevcut Durumu Kontrol Edin ve Yedekleyin
Herhangi bir değişiklik yapmadan önce, SSH servisinizin çalışır durumda olduğundan ve hangi portu kullandığından emin olun. Ayrıca, yapılandırma dosyasının yedeğini almak olası sorunlarda geri dönüş için hayati önem taşır.
- SSH Bağlantınızı Kontrol Edin: Öncelikle SSH ile sunucunuza normal bir şekilde bağlanabildiğinizden emin olun. Bu makaledeki adımları uygularken aktif bir SSH bağlantınızın açık kalması, olası bir kilitlenmede sunucuya yeniden erişim sağlamanıza yardımcı olabilir.
- Yapılandırma Dosyasını Yedekleyin: SSH yapılandırma dosyası genellikle
/etc/ssh/sshd_configkonumunda bulunur. Değişiklik yapmadan önce yedeğini alın: - Mevcut SSH Portunu Kontrol Edin: Sunucunuzun dinlediği SSH portunu kontrol etmek için aşağıdaki komutlardan birini kullanabilirsiniz:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.baksudo ss -tnlp | grep sshd
# veya
sudo netstat -tnlp | grep sshdGenellikle çıktı, tcp LISTEN 0 128 *:22 veya benzeri bir satır içerecektir, bu da SSH’in varsayılan 22 numaralı portu dinlediğini gösterir.
2. SSH Yapılandırma Dosyasını Düzenleyin
Şimdi sıra, sshd_config dosyasını düzenleyerek yeni portu tanımlamaya geldi.
- Yapılandırma Dosyasını Açın: Tercih ettiğiniz metin düzenleyici ile dosyayı açın. Örneğin,
nanoveyavikullanabilirsiniz: - Port Numarasını Değiştirin: Dosya içinde
#Port 22satırını bulun. Baştaki#işaretini kaldırarak satırı aktif hale getirin ve22yerine istediğiniz yeni port numarasını yazın (örneğin,2222,49152-65535aralığından bir port tavsiye edilir). EğerPort 22satırı yoksa, dosyanın sonuna yeni birPortsatırı ekleyebilirsiniz. - Değişiklikleri Kaydedin:
nanokullanıyorsanız,Ctrl+Otuşlarına basıp Enter ile kaydedin, ardındanCtrl+Xile çıkın.
sudo nano /etc/ssh/sshd_config# Örnek: Varsayılan 22 yerine 2222 kullanmak
Port 2222İpucu: Geçici olarak hem eski hem de yeni portu aktif tutarak testi kolaylaştırabilirsiniz. Bunun için iki Port satırı ekleyin:
Port 22
Port 2222Yeni porta bağlanabildiğinizden emin olduktan sonra eski portu kaldırabilirsiniz.
3. Güvenlik Duvarı Ayarlarını Yapılandırın
Yeni SSH portunuzun dışarıdan erişilebilir olması için güvenlik duvarınızda bu portu açmanız gerekmektedir. Kullanılan Linux dağıtımına göre komutlar değişebilir.
- UFW (Ubuntu/Debian tabanlı sistemler için):
- Firewalld (CentOS/RHEL tabanlı sistemler için):
sudo ufw allow 2222/tcp # Yeni portu açın
sudo ufw enable # UFW etkin değilse etkinleştirin
sudo ufw reload # Güvenlik duvarını yeniden yükleyinEski portu kapatmak için (yeni portun çalıştığından emin olduktan sonra):
sudo ufw deny 22/tcp # Eski portu kapatınsudo firewall-cmd --permanent --add-port=2222/tcp # Yeni portu kalıcı olarak açın
sudo firewall-cmd --reload # Güvenlik duvarını yeniden yükleyinEski portu kapatmak için (yeni portun çalıştığından emin olduktan sonra):
sudo firewall-cmd --permanent --remove-port=22/tcp # Eski portu kalıcı olarak kapatın
sudo firewall-cmd --reload # Güvenlik duvarını yeniden yükleyin4. SSH Servisini Yeniden Başlatın
Yapılandırma dosyası ve güvenlik duvarı ayarlarındaki değişikliklerin geçerli olması için SSH servisini yeniden başlatmalısınız.
sudo systemctl restart sshd
# veya
sudo service ssh restart5. Yeni Port Üzerinden Bağlantıyı Test Edin
Bu adım kritik öneme sahiptir! Mevcut SSH bağlantınızı kapatmadan, yeni bir terminal penceresi açın ve yeni port üzerinden bağlanmayı deneyin:
ssh kullanıcı_adınız@sunucu_ip_adresi -p 2222Bağlantı başarılı olursa, artık yeni port üzerinden erişim sağlayabilirsiniz. Mevcut bağlantınızı güvenle kapatabilir ve sunucunuzun güvenliğini artırdığınızdan emin olabilirsiniz.
6. Eski Portu Kapatın (Opsiyonel ama Tavsiye Edilir)
Yeni port üzerinden bağlantınızın çalıştığından tamamen emin olduktan sonra, sshd_config dosyasından eski Port 22 satırını tamamen kaldırabilir ve güvenlik duvarınızdan da eski 22 numaralı port için kuralı silebilirsiniz. Bu, güvenlik önlemlerinizi tamamlayacaktır.
Ek Güvenlik İpuçları
SSH bağlantı portunu değiştirme, güçlü bir başlangıçtır, ancak sunucu güvenliğinizi daha da artırmak için ek adımlar atmanız önerilir:
- SSH Anahtar Tabanlı Kimlik Doğrulama: Parola yerine SSH anahtarları kullanarak daha güvenli bir kimlik doğrulama yöntemi benimseyin.
- Root Kullanıcısı ile Girişi Devre Dışı Bırakın:
PermitRootLogin noayarını yaparak doğrudan root kullanıcısıyla SSH girişini engelleyin. - Parola Politikaları: Güçlü ve karmaşık parolalar kullanmaya teşvik edin ve periyodik parola değişimini zorunlu kılın.
- Fail2Ban Kurulumu: Başarısız giriş denemelerini izleyen ve belirli IP adreslerini otomatik olarak engelleyen Fail2Ban gibi araçları kullanın.
Bu adımları uygulayarak Linux sunucunuzun SSH güvenliğini önemli ölçüde artırabilir ve potansiyel siber tehditlere karşı daha dirençli hale getirebilirsiniz. Unutmayın, güvenlik sürekli bir süreçtir ve düzenli kontroller ile güncellemeler esastır.
❓ Sıkça Sorulan Sorular (SSS)
🔹 Neden varsayılan SSH portu olan 22'yi değiştirmeliyim?
Varsayılan SSH portu 22, siber saldırganlar tarafından en sık hedeflenen porttur. Portu değiştirmek, otomatik brute-force saldırılarının büyük çoğunluğunu engeller ve sunucunuzun güvenlik duvarı loglarını temiz tutar.
🔹 SSH portunu değiştirirken hangi önlemleri almalıyım?
Değişiklik yapmadan önce 'sshd_config' dosyasının yedeğini almalı ve mevcut SSH bağlantınızı açık bırakmalısınız. Yeni port üzerinden bağlantı kurduğunuzdan emin olana kadar eski bağlantıyı sonlandırmayın.
🔹 Yeni SSH portuma bağlanamazsam ne yapmalıyım?
Öncelikle güvenlik duvarı ayarlarınızı kontrol edin ve yeni portun açık olduğundan emin olun. Eğer hala sorun yaşıyorsanız ve sunucuya fiziksel erişiminiz veya bir kontrol paneli üzerinden erişiminiz varsa, 'sshd_config.bak' yedek dosyasını kullanarak orijinal yapılandırmaya geri dönebilirsiniz.