1. Secret Key'inizi Güvenli Bir Şekilde Saklayın

Secret Key'inizi Güvenli Bir Şekilde Saklayın

Secret Key Nedir?

SecretKey, sadece size özel tanımlanmış bir güvenlik anahtarıdır. API isteklerinin doğruluğunu ve kaynağını garanti altına almak için x_signature üretiminde kullanılır.

Bu anahtar, sisteminizin dış dünya ile kurduğu güvenlik katmanının temelidir. Sadece backend tarafında kullanılmalı, hiçbir şekilde istemciye (mobil, web, tarayıcı) sızdırılmamalıdır.

Kullanım Amacı

  • İsteklerin bütünlüğünü ve kaynağını doğrulamak

  • Replay ve manipülasyon girişimlerine karşı sunucu tarafı güvenlik

  • Tek seferlik imza üretimi (timestamp + nonce ile)

En İyi Uygulamalar

Saklama

  • Güvenli bir secret manager kullanın (Vault, AWS Secrets Manager, Azure Key Vault vb.)

  • Geliştirme ortamlarında environment variable tercih edin (ROOFVPOS_SECRET_KEY)

  • Config dosyalarında düz metin olarak tutmayın; şifreleyin

  • Erişimi sadece gerekli servislerle sınırlandırın (Least Privilege)

Kullanım

  • Belleğe sadece işlem süresince alın; loglamayın.

  • İmza üretiminde HTTP Body’yi olduğu gibi kullanın (whitespace dahil).

  • Her istekte zaman damgası ve nonce ile tekil imza üretin.

Rotasyon ve Olay Yönetimi

  • Anahtarı düzenli aralıklarla yenileyin (örn. her 60–90 gün).

  • Sızıntı şüphesinde: anında rotasyon + erişim iptali + audit süreci başlatın.

🚫 Kaçınılması Gerekenler

  • Kaynak kod içine hardcode etmek.

  • Loglara, hata mesajlarına veya metriklere yazmak.

  • URL parametresiyle taşımak.

  • E-posta, sohbet vb. kanallarda paylaşmak.


Örnek Secret Key :

Last updated

Was this helpful?