Sanal Güvenlik

  1. Anasayfa
  2. »
  3. Rehber
  4. »
  5. Rehber: SSH Anahtar Üretimi ve Güvenli Kullanımı

Rehber: SSH Anahtar Üretimi ve Güvenli Kullanımı

Sanal Güvenlik Sanal Güvenlik -
472 0

Sanal ortamlarınızı güçlendirmek ve sunucu erişim güvenliğini en üst düzeye çıkarmak, günümüz siber güvenlik pratiklerinin temel taşlarından biridir. Şifre tabanlı kimlik doğrulama yöntemleri, zamanla zayıflayabilen veya çeşitli saldırı vektörlerine maruz kalabilen bir yapıya sahiptir. Bu noktada, SSH (Secure Shell) anahtar tabanlı kimlik doğrulama, daha güvenli ve otomatize edilmiş bir erişim mekanizması sunarak öne çıkar. Bu rehber, SSH anahtarlarının nasıl üretileceğini ve sunucu erişiminde nasıl güvenli bir şekilde kullanılacağını adım adım açıklamaktadır.

SSH Anahtar Çifti Oluşturma

SSH anahtar tabanlı kimlik doğrulama, biri özel (private) diğeri genel (public) olmak üzere iki anahtardan oluşan bir kriptografik anahtar çiftine dayanır. Özel anahtarınız gizli tutulmalı ve asla paylaşılmamalıdır. Genel anahtar ise erişim sağlanacak sunuculara dağıtılır.

Yerel Makinede Anahtar Üretimi

SSH anahtar çiftinizi oluşturmak için işletim sisteminizin terminalini veya komut istemcisini kullanabilirsiniz. Yaygın olarak kullanılan komut ssh-keygen‘dir.

  • Komutu Çalıştırma: Terminali açın ve aşağıdaki komutu girin:

    ssh-keygen -t rsa -b 4096

    • -t rsa: Kullanılacak şifreleme algoritmasını belirtir (RSA yaygın bir tercihtir).
    • -b 4096: Anahtar boyutunu bit cinsinden belirtir. 4096 bit, güncel güvenlik standartlarına uygun güçlü bir anahtar boyutu sağlar.
  • Anahtar Kayıt Konumunu Belirleme: Komutu çalıştırdıktan sonra, anahtar çiftinizin kaydedileceği konumu belirlemeniz istenecektir. Varsayılan konum genellikle ~/.ssh/id_rsa (özel anahtar) ve ~/.ssh/id_rsa.pub (genel anahtar) şeklindedir. Bu konumu değiştirmek istemiyorsanız, Enter tuşuna basarak varsayılanı kabul edebilirsiniz.
  • Parola (Passphrase) Belirleme: Bu aşamada, özel anahtarınızı ek bir güvenlik katmanıyla korumak için bir parola belirlemeniz önerilir. Bu parola, özel anahtarınıza yetkisiz erişimi engelleyecektir. Güçlü ve tahmin edilemez bir parola seçtiğinizden emin olun. Parola belirlemek istemiyorsanız, bu adımı boş bırakarak Enter tuşuna basabilirsiniz, ancak bu güvenlik riskini artırır.

Bu adımların tamamlanmasının ardından, ~/.ssh/ dizininizde iki dosya oluşacaktır: id_rsa (özel anahtarınız) ve id_rsa.pub (genel anahtarınız).

Genel Anahtarın Sunucuya Yüklenmesi

Oluşturduğunuz genel anahtarı, erişim sağlamak istediğiniz sunuculara yüklemeniz gerekmektedir. Bu işlem, sunucunun sizi tanımasını ve şifre sormadan kimliğinizi doğrulamasını sağlar.

SSH Anahtarını Sunucuya Kopyalama

Genel anahtarınızı sunucuya kopyalamanın en pratik ve güvenli yolu, ssh-copy-id komutunu kullanmaktır. Bu komut, genel anahtarınızı sunucudaki doğru konuma ekler ve gerekli izinleri ayarlar.

  • Komutu Kullanma: Yerel makinenizin terminalinde aşağıdaki komutu çalıştırın:

    ssh-copy-id kullanici_adi@sunucu_ip_adresi

    • kullanici_adi: Sunucudaki kullanıcı adınızdır.
    • sunucu_ip_adresi: Erişmek istediğiniz sunucunun IP adresidir.
  • Parola Girişi: Komutu çalıştırdıktan sonra, sunucuya o anki şifrenizle giriş yapmanız istenecektir. Başarılı bir şekilde giriş yaptıktan sonra, ssh-copy-id komutu genel anahtarınızı sunucudaki ~/.ssh/authorized_keys dosyasına ekleyecektir.

Eğer ssh-copy-id komutu sisteminizde mevcut değilse veya farklı bir yöntem izlemek isterseniz, genel anahtarınızı manuel olarak kopyalayıp sunucudaki ~/.ssh/authorized_keys dosyasına ekleyebilirsiniz. Ancak bu yöntemde dosya ve dizin izinlerinin doğru ayarlandığından emin olmanız kritik önem taşır.

Sunucu Erişimi ve Güvenlik İyileştirmeleri

Genel anahtarınızı başarıyla yükledikten sonra, sunucuya SSH ile bağlanmayı deneyebilirsiniz. Bu aşamada, ek güvenlik önlemleri alarak siber saldırı riskini daha da azaltabilirsiniz.

Şifre Tabanlı Kimlik Doğrulamanın Devre Dışı Bırakılması

SSH anahtar tabanlı kimlik doğrulaması başarıyla çalıştığında, sunucunuzda şifre tabanlı kimlik doğrulamasını devre dışı bırakmak, güvenlik duruşunuzu önemli ölçüde iyileştirecektir. Bu, kaba kuvvet saldırıları gibi şifre denemelerine dayalı saldırıların önüne geçer.

  • SSH Yapılandırma Dosyasını Düzenleme: Sunucu üzerinde kök yetkileriyle (root) veya sudo ile /etc/ssh/sshd_config dosyasını düzenleyin.

    sudo nano /etc/ssh/sshd_config

  • Ayarları Değiştirme: Dosya içinde aşağıdaki satırları bulun ve aşağıdaki şekilde güncelleyin:
    • PasswordAuthentication yes satırını bulun ve PasswordAuthentication no olarak değiştirin. Eğer satır yoksa, ekleyin.
    • PubkeyAuthentication yes satırının etkin olduğundan emin olun. Bu genellikle varsayılan olarak etkindir.
  • SSH Servisini Yeniden Başlatma: Yapılan değişikliklerin etkili olması için SSH servisinin yeniden başlatılması gerekir.

    sudo systemctl restart sshd

    Veya

    sudo service ssh restart

Bu değişiklikleri yapmadan önce, SSH anahtarınızın çalıştığından ve sunucuya sorunsuz bir şekilde erişebildiğinizden kesinlikle emin olun. Aksi takdirde, sunucuya erişiminizi kalıcı olarak kaybedebilirsiniz.

SSH anahtar yönetimi, yalnızca bir kimlik doğrulama yöntemi değil, aynı zamanda siber güvenliğinizi proaktif olarak güçlendiren bir stratejidir. Özel anahtarınızın güvenliğini sağlamak ve genel anahtarınızı yalnızca yetkili sistemlere dağıtmak, sanal varlıklarınızı korumanın temel adımlarındandır.

SSH anahtar tabanlı kimlik doğrulama yöntemini kullanırken karşılaştığınız en büyük zorluk ne oldu ve bu zorluğun üstesinden nasıl geldiniz?

İlgili Yazılar