Konuyu Açan
#1
Zamanlanmış Python betikleri genellikle geliştiricinin oturumundan bağımsız çalışır; bu yüzden yerelde sorunsuz okunan bir parola, cron, systemd timer veya bir görev kuyruğunda ya hiç bulunmaz ya da yanlış yere yazılmıştır. Secret’ları kaynak koda koymak ilk bakışta kolay görünür, fakat dosya depoya girdiğinde silmek yetmez: eski commit’lerde ve yedeklerde kalmış olabilir. Böyle bir değer açığa çıktıysa önce iptal edip yenilemek gerekir.
Küçük ve tek sunuculu kurulumlarda, secret’ları yalnızca görev kullanıcısının okuyabildiği bir ortam dosyasından yüklemek makul bir başlangıçtır. Dosya izinlerini sıkı tutun; görevi çalıştıran kullanıcıya gereksiz yönetici yetkisi vermeyin. Ortam değişkenleri de uygulamaya aktarım için kullanışlıdır, ancak süreç bilgileri, hata dökümleri veya yapılandırma çıktıları içinde görünmeyeceklerini varsaymayın. Üretim ortamında bulut sağlayıcısının ya da kurumun secret yöneticisinden çalışma anında almak, merkezi erişim denetimi ve rotasyon açısından daha sağlamdır.
Betiğin güvenli kalması yalnızca secret’ı nereden aldığına bağlı değil. Parolaları loglamayın, hata mesajlarında yapılandırma nesnelerini dökmeyin ve mümkünse her görev için ayrı, yalnızca gereken kaynağa erişen kimlik bilgileri kullanın. Rotasyon sonrasında eski değerin hangi makinelerde veya yedeklerde kaldığını da kontrol edin.
Siz cron veya systemd gibi ortamlarda bu işi nasıl çözdünüz; en çok hangi noktada sorun yaşadınız?
Küçük ve tek sunuculu kurulumlarda, secret’ları yalnızca görev kullanıcısının okuyabildiği bir ortam dosyasından yüklemek makul bir başlangıçtır. Dosya izinlerini sıkı tutun; görevi çalıştıran kullanıcıya gereksiz yönetici yetkisi vermeyin. Ortam değişkenleri de uygulamaya aktarım için kullanışlıdır, ancak süreç bilgileri, hata dökümleri veya yapılandırma çıktıları içinde görünmeyeceklerini varsaymayın. Üretim ortamında bulut sağlayıcısının ya da kurumun secret yöneticisinden çalışma anında almak, merkezi erişim denetimi ve rotasyon açısından daha sağlamdır.
Betiğin güvenli kalması yalnızca secret’ı nereden aldığına bağlı değil. Parolaları loglamayın, hata mesajlarında yapılandırma nesnelerini dökmeyin ve mümkünse her görev için ayrı, yalnızca gereken kaynağa erişen kimlik bilgileri kullanın. Rotasyon sonrasında eski değerin hangi makinelerde veya yedeklerde kaldığını da kontrol edin.
Siz cron veya systemd gibi ortamlarda bu işi nasıl çözdünüz; en çok hangi noktada sorun yaşadınız?
