Buyukweb
E-Ticaret Güvenliği: SSL, PCI-DSS Uyumluluğu ve Dolandırıcılık Önleme

E-Ticaret Güvenliği: SSL, PCI-DSS Uyumluluğu ve Dolandırıcılık Önleme

E-ticaret güvenliği için SSL sertifikası, PCI-DSS uyumluluğu, sahte sipariş tespiti, 3D Secure ve güvenli ödeme akışı yapılandırması.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü9 dakika okuma

E-Ticaret Güvenliği: SSL, PCI-DSS Uyumluluğu ve Dolandırıcılık Önleme — 2026 Pratik Rehberi

E-ticaret güvenliği "iyi olur" değil "olmazsa olmaz". Bir güvenlik ihlali sonrası mali kayıptan çok marka itibarı kaybı işletmenin sonu olabilir. Türkiye'de KVKK ve BDDK düzenlemeleri sıkılaştıkça yasal risk de büyüyor. Buyukweb e-ticaret VDS müşterilerimizden gelen "neye dikkat etmeliyiz?" sorusuna verdiğim genel cevabı bu rehberde detaylandırıyorum.

E-Ticaret Tehdit Manzarası — 2026

Saldırgan profilinde son yıllarda büyük değişim oldu. 2026 itibariyle en sık karşılaşılan tehditler:

1. Kart Verisi Saldırıları

  • Carding: Çalıntı kart numaralarının küçük tutarlarla mağazada test edilmesi
  • Skimming (Magecart): Ödeme formuna JavaScript enjekte ederek kart bilgilerinin sahte sunucuya gönderilmesi
  • Brute force POS: 3DS bypass denemeleri

2. Hesap Ele Geçirme (ATO — Account Takeover)

  • Credential stuffing: Başka platformda sızmış şifre listelerinin denenmesi
  • Brute force login: Otomatik giriş denemeleri
  • Sosyal mühendislik: Müşteri destek üzerinden şifre sıfırlama

3. Bot Saldırıları

  • Stok tüketim botları: Sınırlı stok ürünleri sepete atan, gerçek müşterileri engelleyen botlar
  • Fiyat scraping: Rekabet için fiyat veri kazıma
  • Sahte sipariş: Stok rezervasyonu, hasım sabotajı

4. Web Uygulama Saldırıları

  • SQL Injection: Veritabanı manipülasyonu
  • XSS: Sepet/checkout sayfalarında JavaScript enjekte
  • CSRF: Kullanıcı oturumunda yetkisiz işlem

5. Tedarik Zinciri Saldırıları (2024+ Yeni Trend)

Kullandığınız 3. taraf JS kütüphaneleri (analytics, chat widget'lar) ele geçirilirse sitenize "yan kapıdan" zararlı kod giriyor. CSP başlıkları artık bu yüzden kritik.

SSL/TLS — Doğru Yapılandırmayla %30 Ekstra Güvenlik

SSL sertifikası "var mı yok mu" sorusu artık geride kaldı. Önemli olan nasıl yapılandırıldığı.

Modern Nginx SSL Yapılandırması (2026)

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name magazaniz.com;

    # Sertifika
    ssl_certificate /etc/letsencrypt/live/magazaniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/magazaniz.com/privkey.pem;

    # SADECE TLS 1.2 ve 1.3 — eski versiyonlar saldırıya açık
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;

    # Modern cipher suite (Mozilla intermediate config)
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;

    # Session optimization
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # OCSP Stapling — CA'ya her isteği önler
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 1.1.1.1 8.8.8.8 valid=300s;

    # HSTS — 2 yıl, subdomain dahil, preload
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

    # Güvenlik başlıkları
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;

    # CSP — En önemli başlık
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.iyzipay.com https://sandbox-api.iyzipay.com; style-src 'self' 'unsafe-inline'; img-src * data: blob:; connect-src 'self' https://api.iyzico.com; frame-src https://sandbox-api.iyzipay.com https://www.iyzipay.com;" always;

    # Diğer
    keepalive_timeout 70;

    location / {
        # Site içeriği
    }
}

SSL Labs'da bu konfigürasyonla A+ rating alırsınız: https://www.ssllabs.com/ssltest

Buyukweb Hosting'de SSL

cPanel paketlerimizde Let's Encrypt SSL otomatik kurulur ve 60 günde bir yenilenir. AutoSSL özelliği aktif; siz hiçbir şey yapmadan sertifika güncel kalır. Daha gelişmiş ihtiyaçlar (Wildcard, EV) için SSL ürünlerimiz https://my.buyukweb.com üzerinden sipariş edilebilir.

