CyberFlow Logo CyberFlow BLOG
Soc L2 Advanced Correlation Writing

Siber Güvenlikte Kimlik Doğrulama ve Credential Yönetimi

✍️ Ahmet BİRKAN 📂 Soc L2 Advanced Correlation Writing

Kimlik doğrulama ve güvenli credential yönetimi ile API güvenliğinizi artırın. Eğitimin detaylarını keşfedin.

Siber Güvenlikte Kimlik Doğrulama ve Credential Yönetimi

API güvenliği her geçen gün daha kritik hale geliyor. Bu blog yazısında, kimlik doğrulama mekanizmalarını ve güvenli credential yönetimi yöntemlerini öğreneceksiniz. Eğitim içeriğimizle siber güvenliğinizi güçlendirin.

Giriş ve Konumlandırma

Siber güvenlik, bir organizasyonun bilgi varlıklarını korumak adına uyguladığı stratejilerin ve teknolojilerin bütünüdür. Bu bağlamda, kimlik doğrulama (authentication) ve credential yönetimi, güvenlik alanının temel yapı taşlarından biridir. Siber tehditlerin her geçen gün çeşitlenmesi ve saldırıların karmaşık hale gelmesi, bu konuların önemi artırmaktadır. Doğru kimlik doğrulama ve etkili credential yönetimi, sistemlerin güvenliğini sağlamakla kalmaz, aynı zamanda yetkilendirme (authorization) süreçlerini de destekleyerek siber saldırılara karşı önlem almayı mümkün kılar.

Kimlik Doğrulama ve Credential Yönetiminin Önemi

Kimlik doğrulama, bir sistemin kimliğini doğrulama sürecidir. Bu süreç, kullanıcıların veya sistemlerin kendilerini ispat etmesi için gerekli olan mekanizmalardır. Örneğin, kullanıcının bir uygulamaya giriş yapabilmesi için doğru kullanıcı adı ve şifre kombinasyonunu girmesi gerekir. Doğru bir şekilde uygulanmadığında, siber saldırganlar bu sistemlere kolayca erişim sağlayabilir. Yetkilendirme ise kimliği doğrulanan kullanıcının ne tür işlemler yapabileceğini belirler. Yani kimlik doğrulama, bir “şifre” işlevine, yetkilendirme ise “anahtar” işlevine benzer.

Credential yönetimi, yani kimlik bilgileri yönetimi, kullanıcı adı, şifre, API anahtarı gibi hassas bilgilerin güvenli bir şekilde saklanmasını ve yönetilmesini ifade eder. Bu bilgiler, bir sistemin güvenliği açısından kritik öneme sahiptir. Uygulama ve sistem geliştiricilerinin bu bilgileri yanlış bir biçimde yönetmesi, büyük çapta veri sızıntılarına ve kötü niyetli saldırılara neden olabilmektedir. Örneğin, bir API anahtarı ya da şifrelerin kaynak koduna gömülmesi, bu bilgilerin kötü niyetli kişiler tarafından kolayca ele geçirilmesine yol açabilir.

Siber Güvenlik Bağlamında Kimlik Doğrulama ve Credential Yönetimi

Siber güvenlik alanında, kimlik doğrulama ve credential yönetimi, savunma stratejileri için kritik öneme sahiptir. Özellikle penetrasyon testleri (pentest) açısından, bu mekanizmaların test edilmesi, güvenlik açıklarının belirlenmesi için hayati bir adımdır. Pentest süreçleri, sistemlerin güvenlik altyapısını değerlendirmeyi amaçlar ve kimlik doğrulama mekanizmalarının zayıflıkları genellikle saldırganlar tarafından gözlemlenen ilk hedeflerden biridir.

Modern güvenlik standartları, kimlik bilgilerini düzenli olarak yenilemenin ve güvenli bir şekilde saklamanın önemini vurgular. Örneğin, Credential Rotation (Döngü) uygulaması, hassas kimlik bilgileri ile ilgili değişiklik yapma pratiğidir. Bu, belirli aralıklarla API anahtarlarının ve şifrelerin yenilenmesi gerektiğini belirtir ve sistemlerin güvende kalmasına yardımcı olur.

