Konuyu Açan #1
SSH-keygen ile Anahtar Yönetimi

Güvenli bağlantıların temelini oluşturan SSH anahtarlarını doğru biçimde üretmek, saklamak ve kullanıma almak konusunda pratik bir rehber. Aşağıdaki adımlar, günlük sunucu yönetiminde karşılaşılan yaygın senaryolara dayanarak güvenli bir akış sunar.


Giriş ve temel kavramlar
İyi bir SSH anahtar yönetimi, kullanıcı kimlik doğrulamasını parolaya bağımlı olmayan şekilde güçlendirir. Genelde iki anahtar çifti kullanılır: özel anahtar (private) ve açık anahtar (public). Özel anahtar kullanıcıya aittir ve güvenli bir şekilde saklanmalıdır; açık anahtar ise bağlanmak istediğiniz sunucuya kopyalanır. SSH konfigürasyonu, sunucu tarafında yetkilendirme için yetkili anahtarlar dosyasını kullanır ve anahtarlar, belirli bir kullanıcıya veya sunucuya göre kısıtlanabilir.

Anahtar çifti üretimi
  • Temel komut: ssh-keygen -t ed25519 -a 100 -C "kullanıcı@makina"
  • -t ed25519: modern ve hızlı algoritma. Eski sunucular için -t rsa ile uyumluluk gerekebilir.
  • -a 100: dosya kilitleme ve güvenlik için güçlü bir bolstering parametresi (ephemeral battements). Güç maksimim ve performans arasında denge sağlar.
  • -C "..." : bir etiket/yorum, anahtarın kime ait olduğunu kolayca tanımlar.
  • Oluşturulan dosyalar: varsayılan olarak ~/.ssh/id_ed25519 ve ~/.ssh/id_ed25519.pub
  • Parola: özel anahtara bir parola koymak doğrudan önerilir; böylece dosya ele geçirildiğinde bile kullanılabilirlik sınırlanır.


Anahtarları güvenli saklama
  • Özel anahtarı asla paylaşmayın. İzinler 600 veya daha sıkı olmalı: chmod 600 ~/.ssh/id_ed25519
  • .ssh dizininde güvenlik için uygun izinler: chmod 700 ~/.ssh
  • Parola koruması kullanın; ancak otomatik araçlar için parolasız oturum açmaya ihtiyaç duyulabilir, bu durumda ssh-agent kullanımı güvenli ve pratik bir çözümdür.


Sunucuya anahtar ekleme ve yönetimi
  • Açık anahtarın eklenmesi: cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
  • Yetkilendirme sınırları: geçici erişim için tek seferlik anahtarlar veya kısıtlı komutlar belirlemek mümkün. OpenSSH’inauthorized_keys içindeki "command=", "from=", "restrict" gibi seçenekler güvenliği artırır.
  • Anahtar rotasyonu: belirli aralıklarla yeni anahtar üretmek, eski anahtarları sistemden kaldırmak iyi bir pratiktir. Eski anahtarlar için de logları kontrol etmek gerekir.


Parola güncellemesi ve politikalar
  • Parola yerine anahtar bazlı kimlik doğrulama tercih edin. Parola politikalarını merkezi olarak yöneten bir kimlik yönetim sistemi ile entegrasyon güvenliği güçlendirir.
  • CAS ve MFA entegrasyonları ile ek güvenlik katmanları eklemeyi düşünün.


Otomasyon ve günlük uygulama senaryoları
  • Çok sayıda kullanıcı veya sunucu varsa merkezi bir anahtar yönetim sistemi (örneğin konfigürasyon yönetim araçlarıyla entegre) kullanımı işleri kolaylaştırır.
  • SSH konfigürasyon dosyaları üzerinden belirli sunucular için farklı anahtarlar ve kısıtlamalar uygulanabilir; örneğin bir kullanıcı sadece belirli IP adreslerinden bağlanabilir veya belirli komutları çalıştırabilir.


Sık karşılaşılan hatalar ve çözümler
  • Yetkisiz anahtarlar hatası: sunucudaki ~/.ssh/authorized_keys dosyasının izinlerini doğru ayarlayın.
  • Parola olmadan bağlanamama: ssh-agent ile anahtarın bellekte tutulmasını sağlayın ve istemci tarafında ssh-add komutunu hatırlatıcı olarak kullanın.
  • Eski algoritmalara uyumluluk sorunu: RSA yerine ED25519 kullanımı çoğu durumda en uyumlu ve güvenlidir; gerekiyorsa ssh_config ve sshd_config üzerinde yeniden uyumluluk ayarlarını gözden geçirin.


KOD
123456789# Örnek günlük kullanım akışı
[b]1) Yeni anahtar üretimi[/b]
ssh-keygen -t ed25519 -a 100 -C "kullanıcı@makina"

[b]2) Açık anahtarın sunucuya kopyalanması[/b]
cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

[b]3) Anahtarları yönetin (inaktive etmek için)[/b]
[b]authorized_keys dosyasından belirli anahtarları temizlemek için manuel edit veya script kullanın[/b]


Bu yaklaşım, anahtar yönetimini net ve uygulanabilir bir pratiğe dönüştürür. Böylece güvenlik iyileştirmeleri ile birlikte günlük operasyonlar daha sorunsuz ilerler. Siz hangi senaryolarda bu akışı tercih ediyorsunuz, ve özel bir ortamda hangi adımlarda ek güvenlik önlemleri alıyorsunuz?

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 3, Üyeler: 3, Misafirler: 0)
Toplam: 3 (üyeler: 3, misafirler: 0)
0 alıntı seçildi