# API Güvenliği Nedir? OWASP API Security Top 10 ve BOLA Riskleri

**URL:** https://securesys.com.tr/tr/bilgi-merkezi/web-uygulama-guvenligi/api-guvenligi-owasp-api-security-top-10

### API Güvenliği Nedir?

![API güvenliği nedir? OWASP API Security Top 10 ve BOLA riskleri](/images/bilgi-merkezi/covers/cover-api-guvenligi.webp)

Application Programming Interface (API), farklı yazılımların güvenli ve kontrollü şekilde birbiriyle iletişim kurmasını sağlayan uygulama arayüzüdür. Günümüzde web uygulamaları, mobil uygulamalar, masaüstü yazılımlar, bulut servisleri ve üçüncü taraf entegrasyonlar arasındaki veri alışverişinin büyük bölümü API'ler aracılığıyla gerçekleşir.

API güvenliği; bu servislerin kimlik doğrulama, yetkilendirme, veri doğrulama, hız sınırlama (Rate Limiting), hata yönetimi ve veri paylaşımı gibi güvenlik kontrollerinin değerlendirilmesini kapsar. Güvenli tasarlanmayan API'ler, saldırganların doğrudan uygulamanın arka planındaki verilere ve iş mantığına erişmesine neden olabilir.

### API'ler Neden Saldırganların Birincil Hedefidir?

- API'ler doğrudan iş mantığına erişim sağlar.
- Aynı API hem web hem mobil uygulama tarafından kullanılabilir.
- Kullanıcı arayüzünde görünmeyen işlevler API üzerinden erişilebilir olabilir.
- Yanlış yapılandırılmış API'ler büyük miktarda veriyi tek bir istekle döndürebilir.
- Mikro servis mimarilerinde servisler arası güven ilişkileri yanlış yönetilebilir.

### Web Güvenliği ile API Güvenliği Arasındaki Fark

| Web Uygulama Güvenliği | API Güvenliği |
| --- | --- |
| Tarayıcı üzerinden erişilen arayüzler değerlendirilir | Doğrudan servis uç noktaları (endpoint) değerlendirilir |
| HTML, JavaScript ve istemci davranışları incelenir | JSON, XML, GraphQL ve servis yanıtları analiz edilir |
| Kullanıcı deneyimi odaklıdır | Veri akışı ve iş mantığı odaklıdır |

### OWASP API Security Top 10 — En Sık Karşılaşılan Riskler

#### \1. Broken Object Level Authorization (BOLA)

`GET /api/orders/45872` isteğini yapan kullanıcı yalnızca kendi siparişini görebilmelidir. Saldırgan isteği `GET /api/orders/45873` olarak değiştirip başka müşteriye ait bilgilere erişebiliyorsa ciddi bir yetkilendirme zafiyeti vardır. BOLA, bankacılık, sağlık, e-ticaret ve kamu uygulamalarında büyük veri ihlallerine yol açabilir.

#### \2. Broken Authentication

Geçersiz token'ların kabul edilmesi, süresi dolmuş oturumların kullanılabilmesi veya JWT doğrulama eksiklikleri, saldırganların geçerli kullanıcı gibi işlem yapmasına imkân tanıyabilir.

#### \3. Excessive Data Exposure

API, istemcinin ihtiyaç duyduğundan daha fazla veri döndürüyorsa (T.C. kimlik numarası, e-posta, telefon, iç sistem notları vb.) istemci bunları göstermese bile saldırgan API yanıtını inceleyerek bu bilgilere ulaşabilir.

#### \4. Unrestricted Resource Consumption

Hız sınırlama (Rate Limiting) uygulanmaması, saldırganların çok kısa sürede binlerce istek göndermesine, hizmet kesintilerine ve brute force saldırılarına yol açabilir.

#### \5. Security Misconfiguration

Debug modunun açık bırakılması, ayrıntılı hata mesajları, gereksiz HTTP metodları, yanlış CORS ayarları ve varsayılan hesaplar saldırı yüzeyini genişletebilir.

### Gerçek Bir Senaryo

Bir mobil uygulama üzerinden çalışan müşteri portalında yapılan güvenlik değerlendirmesi sırasında, API'nin kullanıcı profili bilgilerini döndüren uç noktasında yalnızca kullanıcı kimliğinin değiştirilmesiyle farklı müşterilere ait ad-soyad, iletişim bilgileri, adres kayıtları ve sipariş geçmişine erişilebildiği tespit edilmiştir. Web arayüzünde herhangi bir güvenlik problemi görünmemesine rağmen, doğrudan API çağrıları incelendiğinde bu hassas verilere ulaşılabilmiştir.

### SecureSys API Sızma Testi Yaklaşımı

Testlerimiz; REST API ve GraphQL servislerinin incelenmesi, JWT ve OAuth akışlarının doğrulanması, BOLA ve [IDOR](/tr/bilgi-merkezi/web-uygulama-guvenligi/broken-access-control-idor-bola-yetkilendirme-zafiyetleri) senaryolarının test edilmesi, parametre manipülasyonları, Mass Assignment kontrolleri, Rate Limiting mekanizmalarının doğrulanması ve CORS yapılandırmalarının incelenmesini kapsar.

### API Güvenliği İçin Temel Öneriler

- Her uç noktada nesne seviyesinde yetkilendirme kontrolü yapılmalıdır.
- Döndürülen veri yalnızca istemcinin ihtiyaç duyduğu alanlarla sınırlandırılmalıdır.
- JWT ve erişim belirteçleri güvenli şekilde doğrulanmalıdır.
- Rate Limiting ve kota mekanizmaları uygulanmalıdır.
- Tüm API çağrıları merkezi olarak izlenmeli ve loglanmalıdır.

API'lerinizin BOLA, Broken Authentication ve diğer OWASP API Security Top 10 risklerine karşı test edilmesi için bize ulaşın. Web uygulamanızın genel güvenliği için [Web Uygulama Sızma Testi Hizmeti](/tr/hizmetler/web-uygulama-guvenlik-test-hizmeti) sayfamızı da inceleyebilirsiniz.