PCI-DSS Uyumluluğu — Kart Verisi İşliyorsanız Şart

PCI-DSS (Payment Card Industry Data Security Standard), kart verisi işleyen tüm işletmeler için uluslararası standart.

Seviye Yapısı

Seviye 1: 6 milyon+ işlem/yıl → Yıllık denetim (QSA), ASV scan
Seviye 2: 1-6 milyon işlem/yıl → SAQ + ASV scan
Seviye 3: 20.000-1 milyon işlem/yıl → SAQ + ASV scan
Seviye 4: <20.000 işlem/yıl → Öz değerlendirme (SAQ)

Türkiye'deki çoğu küçük-orta ölçekli e-ticaret Seviye 4'tedir. Ancak kart numarası direkt olarak sitenize geliyorsa Seviye 1-3 yükümlülükleri devreye girer.

En Pratik Yaklaşım: SAQ-A (Kart Verisi Sitenize Hiç Gelmesin)

Sanal POS sağlayıcıları (iyzico, PayTR, Param) iframe veya redirect modu sunar. Bu modda kart bilgileri kullanıcının tarayıcısından doğrudan sanal POS'a gider; sitenizden geçmez. Bu SAQ-A kategorisidir ve uyumluluğun en basit hali.

<!-- iframe yöntemi — kart bilgileri direkt iyzico sunucusuna gider -->
<iframe src="https://sandbox-api.iyzipay.com/payment/iyzico-checkout-form/..."
        width="100%" height="500"></iframe>
// Redirect yöntemi — kullanıcı iyzico sayfasına yönlendirilir
window.location.href = paymentPageUrl; // iyzico tarafından dönen URL

Sakınılması Gerekenler

✗ Kart numarasını veritabanınızda tutmayın (kapalı saklama bile riskli)
✗ CVV/CVC ASLA saklanmaz (PCI-DSS yasaklar)
✗ PIN ASLA saklanmaz
✗ Track verisi (manyetik şerit) ASLA saklanmaz
✗ Kart verisini log'lara yazmayın

✓ Token kullanın — sanal POS size kart yerine token döner
✓ Token'ı veritabanında saklayabilirsiniz (geri ödeme, sonraki sipariş için)

Bizim Tavsiyemiz

Buyukweb müşterileri için pratik tavsiyemiz: kart verisini hiçbir zaman sitenize getirmeyin. iyzico/PayTR redirect veya iframe modunu kullanın, SAQ-A yapın, yıllık öz değerlendirme formuyla yükümlülüğünüzü tamamlayın. Tercih etmeyin: kendi sunucunuzda kart formu kurup direkt API ile çağırmayı; bu SAQ-D seviyesi ve karmaşık denetim getiriyor, küçük ölçek için anlamsız.

Dolandırıcılık (Fraud) Tespit Sistemi

Sahte/şüpheli sipariş tespiti için katmanlı yaklaşım gerekir.

Risk Skor Algoritması (WooCommerce Örneği)

function detect_fraud($order_id) {
    $order = wc_get_order($order_id);
    $risk_score = 0;
    $flags = [];

    // 1. Hız kontrolü: Aynı IP'den son 1 saatte birden fazla sipariş
    $ip = $order->get_customer_ip_address();
    $recent_count = count(wc_get_orders([
        'meta_key' => '_customer_ip_address',
        'meta_value' => $ip,
        'date_after' => date('Y-m-d H:i', strtotime('-1 hour')),
    ]));
    if ($recent_count > 3) {
        $risk_score += 30;
        $flags[] = "IP: {$ip} son 1 saatte {$recent_count} sipariş";
    }

    // 2. Adres uyumsuzluğu
    if ($order->get_billing_city() !== $order->get_shipping_city()) {
        $risk_score += 15;
        $flags[] = 'Fatura/teslimat şehri farklı';
    }

    // 3. Yüksek değer + yeni müşteri
    $is_guest = $order->get_customer_id() === 0;
    $total = $order->get_total();
    if ($total > 5000 && $is_guest) {
        $risk_score += 25;
        $flags[] = "Yüksek değer (₺{$total}) + misafir alışveriş";
    }

    // 4. E-posta domain'i şüpheli mi?
    $email = $order->get_billing_email();
    $domain = substr(strrchr($email, "@"), 1);
    $disposable_domains = ['tempmail.com', 'guerrillamail.com', '10minutemail.com', 'mailinator.com'];
    if (in_array($domain, $disposable_domains)) {
        $risk_score += 35;
        $flags[] = 'Geçici e-posta domain';
    }

    // 5. IP coğrafyası vs teslimat ülkesi
    // (ipinfo.io veya ipqualityscore.com API ile)
    $geo = ip_country_lookup($ip); // örnek fonksiyon
    if ($geo !== $order->get_billing_country()) {
        $risk_score += 20;
        $flags[] = "IP: {$geo}, fatura: {$order->get_billing_country()}";
    }

    // 6. Önceki başarısız ödeme denemesi
    $failed_payments = get_user_meta($order->get_customer_id(), 'failed_payments_count', true);
    if ($failed_payments > 5) {
        $risk_score += 15;
        $flags[] = "Önceki başarısız ödemeler: {$failed_payments}";
    }

    // Risk eşiği
    if ($risk_score > 50) {
        $order->update_status('on-hold', 'Fraud şüphesi: ' . implode(', ', $flags));
        wp_mail(
            get_option('admin_email'),
            'Şüpheli Sipariş #' . $order_id,
            "Risk skoru: {$risk_score}\n\nNedenler:\n" . implode("\n", $flags)
        );
        return false;
    }

    return true;
}
add_action('woocommerce_checkout_order_processed', 'detect_fraud', 10, 1);

