Merhaba değerli forum sakinleri,ben Zephyris.Bugün sizlerle başlıtka da olduğu gibi "API Güvenliği" konusunu ele alacağız.Konuyu 0 dan başlamış birisinin bile rahatlıkla anlayabileceği şekilde anlatmaya çalışacağıM.
GİRİŞ
Günümüz de dijital dünya da her gün kullandığımız web siteleri,mobil uygulamalar,bulut servisleri vb sürekli arkada(perde arkasında ) birbirleri ile sürekli veri alışverişi yapar.Bu alışverişin en kritik yapı taşı API’ler yani(Application Programming Interfaces).API iletişim kurmayı sağlayan bir arayüzdür. Ve bizim için de önemlidir.Fakat bizim için de çok önemli olsa bile bazen saldırganlar için çok kolay hedef olabiliyor.Çünkü API’ler doğrudan sistemin veritabanına, iş mantığına ve kullanıcı bilgilerine açılan kapılardır.Tam olarak nedir dersek "API’ler modern yazılım mimarisinin belkemiğidir" diyebiliriz.
API TEMELLERİ
API NEDİR
API, farklı yazılım bileşenlerinin birbiriyle iletişim kurmasını sağlayan bir arayüzdür.(İletişim Kanalıdır)
REST, SOAP, GraphQL, gRPC gibi türleri vardır.
REST en yaygın kullanılan türdür ve HTTP protokolü üzerinden çalışır ve genellikle JSON veri formatı kullanır.
Örnek
Bir bankacılık uygulaması, müşteri bakiyesini görmek için bankanın API’sine istek gönderir.
VERİ FORMATLARI
JSON: İnsan ve makine tarafından okunabilir ve REST API’lerde yaygın.
XML: Daha eski ama hâlâ bazı SOAP servislerinde kullanılır.
HTTP TEMELLERİ
Metodlar: GET (veri çekme), POST (veri gönderme), PUT (güncelleme), DELETE (silme).
Durum Kodları: 200 (başarılı), 400 (hatalı istek), 401 (yetkisiz), 403 (yasak), 500 (sunucu hatası).
Stateless mimari: Her isteğin kendi içinde tüm bilgiyi taşıması gerekir.
API GÜVENLİĞİNİN TEMEL KAVRAMLARI
KİMLİK DOĞRULAMA (Authentication)
API’nin “ben kimim sen kimsin?” sorusunu yanıtlamasıdır.
Yöntemler: API Key, Basic Auth, OAuth 2.0, JWT
Yetkilendirme (Authorization)
“Ben ne yapabilirim?” sorusuna yanıt verir.
Örnek: Bir kullanıcı kendi verilerini görebilir ama başkasının verisine erişemez.
Veri Güvenliği
HTTPS/TLS: Verinin aktarım sırasında şifrelenmesini sağlar.
Veri şifreleme: At-rest ve in-transit veriyi korur.
Orta Katman Koruması
Rate limiting (istek sayısını sınırlar)
Input validation (girdi doğrulamar)
Logging ve monitoring (işlem kaydı ve denetim)
API Neden Güvenlik Açısından Kritik?
API’ler doğrudan veri ve hizmete erişim kapısıdır.
Çoğu zaman perde arkasında olduğu için dikkat üzerinde değillerdir ama saldırgan için en değerli hedeflerdir.
Veri Sızıntısı: Kullanıcı bilgileri, kart numaraları veya sağlık verileri dışarı sızabilir.
Yetkisiz Erişim: Saldırgan, başkasının hesabına erişebilir.
Sistem İstismarı: Yanlış yapılandırılmış bir API üzerinden tüm sistem ele geçirilebilir.
ÖRNEK:2018 de acebook’un API açığı yüzünden 50 milyon kullanıcının verisi sızdırıldı.
Yaygın API Güvenlik Riskleri
OWASP API Top 10
Broken Object Level Authorization (BOLA): Başkasının verisine yetkisiz erişim.
Broken Authentication: Zayıf kimlik doğrulama yöntemleri.
Excessive Data Exposure: Gereksiz fazla veri döndürme.
Lack of Rate Limiting: Sınırsız istek → DoS saldırısı.
Mass Assignment: Parametre manipülasyonu ile veri değişikliği.
Injection: SQL, NoSQL, Command injection gibi saldırılar.
Improper Assets Management: Eski veya kullanılmayan API versiyonları açık bırakmak.
Security Misconfiguration: Yanlış yapılandırmalar.
Insufficient Logging & Monitoring: Saldırılar fark edilmez.
Server-Side Request Forgery (SSRF): Sunucunun başka sistemlere yönlendirilmesi.
API Güvenliğinde Yaygın Tehditler
Kırık Kimlik Doğrulama (Broken Authentication)
Kullanıcı kimliği doğru doğrulanmazsa eğer saldırgan başka kullanıcıların hesaplarına girebilir.
Yetki Kontrolü Açıkları (Broken Authorization)
Kullanıcı kendi yetkisi dışında verilere veya işlemlere erişebilir.
Veri Sızıntısı (Excessive Data Exposure)
API, gereğinden fazla bilgi döndürür.Hesap ele geçirme vb riskler.
Rate Limiting Eksikliği
Saldırgan binlerce istek göndererek brute-force veya DDoS yapabilir.
Injection Saldırıları
Kullanıcı girişleri doğru kontrol edilmezse SQL, NoSQL veya komut enjeksiyonları yapılabilir.
Yanlış Yapılandırmalar
Açık bırakılmış debug modları, varsayılan şifreler, güncellenmemiş sistemler saldırıya açık olur.
API Güvenliği Nasıl Sağlanır?
Kimlik Doğrulama (Authentication)
OAuth 2.0 veya JWT (JSON Web Token) kullanmak.
Token süresini kısa tutmak.
Çok faktörlü kimlik doğrulama (MFA) uygulamak.
Kullanıcı rolleri ve izinlerin sunucu tarafında kontrolü.
Yetkilendirme (Authorization)
Kullanıcının sadece kendi verilerine erişmesini sağlamak.
“Rol tabanlı erişim kontrolü” (RBAC) kullanmak.
Veri Şifreleme
API trafiğini HTTPS/TLS ile korumak.
Hassas verileri depolarken AES-256 gibi güçlü algoritmalarla şifrelemek.
Rate Limiting & Throttling
Bir IP’den gelen istek sayısını sınırlamak.
Anormal isteklerde otomatik engelleme.
IP veya kullanıcı bazlı limitler ile brute-force ve DoS önleme.
Girdi Doğrulama
“Whrite List” yaklaşımı kullanmak (beklenen format dışında veri kabul etme).
SQL injection, XSS gibi saldırıları engellemek.
QL/NoSQL injection’a karşı prepared statements veya ORM kullanımı.
Loglama ve İzleme
Tüm API çağrılarını kaydetmek.
Anormal aktiviteleri tespit edip güvenlik ekibini uyarmak.
SIEM veya basit alert sistemi ile izleme
Hata Mesajlarını Kontrol Etme
Gereksiz teknik detayları kullanıcıya göstermemek.
“Şifre yanlış” yerine “Kimlik doğrulama başarısız” gibi genel mesaj vermek.
API Güvenliği İçin En İyi Uygulamalar (Best Practices)
En az ayrıcalık prensibi: Kullanıcıya sadece gerekli yetkiyi ver.
Versiyonlama: Eski API sürümlerini kapat.
WAF (Web Application Firewall) kullan: API saldırılarını filtrele.
OWASP API Security Top 10’u rehber al.
Penetrasyon testleri yap: API’yi saldırgan gibi test et.
CI/CD’de otomatik güvenlik testleri uygula.
Güncellemeleri aksatma: Kütüphane, framework ve bağımlılıkları güncel tut.
Pratik Araçlar ve Testler
Postman / Insomnia: API testi ve doğrulama.
Burp Suite / OWASP ZAP: Pentest ve güvenlik testleri.
curl: Komut satırı ile API testleri.
Scripting: Python + requests, Node.js + axios ile otomasyon.
Gerçek Hayattan Örnek Saldırılar
Facebook (2018): API açığı → 50 milyon kullanıcı hesabı etkilendi.
T-Mobile (2021): API güvenlik açığı → 40 milyon müşterinin kişisel verisi sızdı.
Venmo: API üzerinden kullanıcıların tüm işlem geçmişleri çıkarıldı.
Evet arkadaşlar konum buraya kadardı eğer buraya kadar okuduysanız ve sizlere birşeyler katabildiysem ne mutlu bana.Hatalarım varsa da affola.İyi forumlar




