Yazı Boyutu:

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:

sudo nano /etc/ssh/sshd_config

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:

Port 3458

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:

sudo sed -i 's/^#Port 22/Port 3458/' /etc/ssh/sshd_config

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 ve Port 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:

sudo firewall-cmd --permanent --add-port=3458/tcp sudo firewall-cmd --reload

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:

sudo ufw allow 3458/tcp sudo ufw reload

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:

sudo systemctl restart sshd

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:

ssh-keygen -t rsa -b 2048

Anahtarları oluşturduktan sonra, public anahtarınızı sunucunuza şu şekilde kopyalayabilirsiniz:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip

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:

PermitRootLogin no

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:

ClientAliveInterval 300 ClientAliveCountMax 0

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.