IP/Cihaz Reputasyon API'leri

Manuel kuralların ötesine geçmek için 3. taraf servisler:

  • MaxMind minFraud: 600+ veri noktası, AI tabanlı skor
  • ipqualityscore.com: VPN/proxy/datacenter IP tespiti
  • ipinfo.io: Coğrafya, ASN, taşıyıcı bilgisi

Aylık ücretler küçük (>1000 sorgu için $50-200); kayıp sipariş veya iade maliyetiyle karşılaştırınca kazançlı.

3D Secure ve SCA — Türkiye'de Zorunlu

3D Secure (Verified by Visa, Mastercard SecureCode) Türkiye'de BDDK düzenlemesi gereği tüm e-ticaret işlemlerinde zorunludur. Sanal POS sağlayıcıları bunu otomatik yönetir; siz API çağrısı yaparsınız, müşteri SMS/banka uygulaması ile doğrular.

// iyzico 3DS akış (basitleştirilmiş)
async function payWith3DS(card, order) {
  const response = await fetch('/api/payment/iyzico/3ds-init', {
    method: 'POST',
    body: JSON.stringify({ card, order }),
  });
  const data = await response.json();

  // 3DS sayfasına yönlendir (iyzico tarafından dönen URL)
  window.location.href = data.threeDSHtmlContent;
  // Müşteri SMS/banka onayı yapar
  // iyzico callback URL'sine başarı/başarısızlık döner
}

// Callback endpoint
// /api/payment/iyzico/callback
// → status check, order güncelle

WAF — Web Application Firewall

E-ticaret için WAF kurmadan açılmamalı. Üç katman:

1. Edge WAF (Cloudflare, sunucu öncesi)

Cloudflare WAF kuralları (e-ticaret için tipik):

Kural 1: Hızlı sepet ekleme botu
  → IP başına 60 saniyede >10 /add-to-cart isteği
  → Aksiyon: Challenge (CAPTCHA)

Kural 2: Şüpheli scraper
  → User-Agent boş VEYA cf.client.bot=false VE user_agent içermez "Mozilla"
  → Aksiyon: Block

Kural 3: Admin sınırlama
  → /wp-admin yolunda
  → IP TR dışında
  → Aksiyon: Block

Kural 4: Login brute force
  → /wp-login.php yolu, dakikada >5 deneme
  → Aksiyon: Challenge

2. Sunucu WAF — ModSecurity + OWASP CRS

cPanel paketlerimizde ModSecurity kuruludur. Imunify360 add-on ile gelişmiş WAF + WordPress için Imunify Specialized Set sunulur.

3. Uygulama WAF — Wordfence/Sucuri

WordPress için spesifik kurallar (XML-RPC, plugin zafiyetleri, WP-Cron flood). Imunify360 + Wordfence birlikte güçlü kombinasyon.

KVKK Uyumluluğu Çerçevesi

