· Siber Güvenlik  · Tahmini okuma süresi: 2 dakika

EmaDocs API Güvenliği Rehberi

API güvenliğinin temel prensipleri, en iyi uygulamalar ve yaygın tehditlere karşı alınabilecek önlemler.

API güvenliğinin temel prensipleri, en iyi uygulamalar ve yaygın tehditlere karşı alınabilecek önlemler.

Genel Bakış

API’ler, modern uygulamaların temel taşlarıdır. Ancak, kötü niyetli saldırganlar için de zayıf noktalar olabilirler. API güvenliği, sadece verilerin korunması değil, aynı zamanda servis sürekliliğinin sağlanması için de kritik öneme sahiptir.

Bu rehber, API güvenliği konusunda temel prensipleri, yaygın saldırı tiplerini ve en iyi uygulamaları detaylandırmaktadır.

API Güvenliğinin Temel Prensipleri

Aşağıdaki başlıklar, API güvenliğinin olmazsa olmazlarını içerir:

Kimlik Doğrulama (Authentication)

API kullanıcılarının gerçekten beklenen kimlikte olduğunu doğrulamak için OAuth 2.0, JWT gibi standartlar kullanılır.

Yetkilendirme (Authorization)

Kimlik doğrulama sonrası, kullanıcının hangi kaynaklara hangi işlemleri yapabileceği sıkı şekilde kontrol edilir.

Veri Şifreleme

API trafiği TLS/SSL protokolü ile şifrelenir; hassas veriler ise gerektiğinde ek katmanlarla korunur.

Rate Limiting ve Throttling

Hizmete aşırı yüklenmeyi ve kötü niyetli istekleri önlemek için istek sayısı sınırlandırılır.

Güvenli Kodlama ve Test

API kodları düzenli olarak güvenlik testlerine tabi tutulur ve bilinen açıklar hızlıca kapatılır.

Yaygın API Saldırı Türleri

  • Injection (SQL, NoSQL, Command Injection): Kötü niyetli girdilerin doğrudan işlenmesi.
  • Cross-Site Scripting (XSS): Zararlı scriptlerin API üzerinden yayılması.
  • Denial of Service (DoS) / Distributed DoS: Servisleri erişilemez hale getirmek için aşırı istek.
  • Man-in-the-Middle (MITM) Saldırıları: Veri iletişimi sırasında araya girme.
  • Broken Authentication: Zayıf kimlik doğrulama mekanizmaları.

API Güvenliği İçin En İyi Uygulamalar

1. Güçlü Kimlik Doğrulama ve Yetkilendirme

  • OAuth 2.0 ve OpenID Connect protokollerini kullanın.
  • JSON Web Token (JWT) ile erişim kontrolü sağlayın.
  • Access token’ların süresini ve kapsamını sınırlayın.

2. HTTPS Zorunluluğu

  • Tüm API isteklerini HTTPS üzerinden alın.
  • HSTS (HTTP Strict Transport Security) kullanarak zorunlu HTTPS yönlendirmeleri yapın.

3. Rate Limiting Uygulaması

  • IP başına veya kullanıcı başına istek sayısını sınırlandırın.
  • 429 Too Many Requests HTTP durum kodunu döndürün.

4. Input Validation ve Sanitization

  • Tüm kullanıcı girdilerini doğrulayın ve temizleyin.
  • SQL sorgularında prepared statements kullanın.

Örnek Kod: Express.js’de Basit Rate Limiting Middleware

import rateLimit from 'express-rate-limit';

const apiLimiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 dakika
  max: 100, // 15 dakikada en fazla 100 istek
  message: 'Çok fazla istek yaptınız, lütfen biraz bekleyin.',
});

app.use('/api/', apiLimiter);
Blog ana sayfasına dön

Önerilen Yazılar

Tüm yazıları gör »
EmaDocs Siber Güvenlik Rehberi

EmaDocs Siber Güvenlik Rehberi

Siber güvenlik temel kavramlarından gelişmiş uygulamalara kadar önemli bilgiler sunar. Bu sayfa, güvenli yazılım geliştirme ve altyapı yönetimi hakkında rehberlik sağlar.