Sanal Güvenlik

  1. Anasayfa
  2. »
  3. Rehber
  4. »
  5. Sistem Yöneticileri İçin SSH Güvenliği Nasıl Artırılır?

Sistem Yöneticileri İçin SSH Güvenliği Nasıl Artırılır?

Sanal Güvenlik Sanal Güvenlik -
80 0

Sistem yöneticileri için güvenli bir ağ altyapısı oluşturmak, temel önceliklerdendir. Bu bağlamda, Uzak Güvenli Kabuk (SSH) protokolü, sunuculara güvenli erişim sağlamak amacıyla yaygın olarak kullanılmaktadır. Ancak, varsayılan yapılandırmalar zaman zaman güvenlik açıklarına davetiye çıkarabilir. Bu rehber, SSH güvenliğini artırmaya yönelik pratik ve adım adım uygulanabilir yöntemleri sunmaktadır.

SSH Anahtar Tabanlı Kimlik Doğrulama Yapılandırması

Parola tabanlı kimlik doğrulama, kaba kuvvet saldırılarına karşı savunmasız kalabilir. SSH anahtar tabanlı kimlik doğrulama, bu riski önemli ölçüde azaltır.

1. SSH Anahtar Çifti Oluşturma

Kendi bilgisayarınızda bir SSH anahtar çifti (genel ve özel anahtar) oluşturun. Bu işlem için aşağıdaki komutu kullanabilirsiniz:

ssh-keygen -t rsa -b 4096

Komut çalıştırıldığında, anahtarların kaydedileceği konumu ve bir parola (passphrase) belirlemeniz istenecektir. Güvenlik açısından güçlü bir parola kullanılması tavsiye edilir.

2. Genel Anahtarı Sunucuya Kopyalama

Oluşturulan genel anahtarınızı (`~/.ssh/id_rsa.pub` varsayılan konumu) sunucuya kopyalamanız gerekmektedir. Bunun için `ssh-copy-id` aracını kullanabilirsiniz:

ssh-copy-id kullaniciadi@sunucu_ip_adresi

Bu komut, genel anahtarınızı sunucudaki `~/.ssh/authorized_keys` dosyasına ekleyecektir.

3. Parola Tabanlı Girişi Devre Dışı Bırakma

Anahtar tabanlı kimlik doğrulama başarıyla yapılandırıldıktan sonra, sunucuda parola tabanlı girişi devre dışı bırakmak güvenlik duruşunu güçlendirecektir. Sunucunuzun SSH yapılandırma dosyasını (`/etc/ssh/sshd_config`) düzenleyin:

sudo nano /etc/ssh/sshd_config

Aşağıdaki satırları bulun ve güncelleyin:

  • `PasswordAuthentication yes` satırını `PasswordAuthentication no` olarak değiştirin.
  • `PubkeyAuthentication yes` satırının etkin olduğundan emin olun.

Dosyayı kaydedip kapatın ve SSH servisinin yeniden başlatılmasını sağlayın:

sudo systemctl restart sshd

Root Girişini Kısıtlama

Varsayılan olarak, root kullanıcısının doğrudan SSH ile giriş yapabilmesi mümkündür. Bu, yetkisiz erişim durumunda doğrudan süper kullanıcı yetkisi elde edilmesine yol açabilir. Bu riski azaltmak için root girişini devre dışı bırakmak önemlidir.

1. Root Girişini Engelleme

Yine `/etc/ssh/sshd_config` dosyasını düzenleyerek bu ayarı yapabilirsiniz:

sudo nano /etc/ssh/sshd_config

Aşağıdaki satırı bulun ve değerini `prohibit-password` veya `no` olarak ayarlayın:

  • `PermitRootLogin prohibit-password` (Anahtar tabanlı girişle dahi root erişimini engeller)
  • veya `PermitRootLogin no`

Değişiklikleri uyguladıktan sonra SSH servisini yeniden başlatın.

Standart SSH Portunu Değiştirme

SSH servisi varsayılan olarak 22 numaralı TCP portunu kullanır. Bu port, otomatik tarama ve saldırı girişimleri için bir hedef haline gelir. Port numarasını değiştirmek, bu tür otomatik saldırıların büyük çoğunluğunu engelleyebilir.

1. Port Numarasını Güncelleme

`/etc/ssh/sshd_config` dosyasında `Port 22` satırını bulun ve daha az bilinen başka bir port numarası ile değiştirin (örneğin, 2222):

Port 2222

Dosyayı kaydedip kapatın ve SSH servisinin yeniden başlatılmasını sağlayın.

2. Güvenlik Duvarı (Firewall) Ayarlarını Güncelleme

Port numarasını değiştirdikten sonra, güvenlik duvarınızda yeni portu açmanız gerekir. Örneğin, `ufw` kullanıyorsanız:

sudo ufw allow 2222/tcp

Eski portu kapatmak da faydalı olacaktır:

sudo ufw delete allow 22/tcp

SSH Bağlantı Sürümünü Sınırlama

SSH protokolünün birden fazla sürümü bulunmaktadır. SSHv1, güvenlik açıkları nedeniyle kullanımdan kaldırılmıştır ve yalnızca SSHv2 desteklenmelidir.

1. SSHv1’i Devre Dışı Bırakma

`/etc/ssh/sshd_config` dosyasında aşağıdaki satırın etkin olduğundan emin olun:

Protocol 2

Bu ayar, sadece SSHv2 protokolünün kullanılmasını zorunlu kılar.

Diğer Güvenlik İpuçları

  • Kullanıcı İzinlerini Sıkılaştırma: Sunucunuzdaki kullanıcı hesaplarının yalnızca gerekli yetkilere sahip olduğundan emin olun.
  • SSH Protokol Güncellemeleri: SSH sunucu yazılımını düzenli olarak güncel tutarak bilinen güvenlik açıklarından korunabilirsiniz.
  • Saldırı Tespit ve Önleme Sistemleri (IDS/IPS): Ağınıza yönelik şüpheli SSH trafiğini izlemek ve engellemek için ek güvenlik araçları kullanmayı düşünün.
  • Fail2Ban Kurulumu: Kaba kuvvet saldırılarını tespit ederek ve şüpheli IP adreslerini otomatik olarak engelleyerek sisteminizi koruyabilirsiniz.

Bu adımları uygulayarak, sunucularınıza yapılan SSH erişimini önemli ölçüde daha güvenli hale getirebilir ve potansiyel siber tehditlere karşı daha dayanıklı bir altyapı oluşturabilirsiniz. Güvenlik, sürekli bir süreçtir ve bu tür yapılandırmaların düzenli olarak gözden geçirilmesi esastır.

Bu adımları uygularken dikkat edilmesi gereken en önemli unsur nedir ve hangi adımı önceliklendirirsiniz?

İlgili Yazılar