E-ticaret işletmeleri KVKK kapsamında "veri sorumlusu". Müşteri bilgilerini topluyorsanız:

  • Aydınlatma Metni: Sitenizde görünür yerde, hangi veriyi neden topluyorsunuz
  • Açık Rıza: Pazarlama amaçlı veri kullanımı için ayrı kutu (önceden işaretli olmayan)
  • VERBİS Kaydı: 50+ çalışan veya 25M+ ciro varsa zorunlu
  • Veri saklama süreleri: Sözleşme süresi + yasal saklama (vergi 5 yıl, ticaret 10 yıl)
  • İhlal bildirim: 72 saat içinde KVKK Kurumu'na

Buyukweb hosting Bursa Tier 3 veri merkezimizde, veriler Türkiye'de kalır. KVKK perspektifinden uluslararası provider'lara göre belirgin avantaj.

Sık Sorulan Sorular

Let's Encrypt SSL e-ticaret için yeterli mi?

Teknik olarak evet. Şifreleme aynıdır. Müşteri güveni için EV (Extended Validation) sertifika tercih edilebilir; tarayıcıda "yeşil bar" görüntüsü güven yaratır. Çoğu küçük-orta ölçekli e-ticaret için Let's Encrypt yeterli.

Sanal POS güvenliği için ne yapmalıyım?

iyzico/PayTR/Param redirect veya iframe modunu kullanın, kart verisini hiçbir zaman sitenize getirmeyin. SAQ-A uyumluluğu en basit ve güvenli.

WordPress'te güvenlik eklentisi şart mı?

Şart. En azından Wordfence, Imunify, Solid Security veya Sucuri kurulu olmalı. Ücretsiz versiyonlar da etkili. Buyukweb cPanel paketlerinde Imunify360 sunucu seviyesi WAF zaten aktif.

Kart verisi sızdırıldı, ne yaparım?

İlk 4 saat: Sızıntıyı durdurun, sistemi izole edin. 24 saat: Ekibinizi ve sanal POS sağlayıcısını uyarın. 72 saat: KVKK Kurumu'na ihlal bildirimi yapın. Haftalar: Müşterileri uyarın, hukuki süreç işletin. Bu süreçte BDDK ve KVKK denetim açabilir.

CSP başlığı eklemek WordPress sitemi bozar mı?

Kısıtlı CSP eklenti uyumsuzluğu yaratabilir. Adım adım yaklaşın: önce Content-Security-Policy-Report-Only ile log'layın, sonra kademeli olarak gerçek CSP'ye geçin. Eklentilerin gerektirdiği domain'leri whitelist'e ekleyin.

Bot trafiği sahte sipariş yapıyor, çözüm?

hCaptcha veya Cloudflare Turnstile checkout'a ekleyin. Ek olarak fraud skor sistemi kurun (yukarıdaki örnek). Repetitif IP'leri Cloudflare'de engelleyin.

KVKK için açık rıza nasıl alınır?

Tek kutu yetmiyor. Üç ayrı kutu: (1) sözleşmesel zorunluluk (zorunlu), (2) pazarlama e-posta (opsiyonel), (3) çerez (opsiyonel). Önceden işaretli OLMAMALI. Tercih kayıtlarını veritabanında zaman damgalı saklayın.

Imunify360'ı tek başına yeterli mi?

Sunucu seviyesi koruma için evet. Ek olarak uygulama seviyesi (Wordfence) + edge (Cloudflare) ile katmanlı yapı önerilir. Gerçek güvenlik tek bir araç değil, çoklu katman.

Sonuç ve Buyukweb Tavsiyemiz

E-ticaret güvenliği "kurarım, biter" değil sürekli yönetilen bir süreç. Tavsiyemiz:

  • SSL/TLS modern yapılandırma: A+ rating zorunlu hedef
  • PCI-DSS SAQ-A: Kart verisini hiç almayın
  • Fraud skor sistemi: Manuel kurallar + 3. taraf API
  • 3D Secure: Türkiye'de zorunlu, otomatik
  • WAF katmanı: Edge + Sunucu + Uygulama
  • KVKK uyumluluğu: Aydınlatma + rıza + VERBİS

Buyukweb tarafında E-Ticaret VDS ve WordPress Hosting Imunify360, ModSecurity, AutoSSL, NVMe SSD ve Türkiye Bursa Tier 3 veri merkezi avantajıyla e-ticaret güvenlik altyapınız için sağlam bir temel sunar.

Soru ve teknik destek için: 0850 302 60 70.


İlgili Büyükweb Hizmetleri

E-ticaret güvenliği için Türkiye lokasyonlu paketler:

Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.

E-Ticaret İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#e-ticaret güvenliği#ssl#pci-dss#dolandırıcılık#3d secure#waf

Bu yazıyı paylaş