Üretim Sunucusuna 9 SSH Anahtarı Erişebiliyor, 5 Sahibi Artık Orada Değil
Bir bağlantı sorununu çözmek için eski production sunucunuzdaki ~/.ssh/authorized_keys dosyasını kontrol ettiğinizi hayal edin. Açarsınız, okumaya başlarsınız, ve fark edersiniz: dokuz satır, dokuz kapı. Yorum satırlarını hafızaya karşı eşleştirirsiniz, 2023'teki göçmen yüklenici (hala orada), geçen bahar devre dışı bırakılan CI pipeline'ı (hala orada), ayrılan iki mühendis, biri dostça, biri pek de değil (hala orada). Ops ekibinin kimse de atfetmediği 'ops-temp' etiketli bir anahtar. Ve hiç yorum olmayan bir satır, ki bu kendi başına küçük bir korku türü.
Üretim sunucusu, hiç kimse onu unutmayı istemeyi açıkça belirtmediği için herkesi hatırlıyor. Dört anahtar hala erişime ihtiyaç duyan mevcut insanlara ait. Beş tanesi çöküntü.
Bu senaryo yazılım ekiplerinde çok yaygın. SSH anahtarları kalıcı, sessiz ve hiçbir zaman kendi kendini temizlemiyor. Bir çalışan gidiyor ama anahtarı kalıyor. Bir proje biter ama bot erişimi kalıyor. Bir CI sistemi yenileniyor ama eski yapılandırma kalıyor. Altı ay sonra kimse hangi anahtarın neye ait olduğunu hatırlamıyor.
Güvenlik açısından bu tehlikeli. Ayrılan bir çalışan kötü niyetli olabilir ya da anahtarı başkasına vermiş olabilir. Eski bir sistem kayıtları kayıp edebilir. Kimliği belirsiz bir hesap ne zaman, ne için ve kim tarafından oluşturuldu? Hiç kimse bilmiyor.
Çözüm: authorized_keys dosyasını düzenli denetleyin. Her anahtarın yanında açık, güncellenen bir yorum koyun (kişi, tarih, amaç). Ayrılan çalışanlar için erişimi hemen kaldırın. Periyodik olarak (ayda bir en az) kimin gerçekten erişime ihtiyacı olduğunu sorun. Mümkünse SSH anahtarlarını süresi dolan sertifikalarla değiştirin, anahtarlar sonsuza kadar orada kalmayacak.
Production sunucusu unutkanlık için bir yer değil. Her satır bir karar, her açık kapı bir risk.
0 yorum