Bu bağlamda, API güvenliğinde kimlik doğrulama ve yetkilendirme süreçlerinin dikkatlice yapılandırılması gerekmektedir. Standardizasyonlar, anahtarların şifrelenmesi, güvenli bir şekilde saklanması ve erişim izinlerinin belirlenmesi konularında rehberlik sağlar.

Örnek: Basic Authentication
Kullanıcı adı ve şifrenin birleştirilip, Base64 ile kodlanarak HTTP başlığında (Header) gönderildiği yöntemdir. Bu yöntemin zayıflığı, şifrenin basit bir kodlamayla korunmasıdır.

Sonuç olarak, siber güvenlikte kimlik doğrulama ve credential yönetimi konuları, sadece bu mekanizmaların etkinliğini değil, aynı zamanda organizasyonların genel güvenlik duruşunu da etkileyen kritik unsurlardandır. Siber tehditlerin sürekli evrildiği günümüzde, bu mekanizmaların sürekli olarak gözden geçirilmesi ve güncellenmesi gerekmektedir. Bu sayede, sistemlerin savunma katmanları güçlenerek zararlı aktivitelerden korunması sağlanabilir.

Teknik Analiz ve Uygulama

Authentication ve Authorization

Siber güvenlikte kimlik doğrulama (authentication) ve yetkilendirme (authorization) kavramları kritik öneme sahiptir. Kimlik doğrulama, bir sistemin kimliğini doğrulamak için kullanılan mekanizmadır. Örneğin, bir kullanıcının kullanıcı adı ve şifre girerek sisteme giriş yapması kimlik doğrulamasının bir örneğidir. Yetkilendirme ise, doğrulanmış bir kullanıcının hangi kaynaklara erişim yetkisine sahip olduğunu belirler. Yani, bir kullanıcı doğru kimlik bilgileriyle başarılı bir şekilde giriş yaptığında, yetkilendirme aşaması devreye girer ve bu kullanıcıya ne tür işlemler yapabileceği belirlenir.

Temel Doğrulama Yöntemleri

Kimlik doğrulama işlemi için birçok yöntem bulunmaktadır. Bunlar arasında en yaygın kullanılanlar şunlardır:

  • API Anahtarları: Uygulamaya özgü olarak üretilen, genellikle sabit ve uzun bir metin katarı (string) olan doğrulama anahtarıdır. API anahtarları asla kaynak kodunun veya scriptin içine gömülmemelidir.

  • Basic Authentication: Kullanıcı adı ve şifrenin birleştirilip Base64 ile kodlanarak HTTP başlığında (Header) gönderildiği eski nesil bir yöntemdir. Ancak bu yöntem günümüzde güvenlik açıkları nedeniyle önerilmemektedir.

  • Token-Based Authentication: Başarılı bir giriş sonrasında sunucu tarafından verilen ve sınırlı bir süre geçerli olan jeton (token) tabanlı doğrulama yöntemidir. Bu yöntem, kullanıcıların kısa süreli oturum açmalarını sağlar ve güvenliği artırır.

Bearer Token

Bearer token, HTTP isteklerinin Authorization başlığında (Header) taşınan ve "Bu jetonu taşıyan kişi yetkilidir" anlamına gelen şifreli bir metin parçasıdır. Bearer token kullanımı, token tabanlı kimlik doğrulama yöntemleriyle birlikte yaygın olarak tercih edilmektedir. Bir örnek kullanımı şu şekildedir:

GET /api/resource HTTP/1.1
Host: example.com
Authorization: Bearer <your_token_here>

Bu örnekte, "" kısmı, önceden oluşturulmuş bir token ile değiştirilmektedir.

Güvenli Saklama (Hardcoding Riski)

API anahtarları ve benzeri gizli bilgilerin güvenliği, uygulama geliştirme sürecinde en kritik adımlardan biridir. Bu tür bilgilerin kaynak kodundan çıkarılması ve güvenli bir şekilde saklanması gereklidir. Açık metin (plaintext) şeklinde saklanan bilgiler, kötü niyetli kullanıcılar tarafından ele geçirilebilir. Bu nedenle, gizli verilerin güvenli şekilde saklanması için bir vault (kasa) modülü kullanılmalıdır.

Credential Vault (Kasa) Kullanımı

