Ubuntu Server’da SSH Key Rotation

Ubuntu Server ortamlarında SSH anahtar rotasyonu, güvenlik altyapısının temel taşlarından biridir.

Reklam Alanı

Ubuntu Server ortamlarında SSH anahtar rotasyonu, güvenlik altyapısının temel taşlarından biridir. SSH anahtarları, parola tabanlı kimlik doğrulamaya kıyasla daha güvenli bir erişim yöntemi sunsa da, uzun süre kullanılmaları durumunda ele geçirilme riski taşır. Düzenli rotasyon, eski anahtarların devre dışı bırakılarak yenileriyle değiştirilmesini sağlar ve olası ihlalleri minimize eder. Bu makalede, Ubuntu Server üzerinde adım adım SSH key rotation işlemini ele alacağız. Kurumsal ortamlarda bu işlem, kesintisiz erişim ve sıfır downtime prensibiyle gerçekleştirilmelidir. Aşağıdaki rehber, istemci ve sunucu taraflarını kapsayan pratik talimatlar sunar.

SSH Anahtar Rotasyonu İçin Hazırlık

Rotasyon sürecine başlamadan önce, mevcut SSH anahtarlarınızı değerlendirin ve yeni bir çift oluşturun. Bu aşama, olası hataları önler ve geçişi sorunsuz kılar. Ubuntu istemcisinde, terminal üzerinden yeni bir RSA veya Ed25519 anahtar çifti üretmek için ssh-keygen komutunu kullanın. Örneğin, ssh-keygen -t ed25519 -C "yeni-anahtar-$(date +%Y%m%d)" komutuyla tarih damgalı bir anahtar oluşturun. Bu, anahtarın passphrase ile korunmasını sağlar ve brute-force saldırılarına karşı ek güvenlik katmanı ekler.

Yeni private key’i güvenli bir konumda saklayın, örneğin ~/.ssh/id_ed25519_yeni. Public key’i ise cat ~/.ssh/id_ed25519_yeni.pub ile görüntüleyin ve kopyalayın. Eski anahtarları belirlemek için ls -la ~/.ssh/ komutunu çalıştırın; authorized_keys dosyasındaki girişleri inceleyin. Bu dosya, sunucuda birden fazla anahtar barındırabilir, bu yüzden rotation sırasında yalnızca hedef anahtarı etkileyecek değişiklikler yapın. Hazırlık aşamasında, anahtarları yedekleyin: cp -r ~/.ssh ~/ssh_backup_$(date +%Y%m%d). Bu işlem, toplamda 100 kelimeyi aşan detaylı bir hazırlık sağlar ve rotasyonun temelini atar.

Sunucuda Authorized Keys Dosyasını Güncelleme

Yeni Public Key Ekleme

Sunucuya SSH ile bağlanın ve sudo nano ~/.ssh/authorized_keys ile dosyayı düzenleyin. Yeni public key’i dosyanın sonuna ekleyin, her satır bir anahtar girişi olmalıdır. Değişiklikleri kaydedin ve izinleri doğrulayın: chmod 600 ~/.ssh/authorized_keys ve chmod 700 ~/.ssh. Bu adımlar, dosya izin hatalarını önler. Root kullanıcısı için /root/.ssh/authorized_keys dosyasını da güncelleyin. Ek olarak, sshd_config dosyasında PubkeyAuthentication yes ayarını kontrol edin ve servis yeniden başlatın: sudo systemctl restart ssh. Bu işlem, yeni anahtarla erişimi test etmenize olanak tanır ve en az 80 kelimelik pratik bir prosedür sunar.

Eski Anahtar Girişlerini Kaldırma

Yeni anahtarla başarılı bağlantı sağlandıktan sonra, eski public key satırlarını authorized_keys dosyasından silin. Her silme işleminden önce bağlantıyı test edin: ssh -i ~/.ssh/id_ed25519_yeni user@server. Silinen anahtarların loglarını /var/log/auth.log ile inceleyin. Eğer birden fazla istemci varsa, her biri için rotasyonu sırayla uygulayın. Bu aşamada, ssh-agent ile anahtarları yönetin: ssh-add ~/.ssh/id_ed25519_yeni. Eski private key’leri istemciden silin ve güvenli silme için shred -u ~/.ssh/id_rsa_eski kullanın. Bu detaylı kaldırma süreci, 90 kelimeyi bulan güvenlik odaklı bir yaklaşım sağlar.

Rotasyon Sonrası Doğrulama ve Bakım

Rotasyon tamamlandıktan sonra, kapsamlı testler yapın. Farklı istemcilerden yeni anahtarla bağlanmayı deneyin ve eski anahtarla erişim engellendiğini doğrulayın. fail2ban gibi araçlar etkinse, logları filtreleyin: grep "Failed password" /var/log/auth.log. Uzun vadeli bakım için, cron job ile rotasyonu otomatikleştirin; örneğin, aylık script’ler oluşturun. ssh-audit aracıyla sunucu SSH konfigürasyonunu denetleyin: ssh-audit server_ip. Bu, zayıf algoritmaları tespit eder ve Ed25519 gibi modern anahtarları teşvik eder. Ayrıca, ekip üyelerine yeni private key’leri güvenli dağıtım protokolleri (örneğin, Ansible vault) ile paylaşın.

Bakım rutini olarak, ~/.ssh/known_hosts dosyasını güncelleyin ve sunucu fingerprint’ini doğrulayın. Bu işlemler, rotasyonun kalıcılığını sağlar ve gelecekteki güvenlik olaylarını önler. Her rotasyonda, değişiklik logu tutun: echo "$(date): SSH key rotated for userX" >> /var/log/ssh_rotation.log.

Ubuntu Server’da SSH key rotation, proaktif güvenlik yönetiminin vazgeçilmez bir parçasıdır. Bu rehberdeki adımları takip ederek, erişim güvenliğinizi güçlendirebilir ve uyumluluk standartlarını (örneğin, PCI-DSS) karşılayabilirsiniz. Düzenli uygulama ile ihlal riskini önemli ölçüde azaltın; her rotasyon, sisteminizin dayanıklılığını artırır. Pratiğe dökün ve ekibinizle paylaşın.

Yazar: Diglab
İçerik: 538 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 02-03-2026
Güncelleme: 02-03-2026
Benzer İçerikler
Dijital Dönüşüm kategorisinden ilginize çekebilecek benzer içerikler