SSH ile Port Değiştirme: Güvenlik ve Performans İçin Temel Adımlar
İçindekiler
Giriş
SSH (Secure Shell), uzak sunucularla güvenli bir şekilde iletişim kurmamızı sağlayan güçlü bir protokoldür. Özellikle Linux ve Unix tabanlı sistemlerde, yönetim ve bakım işlemleri için sıklıkla kullanılır. Ancak, SSH'nin popülerliği, kötü niyetli kullanıcılar için de cazip bir hedef haline gelmesine yol açmıştır. Bu nedenle, SSH'nin güvenliğini artırmak için bazı ek önlemler almak önemlidir. Bunlardan biri de SSH portunun değiştirilmesidir.
Bu makalede, SSH portunun nasıl değiştirileceği, port değiştirme işleminin neden güvenlik açısından önemli olduğu ve diğer bazı optimizasyon ayarlarının nasıl yapılacağı hakkında detaylı bilgi vereceğiz.
1. SSH Portunun Neden Değiştirilmesi Gereklidir?
SSH'nin varsayılan portu 22'dir. Bu, dünya çapında bilinen ve sıklıkla tarama (brute force) saldırılarına hedef olan bir porttur. Saldırganlar, SSH portu üzerinden şifreleri tahmin etmeye çalışarak sunucunuza erişmeye çalışabilirler. Varsayılan portu değiştirmek, otomatik tarama araçlarının hedef alacağı portu değiştirebilir ve böylece saldırı olasılığını azaltabilir.
Port değiştirme, tamamen güvenlik sağlama garantisi sunmasa da, özellikle kötü niyetli kullanıcıların sisteminizi tararken dikkatini dağıtabilir ve bazı saldırıları engelleyebilir.
2. SSH Portunu Değiştirme İşlemi
A. SSH Portunu Değiştirmek İçin Gerekli Adımlar
SSH portunu değiştirmek için aşağıdaki adımları izleyebilirsiniz:
1. SSH Konfigürasyon Dosyasını Düzenleme
İlk adım olarak, SSH yapılandırma dosyasını düzenlemelisiniz. Bu dosya, SSH servisinin nasıl çalışacağına dair tüm ayarları içerir ve genellikle /etc/ssh/sshd_config
yolu altında bulunur.
Bunu düzenlemek için şu komutu kullanabilirsiniz:
Bu dosyada, Port 22
satırını bulmalısınız. Eğer satır başında #
işareti varsa, bu satır yorum satırı anlamına gelir ve aktif değildir. Bu satırı şu şekilde değiştirebilirsiniz:
Burada, 3458
yeni port numaranızdır. İstediğiniz başka bir port numarasını da buraya yazabilirsiniz. Ancak, port numarasının 1024 ile 49151 arasında ve sunucuda açık olmayan bir port olması gerektiğini unutmayın.
2. Port Numarasını Hızlı Bir Şekilde Değiştirmek İçin sed
Komutu Kullanma
Bir dosyada belirli bir metni hızlıca değiştirmek için sed
komutunu kullanabilirsiniz. Aşağıdaki komut, sshd_config
dosyasındaki varsayılan port 22'yi 3458 ile değiştirecektir:
Bu komut şunları yapar:
-
sed -i
: Dosyayı yerinde değiştirir (in-place). -
's/^#Port 22/Port 3458/'
: Bu ifade, dosyada#Port 22
satırını bulur vePort 3458
olarak değiştirir. -
/etc/ssh/sshd_config
: Düzenlenecek dosyanın yolu.
3. Firewall Ayarlarını Yapılandırma
SSH portunu değiştirdikten sonra, yeni portun güvenlik duvarında (firewall) açık olduğundan emin olmanız gerekir. Aksi takdirde, yeni port üzerinden bağlantı kuramazsınız.
Örneğin, firewalld
kullanıyorsanız, aşağıdaki komut ile yeni portu açabilirsiniz:
Bu komutlar:
-
--permanent
: Yapılan değişikliklerin kalıcı olmasını sağlar. -
--add-port=3458/tcp
: 3458 numaralı TCP portunu açar. -
--reload
: Firewall yapılandırmalarını yeniden yükler.
Eğer ufw
kullanıyorsanız, şu komutları kullanabilirsiniz:
4. SSH Servisini Yeniden Başlatma
Yapılandırma dosyasını ve firewall ayarlarını değiştirdikten sonra, SSH servisinin değişiklikleri uygulayabilmesi için yeniden başlatılması gerekir:
Bu komut, SSH servisini yeniden başlatarak yeni yapılandırma dosyasını yükler.
3. SSH Güvenliğini Artırma
Port değiştirme işlemi, SSH güvenliğini artırmanın sadece bir parçasıdır. SSH'yi daha güvenli hale getirmek için aşağıdaki ek adımları uygulayabilirsiniz:
A. Parolasız SSH Erişimi (SSH Key Authentication)
Parolasız SSH erişimi, SSH anahtarları kullanılarak yapılan girişleri ifade eder. Bu yöntem, şifre tabanlı girişlerden çok daha güvenlidir çünkü bir saldırganın şifrenizi tahmin etmesi imkansızdır.
SSH anahtarları oluşturmak için şu komutları kullanabilirsiniz:
Anahtarları oluşturduktan sonra, public anahtarınızı sunucunuza şu şekilde kopyalayabilirsiniz:
Bu işlem, SSH bağlantısı sırasında şifre yerine anahtar kullanarak giriş yapmanızı sağlar.
B. Root Kullanıcısını Engelleme
SSH ile root kullanıcısı üzerinden giriş yapmak güvenlik riski oluşturur. Bu nedenle, sshd_config
dosyasındaki PermitRootLogin
ayarını no
olarak değiştirmek önemlidir.
Aşağıdaki satırı düzenleyin:
Bu, root kullanıcısının SSH üzerinden doğrudan bağlantı kurmasını engeller.
C. SSH Timeout Ayarı
SSH bağlantıları genellikle belirli bir süre kullanılmadığında otomatik olarak zaman aşımına uğrar. Bu özellik, istemci tarafında oturumun açık kalmasını engeller. Aşağıdaki ayarları sshd_config
dosyasına ekleyerek bu işlemi etkinleştirebilirsiniz:
Bu ayarlar, istemciye her 5 dakikada bir sinyal göndererek, yanıt alınmadığında bağlantıyı sonlandırır.
4. Sonuç
SSH port değiştirme işlemi, basit bir güvenlik önlemi olmanın ötesinde, sunucularınızı kötü niyetli kullanıcıların tarama saldırılarından koruyabilir. Ancak, SSH güvenliğini sağlamak için port değiştirme dışında da alınması gereken pek çok önlem vardır. SSH anahtarları kullanmak, root erişimini kısıtlamak ve timeout ayarları gibi ek önlemlerle sisteminizi daha güvenli hale getirebilirsiniz.
Unutmayın, güvenlik her zaman çok katmanlı bir yaklaşım gerektirir. Port değiştirmek, bu stratejilerden sadece birisidir ve daha güvenli bir sistem için diğer önlemleri de almanız önemlidir.