SOAR platformlarında API anahtarları, şifreler ve tokenlar, güvenli bir şekilde şifrelenmiş özel bir kasa modülünde saklanır. Bu kasa, erişim yönetimi ve şifreleme yöntemleri kullanarak hassas verilerin korunmasına olanak tanır. Örneğin, HashiCorp Vault, bu tür saklama çözümleri için yaygın bir tercih olup aşağıdaki gibi entegre edebiliriz:

vault kv put secret/myapp api_key=<your_api_key>

Bu komut, "myapp" başlıklı bir gizli anahtar olarak API anahtarınızı güvenli bir şekilde saklayacaktır.

OAuth 2.0 Mimarisi

Modern ve güvenli bir yetkilendirme protokolü olan OAuth 2.0, birçok üçüncü parti uygulama ile API’ler arasındaki etkileşimin güvenliğini sağlar. OAuth 2.0’ın mimarisi, üç temel aktörden oluşur:

  1. Client (İstemci): Hedef sistemdeki kaynaklara erişmek isteyen uygulama.
  2. Resource Server: Erişilmek istenen API'leri ve verileri barındıran sunucu.
  3. Authorization Server: Kimlik doğrulamasını yaparak Client'a erişim yetkisi veren sunucu.

OAuth 2.0, bu mimari sayesinde ana parolayı paylaşmadan üçüncü parti uygulamalara sınırlı erişim sağlar.

Credential Rotation (Döngü)

Güvenlik standartları gereği, API anahtarlarının ve şifrelerin süresiz (never expire) olması engellenmeli ve belirli aralıklarla yenilenmelidir. Bu işleme "Credential Rotation" denir. Örneğin, sistem yöneticileri her altı ayda bir anahtarların değiştirilmesini planlayabilir. Bu, olası güvenlik ihlallerinin önüne geçmek için kritik bir önlemdir.

En Az Ayrıcalık Prensibi (PoLP)

En az ayrıcalık prensibi, bir kullanıcıya veya uygulamaya yalnızca gerekli olan en temel erişim yetkisini vermek anlamına gelir. Örneğin, SOAR'a verilecek API Key'in, Firewall'da 'Admin' yerine sadece 'IP Bloklama' yetkisine sahip olması sağlanmalıdır. Bu yaklaşım, olası bir ihlal durumunda zararın en aza indirilmesini hedefler.

mTLS (Mutual TLS)

Çift yönlü sertifika doğrulaması (mTLS), hem istemcinin hem de sunucunun birbirini sertifikalarla doğrulamasını zorunlu kılar. Bu yöntem, özellikle hassas verilerin iletildiği ortamlarda güçlü bir güvenlik sağlar. mTLS, bir istemcinin ve sunucunun kimliğini karşılıklı olarak doğrulamak için kullanılır ve bu sayede man-in-the-middle (MITM) saldırılarına karşı etkili bir savunma mekanizması oluşturur.

Sonuç olarak, siber güvenlikte kimlik doğrulama ve credential yönetimi, doğru yapılandırıldığında sistemlerin güvenliğini artıran önemli unsurlardır. Bu teknikler, uygulamaların güvenliğini sağlamak ve kullanıcı verilerini korumak adına kritik roller üstlenmektedir.

Risk, Yorumlama ve Savunma

Risk Değerlendirmesi ve Yorumlama

Siber güvenlikte kimlik doğrulama ve credential yönetimi, güvenli bir sistemin temel taşlarını oluşturan kritik unsurlardır. Bu bağlamda risk değerlendirmesi, elde edilen bulguların güvenlik anlamını yorumlamayı ve olası tehditlerin etkilerini analiz etmeyi kapsar. Yanlış yapılandırmalar veya zafiyetler durumunda, sistemin saldırganlar tarafından istismar edilme riski önemli ölçüde artar.

Yanlış Yapılandırmalar ve Zafiyetler

Bir siber güvenlik ortamında karşılaşılabilecek en yaygın sorunlardan biri yanlış yapılandırmalardır. Örneğin, API anahtarlarının veya kimlik bilgilerin (credentials) açık metin olarak saklanması, saldırganların kolayca bu bilgilere erişmesini sağlar. Örnek bir durumu inceleyelim:

