İç servis trafiğinde TLS kullanımı artık istisna değil temel beklenti. Buna rağmen birçok kurumda sertifika yönetimi hâlâ manuel talepler, uzun ömürlü dosyalar ve nadiren dokunulan gizli anahtarlar üzerinden ilerliyor. Bu model küçük ölçekte taşınabilir; fakat servis sayısı arttıkça operasyon yükü ve güvenlik riski birlikte büyür. Kısa ömürlü sertifika yaklaşımı, bu yükü azaltmak için etkili bir yöntemdir. step-ca, sade kurulum modeli sayesinde bu dönüşüm için pratik bir başlangıç sunar.
Neden kısa ömürlü sertifika?
Uzun ömürlü sertifikalar ilk bakışta rahat görünür. Bir kez üretirsiniz, aylarca unutursunuz. Fakat bu rahatlık üç sorun taşır:
- Sızıntı durumunda etki süresi uzundur
- Yenileme zamanı geldiğinde operasyon baskısı oluşur
- Sertifika sahipliği zamanla belirsizleşir
Kısa ömürlü sertifikada ise güvenlik modeli “iyi koru ve uzun süre sakla” yerine “hızlı üret, kısa kullan, otomatik yenile” eksenine kayar. Böylece risk yüzeyi küçülür.
1. step-ca kurulumu
Önce kontrol düzlemini ayağa kaldırın. Küçük bir lab ya da iç ağ ortamında aşağıdaki komutlar iyi bir başlangıç verir:
brew install step
step ca init \
--name "Mustafa Internal CA" \
--dns "ca.internal.example" \
--address ":9000" \
--provisioner "platform-team"
Kurulum sırasında kök ve ara CA anahtarlarının korunacağı dizini dikkatle seçin. Bu host mümkünse genel amaçlı uygulama düğümlerinden ayrılmalıdır.
2. ACME provisioner ekleyin
İç servislerin otomatik sertifika alabilmesi için ACME akışını açmak en pratik seçeneklerden biridir:
step ca provisioner add internal-acme \
--type ACME
Bu sayede servisler certbot benzeri akışlarla ya da doğrudan step istemcisiyle sertifika alabilir. İç DNS çözümlemesi ve erişim kontrolü bu noktada önemlidir; her host’a koşulsuz sertifika vermek istemezsiniz.
3. Servis üzerinde sertifika isteyin
Örnek olarak bir iç API için kısa ömürlü bir sertifika alalım:
step ca certificate api.internal.example \
/etc/ssl/api.crt \
/etc/ssl/api.key \
--provisioner internal-acme
Gerçek üretimde bunu elle çalıştırmak yerine systemd timer, sidecar ya da giriş script’i içinde otomatikleştirmek daha doğrudur. Ana fikir, sertifika dosyasının tek seferlik insan işlemiyle değil, denetimli otomasyonla üretilmesidir.
4. Yenilemeyi zamanlayın
Kısa ömürlü sertifika modelinin kalbi yenilemedir. Sertifika süresini örneğin 24 saate çekiyorsanız yenilemeyi son dakikaya bırakmamak gerekir. Basit bir systemd timer örneği:
[Unit]
Description=Renew internal TLS certificate
[Service]
Type=oneshot
ExecStart=/usr/local/bin/step ca renew /etc/ssl/api.crt /etc/ssl/api.key --force
ExecStartPost=/bin/systemctl reload my-api.service
Bu örnekte kritik nokta, yenileme sonrası servisin yeni sertifikayı gerçekten yüklemesidir. Dosya yenilenip proses eski sertifikayla çalışmaya devam ederse model kağıt üzerinde kalır.
5. Gözlem ve alarm ekleyin
Sertifika otomasyonu kurulduktan sonra her şeyin kendi kendine çalışacağını varsaymak risklidir. Şu sinyalleri mutlaka izleyin:
- Kalan sertifika ömrü
- Son başarılı yenileme zamanı
- Yenileme hata oranı
- step-ca erişilebilirliği
- İmzalama isteği hacmi ve başarısızlık dağılımı
Bu görünürlük olmadan otomasyon sessizce bozulabilir ve ancak büyük çaplı sona erme olayında fark edilir.
6. Gizli anahtar yönetiminde dikkat edilmesi gerekenler
Kısa ömürlü sertifika kullanmak, özel anahtar disiplinini gereksiz kılmaz. Hatta bazı durumlarda yenileme sıklaştığı için anahtar dosyasına dokunan süreç sayısı artabilir. Bu yüzden:
- Anahtar izinlerini minimumda tutun
- Yenileme sürecini servis kullanıcısıyla sınırlandırın
- Mümkünse anahtar rotasyonunu da periyodikleştirin
- step-ca log’larında hassas içerik bırakmayın
Sertifika ömrü kısaldıkça operasyon daha güvenli olur; ama yalnızca anahtar hijyeni de korunuyorsa.
Sonuç
step-ca ile iç servisler için kısa ömürlü sertifika otomasyonu kurmak, mTLS ve iç TLS kullanımını operasyonel açıdan taşınabilir hâle getirir. Uzun ömürlü sertifikaların unutulmuş riskini azaltır, yenileme baskısını otomasyona taşır ve servis güvenliğini daha düzenli bir ritme bağlar. İç PKI’nin değeri, karmaşık olmasında değil; ekiplerin gerçekten sürdürebileceği kadar sade olmasında yatar.