ÖZET
Evet, Postman, API anahtarlarını ve diğer kimlik bilgilerini, bulut senkronizasyonu etkin (varsayılan ayardır) ortam değişkenlerinde kaydettiğinizde depolar. Bu, Postman'ın anahtarlarınızı kötüye kullandığı anlamına gelmez, ancak kimlik bilgilerinizin üçüncü taraf bir sunucuda bulunduğu anlamına gelir. Bunu anlamak, Postman'ın varsayılan kurulumunun güvenlik gereksinimlerinize uyup uymadığına ve Apidog gibi yerel öncelikli bir aracın ne zaman daha iyi bir seçim olabileceğine karar vermenize yardımcı olur.
Düğme
Giriş
“Postman API anahtarlarımı depoluyor mu?” sorusu, geliştirici topluluklarında düzenli olarak ortaya çıkar. Reddit’in r/webdev veya r/programming bölümlerini aradığınızda, genellikle bir güvenlik denetimi bulgusu veya güvenlik ekipleriyle yapılan bir konuşma tarafından tetiklenen, aynı şeyi soran geliştiricilerden gelen başlıkları bulacaksınız.
Endişe meşrudur. API anahtarları, hizmetleriniz için esasen parolalardır. Bir ödeme işlemcisi için sızan bir API anahtarı, sahte ücretlendirmelere yol açabilir. Sızan bir bulut sağlayıcı anahtarı, yetkisiz kaynak oluşturma, veri sızdırma veya on binlerce dolarlık bir fatura ile sonuçlanabilir. Bu anahtarları geliştirme araçlarında depolayan geliştiriciler, o araca güvenlerini emanet etmiş olurlar.
Çoğu geliştirici, API anahtarlarını herkese açık GitHub depolarına commit etmemeleri gerektiğini bilir. API istemci araçları etrafındaki farkındalık daha düşüktür. Postman'ın 30 milyondan fazla kullanıcısı var, bu da çok sayıda geliştiricinin kimlik bilgilerinin nereye gittiğini tam olarak anlamadan bir araçta depoladığı anlamına geliyor.
Bu makale, API anahtarı depolama sorusuna doğrudan, teknik bir yanıt veriyor ve bu konuda neler yapabileceğinizi açıklıyor.
Doğrudan yanıt: evet, önemli bağlamıyla birlikte
Postman, API anahtarlarını aşağıdaki senaryolarda depolar:
- Ortam değişkenlerini kullandığınızda. Postman’ın ortam sistemi, isteklerde kullanılacak kimlik bilgilerini depolamanın standart yoludur.
API_KEYadında bir ortam değişkeni oluşturup değerinisk-abc123...olarak ayarlarsanız, bulut senkronizasyonu aktif olduğunda bu değer Postman’ın bulut sunucularıyla senkronize edilir. Bu varsayılan davranıştır. - Koleksiyon değişkenlerini kullandığınızda. Koleksiyon düzeyinde depolanan değişkenler de aynı şekilde senkronize edilir.
- Genel değişkenleri kullandığınızda. Genel değişkenler Postman hesabınızla senkronize edilir.
- Kimlik bilgileri istek gövdelerinde veya başlıklarında göründüğünde. Bir kimlik bilgisini bir istek başlığında (örneğin
Authorization: Bearer sk-abc123...gibi) sabit kodlar ve koleksiyonu kaydederseniz, bu değer senkronize edilir. - Varsayılan olarak senkronize edilmeyenler: Postman Vault’ta depolanan değerler. Vault, Postman’ın bulutuyla açıkça senkronize olmayan yerel bir kimlik bilgisi deposudur. Kimlik bilgilerini ortam değişkenleri yerine orada manuel olarak depolamayı gerektirir.
“Bulut senkronizasyonu” aslında ne anlama geliyor?
Postman’daki bulut senkronizasyonu, çalışma alanı verilerinizin bir kopyasının sürekli olarak Postman sunucularında tutulduğu anlamına gelir. Bu, arka planda otomatik olarak gerçekleşir. “Kaydet” veya “senkronize et” düğmesine tıklamanıza gerek yoktur. Siz çalıştıkça değişiklikler buluta yayılır.
Amacı işbirliği ve kalıcılıktır. Dizüstü bilgisayarınız bozulsa bile, çalışmalarınız Postman’ın bulutunda olduğu için kaybolmaz. Makine değiştirdiğinizde, koleksiyonlarınız ve ortamlarınız hesabınıza senkronize edildiği için sizi takip eder.
Güvenlik çıkarımı şudur: Dizüstü bilgisayarınızdaki uygulamada yaşadığını düşündüğünüz API anahtarlarınız aslında her iki yerde de yaşar: dizüstü bilgisayarınızda ve Postman’ın bulutunda.
Postman bu verileri şifreler. Belirli şema, duran veriler için AES-256 şifrelemesi ve aktarılan veriler için TLS’dir. Bu standart ve makul bir şifrelemedir. Anahtarlar, bir Postman veri tabanında düz metin olarak durmuyor.
Ancak şifreleme, erişilemez olduğu anlamına gelmez. Postman, hizmeti sağlamak için verilere erişebilir. Postman hesabınız ele geçirilirse (kimlik avı, kimlik bilgisi doldurma veya Postman’daki bir veri ihlali yoluyla), depolanan API anahtarlarınız erişim sağlayan herkes tarafından potansiyel olarak erişilebilir hale gelir.
Postman’ın gizlilik politikası kimlik bilgileriniz hakkında ne diyor?
Postman’ın gizlilik politikası, çalışma alanlarınızın içeriği için onları bir veri işleyici olarak tanımlar, veri denetleyicisi olarak değil. Hizmeti sağlamak için verilerinizi işlerler. Çalışma alanı içeriğinizi üçüncü taraflara satmazlar.
Veri işleme belgelerinden önemli noktalar:
- Amacın sınırlılığı. Postman, çalışma alanı içeriğini pazarlama veya yeniden satış için değil, hizmeti sağlamak ve iyileştirmek için kullandıklarını belirtir.
- Alt işlemciler. Postman, altyapı, destek ve analiz için üçüncü taraf hizmetleri kullanır. Bu alt işlemciler, hizmetin sunulması kapsamında verilerinizi işleyebilir. Postman, belgelerinde alt işlemcilerin bir listesini yayınlar.
- Devlet talepleri. Bir ABD şirketi olarak Postman, ulusal güvenlik mektupları da dahil olmak üzere ABD kolluk kuvvetlerinin taleplerine tabidir. ABD sunucularında depolanan veriler yasal süreçlerle talep edilebilir.
- İhlal bildirimi. Postman’ın şartları güvenlik ihlali bildirim hükümlerini içerir. Verilerinizin bir ihlalde yer alması durumunda, Postman size bildirimde bulunmakla sözleşmeli olarak yükümlüdür.
- Veri silme. Hesabınızı sildiğinizde, Postman verilerinizi siler. Yedekleme saklama süreleri değişir.
Bu, bir B2B SaaS şirketi için normal bir politikadır. Kötü niyetin bir göstergesi değildir. Buradaki soru, kuruluşunuzun güvenlik politikasının API kimlik bilgilerini üçüncü taraf bir bulut hizmetinde depolamaya izin verip vermediği ve bu politikayı Postman'ın gerçekte ne yaptığına karşı gözden geçirip geçirmediğinizdir.
Çalışma alanı görünürlüğü boyutu
Bulut senkronizasyonunun ötesinde, Postman’ın API anahtarı riskinin ikinci bir boyutu daha vardır: çalışma alanı görünürlüğü.
Postman çalışma alanları Genel, Ekip veya Özel olabilir. Genel çalışma alanlarına kimlik doğrulaması olmadan herkes erişebilir. Bunlar Postman’ın herkese açık API ağında aranabilir.
2023 yılında, CloudSEK araştırmacıları, gerçek API anahtarları, jetonlar ve diğer kimlik bilgilerini içeren 30.000’den fazla genel Postman çalışma alanı buldu. Razorpay ve New Relic dahil şirketler, genel çalışma alanlarında hassas kimlik bilgilerine sahipti. Bu maruz kalma bir ihlalden kaynaklanmıyordu. Geliştiricilerin, aynı çalışma alanının ortam değişkenlerinde gerçek kimlik bilgilerini barındırdığını fark etmeden çalışma alanlarını genele açık olarak ayarlamasından kaynaklanıyordu.
Bu, ikinci ve farklı bir risktir. Postman’ın bulut güvenliğine güvenseniz bile, çalışma alanı görünürlüğünü yanlış yapılandırmak, kimlik bilgilerinizi tüm internete ifşa edebilir.
En çok kimler risk altında?
Her geliştirici, Postman’ın kimlik bilgisi işleme yöntemlerinden aynı düzeyde riskle karşılaşmaz. Risk, aşağıdaki durumlarda daha yüksektir:
- Üretim kimlik bilgilerini Postman'da depoluyorsanız. Üretim API'lerini üretim anahtarlarıyla test etmek, üretim kimlik bilgilerinin Postman’ın bulutunda olduğu anlamına gelir. Bu yaygın ve gerçekten risklidir.
- Ekip çalışma alanınız geniş erişime sahipse. 50 kişilik bir şirketteki herkes tüm çalışma alanlarına erişimi olan aynı Postman ekibindeyse, tek bir ele geçirilmiş hesap tüm kimlik bilgilerini açığa çıkarır.
- Regüle bir sektörde çalışıyorsanız. Sağlık, finans, hükümet ve savunma kuruluşları genellikle belirli verilerin nerede depolanabileceği konusunda açık kurallara sahiptir. Sağlık bilgileri (PHI) veya finansal verileri barındıran sistemlere erişim sağlayan API anahtarlarını üçüncü taraf bir bulutta depolamak bu kuralları ihlal edebilir.
- API anahtarlarınız yüksek ayrıcalıklara sahipse. Herkese açık bir API için salt okunur bir anahtar düşük risk taşır. Bulut altyapınız veya ödeme işlemciniz için bir yönetici anahtarı yüksek risklidir. Maruz kalmanın sonuçları, anahtarın ayrıcalık düzeyiyle ölçeklenir.
- Bir müteahhit veya danışmansanız. Müşteri API kimlik bilgilerini kişisel Postman hesabınızda depolamak, müşteri kimlik bilgilerinin kişisel hesabınızla bağlantılı üçüncü taraf bir sunucuda bulunduğu anlamına gelir. Bu hesap ele geçirilirse, müşteri güvenliği risk altında olur.
Postman Vault tabloyu nasıl değiştiriyor?
Bu endişeleri gidermek için tanıtılan Postman Vault, kimlik bilgisi değerlerini makinenizde yerel olarak depolar. Vault'taki değerler Postman’ın bulutuyla senkronize edilmez. Onlara isteklerde {{vault:variable_name}} sözdizimini kullanarak başvurursunuz.
Bu, anlamlı bir güvenlik iyileştirmesidir. Vault'ta depolanan API anahtarları Postman’ın sunucularında değildir.
Sınırlamalar: kasıtlı bir davranış değişikliği gerektirir. Geliştiricilerin ortam değişkenleri etrafında yıllarca süren kas hafızası vardır. Vault, her ekip üyesinin kendi yerel Vault'unu kurmasını gerektirir, bu da kimlik bilgilerinin Postman’ın ekip özellikleri aracılığıyla paylaşılmadığı anlamına gelir. Ekip üyelerini dahil etmek için ayrı bir gizli paylaşım mekanizmasına ihtiyacınız vardır.
Vault ayrıca, istek başlıklarında veya gövdelerinde doğrudan görünen kimlik bilgilerini veya koleksiyon ve genel değişkenlerdeki kimlik bilgilerini de ele almaz.
Yerel öncelikli araçlar ve alternatif model
Yerel öncelikli araçlarla temel fark varsayılan ayardır. Postman'da, bulut senkronizasyonu siz kapatmadıkça açıktır (ve o zaman bile, özellikle kimlik bilgileri için Vault gerektirir). Apidog'da, senkronizasyonu açmadığınız sürece veriler yerel kalır.
Aracın sırları herhangi bir yapılandırma olmadan güvenli bir şekilde işlemesini isteyen geliştiriciler için bu önemli bir farktır. Vault hakkında bilgi sahibi olmanıza, onu yapılandırmanıza ve tüm ekibinizi kullanması için eğitmenize gerek kalmaz. Güvenli davranış varsayılan davranıştır.
Bruno bunu daha da ileri götürür: her şeyi dosya sisteminizdeki dosyalarda depolar. Hiçbir Apidog tarzı bulut seçeneği yoktur. Yalnızca yerel bir gereklilik ise, Bruno bu sorunu tamamen ortadan kaldırır.
Pratik tavsiyeler
- Şu anda ne depoladığınızı denetleyin. Postman ortamlarınızı açın ve her değişkeni gözden geçirin. API anahtarları, jetonlar, parolalar ve sırlar olup olmadığına bakın. Postman’ın bulutunda ne olduğunu bilin.
- Kimlik bilgileri için Postman Vault'a geçin. Postman'da kalması gereken tüm kimlik bilgilerini Vault'a taşıyın. Ekibinizin belgelerini ve işe alım sürecini güncelleyin.
- Test için kapsamlı, sınırlı ayrıcalıklı anahtarlar kullanın. Geliştirme ve test için minimum gerekli izinlere sahip özel API anahtarları oluşturun. Bir test anahtarı sızarsa, etkisi sınırlı olur. Geliştirme araçlarında asla yönetici veya üretim anahtarları kullanmayın.
- Çalışma alanı görünürlüğünü gözden geçirin. Kimlik bilgileri içeren hiçbir çalışma alanının Genele Açık olarak ayarlanmadığından emin olun. Tüm çalışma alanları için varsayılan olarak Özel’i seçin.
- Tehdit modelinizi göz önünde bulundurun. Kişisel projeler ve hassas olmayan API'ler için Postman'ın mevcut kurulumu muhtemelen uygundur. Üretim kimlik bilgileri, düzenlemeye tabi veriler veya müşteri çalışmaları için, Postman ile güvenliği sağlamak için atılacak ek adımlardan, yerel öncelikli bir araç kullanarak kaçınmak daha kolay olabilir.
Sıkça Sorulan Sorular
- Postman API anahtarlarımı veya çalışma alanı verilerimi satıyor mu?Hayır. Postman’ın gizlilik politikası, kullanıcı çalışma alanı içeriğini satmadıklarını belirtir. Bunu hizmeti sağlamak ve iyileştirmek için kullanırlar.
- Postman hesabım ele geçirilirse, bir saldırgan API anahtarlarımı alabilir mi?Evet, bu anahtarlar bulutla senkronize olan ortam değişkenlerinde depolanıyorsa. Bu nedenle, kimlik bilgileri için Postman Vault kullanmak ve Postman hesabınızda çok faktörlü kimlik doğrulamayı etkinleştirmek önemlidir.
- Postman çok faktörlü kimlik doğrulamayı destekliyor mu?Evet. Postman, kimlik doğrulayıcı uygulamalar aracılığıyla MFA'yı destekler. MFA'yı etkinleştirmek, hesap ele geçirme riskini önemli ölçüde azaltır.
- Postman Vault'taki API anahtarları güvenli mi?Postman Vault'ta depolanan anahtarlar yerel olarak depolanır ve Postman’ın bulutuna senkronize edilmez. Yerel makineniz kadar güvenlidirler. Makineniz ele geçirilirse, Vault içeriği erişilebilir olur. Ancak Postman'a veya makinenizi ele geçirmeden Postman hesabınızı ele geçiren birine erişilebilir değildirler.
- API anahtarlarımı herhangi bir bulut aracında depolayamıyorsam ne kullanmalıyım?Bruno, hiç bulut bileşeni olmayan en kısıtlayıcı seçenektir. Yerel moddaki Apidog, her şeyi cihazda depolar. Hiçbir bulut aracı olmayan ekip ortamları için, Hoppscotch kendi kendine barındırılan veya Apidog kendi kendine barındırılan, üçüncü taraf bir buluta güvenmeden işbirliği yapmanızı sağlar.
- API anahtarlarımı Postman’ın bulutundan nasıl kaldırırım?Postman ortamlarınıza gidin, kimlik bilgileri içeren değişkenleri silin ve bunları Vault referanslarıyla değiştirin. Geçmiş senkronizasyon verilerini kaldırmak isterseniz, çalışma alanını ve ilişkili tüm verileri Postman hesap ayarlarınızdan silmeniz gerekir.
“Postman API anahtarlarımı topluyor mu?” sorusunun cevabı, varsayılan ayarlarda ve yaygın kullanım şekillerinde evettir. Bu, Postman’ı kötü bir ürün yapmaz. Bu, hassas kimlik bilgilerini depolamadan önce veri modelini anlamanız ve güvenlik gereksinimleriniz bunu gerektirdiğinde Vault’u veya alternatif bir aracı kullanmanız gerektiği anlamına gelir.