# API anahtarı açık metin olarak saklanmış.
API_KEY = "12345-ABCDE" # Bu kod güvenlik açığına neden olur.

Yukarıdaki örnekte, kodunuzu versiyon kontrol sisteminde saklarsanız, API anahtarınızın ifşa olma riski büyüktür. Önerilen çözüm, bu tür hassas bilgilerin güvenli bir "vault" (güvenli kasa) içinde saklanmasıdır. Bu sayede, kimlik bilgilerinizi riske atmadan kullanabilirsiniz.

Sızan Verilerin Analizi

Sızan veriler, bir güvenlik saldırısının etkilerini anlamada önemli bir göstergedir. Örneğin, bir sistemin veri kaybı yaşaması durumunda, hangi bilgilerin sızdığı ve bu bilgilerin yetkisiz kullanımıyla sistemin nasıl etkileneceği kritik bir konu haline gelir. Önerilen en iyi uygulama, sızan verilerin türünü belirlemek ve bunlar üzerinde detaylı bir analiz yapmaktır. Özellikle, kişisel veriler veya finansal bilgiler gibi duyarlı verilerin sızması, yasal sorunlara yol açabileceği gibi, kuruluşun itibarını da zedeleyebilir.

Servis Tespiti ve Topoloji

Sistem topolojisi ve hizmetlerin doğru bir şekilde belirlenmesi, bir güvenlik analizinin önemli bir parçasıdır. Güvenlik mimarisi, sistem içindeki farklı bileşenlerin ve bunların etkileşimlerinin konusunda bir anlayış geliştirmeyi sağlar. Örneğin, mTLS (Mutual TLS) kullanımı, istemci ve sunucu arasındaki güvenli iletişimi sağlarken, her iki tarafın da kimlik doğrulamasını zorunlu kılar. Bu tür bir yapı, kimlik doğrulama sürecinde ek bir güvenlik katmanı oluşturur ve saldırganların sistemlere erişim sağlamasını zorlaştırır.

Profesyonel Önlemler

Güvenlik önlemleri arasında en az ayrıcalık (Principle of Least Privilege - PoLP) prensibinin uygulanması yer alır. Bu prensip, kullanıcılara ve uygulamalara sadece gerekli olan erişim haklarının verilmesini sağlamakla amacı, olası bir iç veya dış saldırının potansiyel olarak daha az zarara yol açmasını sağlamaktır. Ayrıca, API anahtarları ve kimlik bilgileri belirli aralıklarla yenilenmeli (credential rotation) ve kesinlikle açık metin olarak saklanmamalıdır. Bu iyi uygulama, sızma riski üzerinde doğrudan bir etki yaratır.

# Credential rotation için shell komutları örneği
# Yeni bir API anahtarı oluşturma
openssl rand -hex 16

Hardening Önerileri

Sistem güvenliğini artırmak için uygulanabilecek bazı hardening önerileri şunlardır:

  1. Güvenli Saklama İlkeleri: Herhangi bir hassas bilgi için güvenli bir vault (kasa) mekanizması kullanılması.
  2. Token Tabanlı Kimlik Doğrulama: Token temelli doğrulama yöntemlerinin benimsenmesi; bu yöntem, oturum açma sırasında kullanılan bilgilerin sürekli olarak güvende tutulmasını sağlar.
  3. Otomatik Credential Döngüleme: API anahtarlarının ve şifrelerin belirli aralıklarla otomatik olarak değiştirileceği bir sistem oluşturulması.
  4. Güvenlik Duvarı Kuralları: IP beyaz listesinin kullanılması ve yalnızca belirli IP adreslerinden gelen taleplerin kabul edilmesi.

Sonuç

Siber güvenlikte kimlik doğrulama ve credential yönetimi, hem saldırılara karşı dayanıklılığı artırmak hem de şirketlerin itibarını korumak açısından büyük önem taşır. Yapılandırmaların doğru yapılması, zafiyetlerin hızla kapatılması ve profesyonel güvenlik önlemlerinin alınması, olası tehditlerin etkisini azaltmanın anahtarıdır. Bu bağlamda, risk değerlendirmesi, sistemin güçlü ve zayıf yönlerini anlamak için kritik bir süreç olarak öne çıkmaktadır.