Giriş: Gece Yarısı Alarmı ve PCI DSS’le Yüzleşme
Hiç gece yarısı sanki telefon çalacakmış gibi huzursuz uyandığınız oldu mu? Bende oldu. Bir indirim kampanyası öncesi, küçük bir e‑ticaret sitesinin sunucusunu toparlıyorduk. Her şey hazır derken, test ortamında kart ödemesi bir türlü akmıyor. Loglara baktım, TLS sürümü, yönlendirmeler, hatta minik bir firewall kuralı… Derken telefon çaldı. Bankanın test ekibi, “Tarayıcıdan bir güvenlik sıkıntısı görünüyor, WAF var mı?” diye soruyor. O an taşlar yerine oturdu: PCI DSS sadece kartla ilgili değil, hosting tarafında kurduğun güvenlik hikâyesiyle de ilgili.
İtiraf edeyim, PCI DSS’i ilk kez duyduğumda sadece bir uyumluluk formu sanmıştım. Sonradan gördüm ki olay formu doldurmak değil, kart verisinin hikâyesini doğru kurgulamak. Mesela şöyle düşünün: Kart bilgisi sitenize uğruyor mu, yoksa hiç dokunmadan ödeme sağlayıcıda mı tamamlanıyor? Cevap, hosting tarafında ne kadar iş düştüğünü doğrudan değiştiriyor. Bu yazıda sıcak bir sohbet gibi, PCI DSS uyumluluğunu hosting cephesinden anlatacağım. SAQ’ları sadeleştireceğiz, TLS ve WAF’i insan diliyle konuşacağız, yedek ve logları günlük hayata bağlayacağız. Hadi başlayalım.
PCI DSS’i Mutfağa İndirelim: Neyi Kapsar, Neden Hosting’i Etkiler?
PCI DSS, kart ödemelerinin güvenliğini sağlamak için bir rehber. Ama böyle deyince havada kalıyor. Gelin, mutfakta yemek yapar gibi düşünelim. Malzemeler kart verisi, ocak sunucu, ocak başında duran kişi de sizsiniz. Yemeğin lezzetli olması kadar, mutfağın düzenli ve temiz olması da önemli. PCI DSS tam bu düzenin tarifini veriyor. Diyor ki, girişte kapı kilitli mi (ağ güvenliği), malzemeler doğru saklanıyor mu (şifreleme), yangın tüpü var mı (zafiyet ve yamalar), mutfak defteri tutuluyor mu (loglama), anahtarlar kimde (erişim yetkileri), ve tüm bunlar bir kural kitabına bağlı mı (politika ve süreçler)?
“Ama ben küçük bir sitem, bana bu kadar şey fazla değil mi?” sorusu akla geliyor. Şöyle bakınca daha rahat: PCI DSS büyük resmi çiziyor, siz ise kendi resminizde gereken parçaları seçiyorsunuz. Kart verisine hiç dokunmuyorsanız işiniz çok daha hafifliyor. Ama kart verisi sitenize uğruyorsa, o zaman mutfağın daha fazla köşesine bakmak lazım. Hosting burada sahneye çıkıyor çünkü trafik sizden geçiyor, sunucuyu siz yönetiyorsunuz, güncellemeleri siz yapıyorsunuz. Yani “uyumluluğun yarısı” aslında evinizin düzeni gibi, teknik ev yönetimi.
Bir de şu var: Uyum bir defalık bir iş değil. Kampanya dönemlerinde, yeni eklentiler geldiğinde, hatta bir tema güncellendiğinde bile taşlar oynuyor. O yüzden bu rehberi bir yaşayan liste gibi düşünün. Bugün bir adım atarsınız, yarın bir adım daha. Zaten işin sırrı da burada: küçük küçük, ama düzenli ilerlemek.
Kart Verisi Akışı ve Kapsamı Daraltma: SAQ’lar, Token ve iFrame
Önce en kritik soru: Kart bilgisi sitenize giriyor mu, girmiyor mu? Eğer ödeme formu tamamen sağlayıcının sayfasında (veya güvenli bir iFrame içinde) ve siz kart verisine hiç dokunmuyorsanız, kart verisi akışı doğrudan sağlayıcı ile kullanıcı arasında kalır. Bu durumda uyumluluk yükünüz daha hafif olabilir; pratikte daha basit bir öz değerlendirme yoluyla ilerlersiniz. Genellikle “Site görsün ama dokunmasın” mantığı burada işe yarıyor. Bu yaklaşımı bir “token” gibi düşünün: asıl sır sağlayıcıda, siz sadece bilet numarasını taşıyorsunuz.
Öte yandan ödeme formu siteniz üzerinde render ediliyor, JavaScript ile arka tarafta sağlayıcıya gidiyorsa, işler değişir. Artık tarayıcı sizin alan adınızdayken kart girişine tanık oluyor; yani kapsam genişler. Bu da hosting tarafında TLS ayarlarınızdan içerik güvenliğine, WAF kurallarından eklenti hijyenine kadar pek çok noktayı sahaya sürer. Kafanızı karıştırmasın: Asıl amaç kapsamı daraltmak. Ne kadar az temas, o kadar az yük. Bu yüzden ödeme sağlayıcınızın iFrame veya güvenli redirect seçeneklerini ciddiye almak, gündelik hayatta işinizi çok kolaylaştırır.
“Peki ben WooCommerce kullanıyorum, nereden başlayayım?” diye soruyorsanız, pratik bir yol için bizim hazırladığımız PCI‑DSS uyumlu WooCommerce hosting kontrol listesi gayet işe yarıyor. Adım adım, hangi entegrasyonun ne sonuç doğurduğunu sıcak bir dille anlatıyor. Daha derin okumalar için resmi PCI Security Standards Council dokümantasyonu da masanızda dursun. Özellikle farklı öz değerlendirme yol haritalarını ve pratik kılavuzları bir arada görmek iyi geliyor.
Hosting Katmanında Güvenlik: TLS, WAF, Ağ Düzeni ve Küçük Dokunuşlar
Hosting cephesinde atacağınız ilk adım TLS ayarlarını sağlamlaştırmak. Tarayıcı ile sunucu arasındaki diyalog şifreli ve güncel olmalı. Eski protokollerle vedalaşmak, modern şifre kümeleri seçmek ve HSTS’i düzgün ayarlamak iyi bir başlangıç. “Peki hangi ayar?” diye düşünürseniz, ekiplerin sıkça başvurduğu Mozilla SSL Configuration Generator pratik bir pusula sunuyor. Oradan aldığınız önerileri, staging bir ortamda deneyip sonra canlıya almak her zaman daha risksiz.
Gelelim WAF meselesine. Adını duyunca gözünüzde kocaman bir duvar canlanmasın; WAF aslında sitenizi serseri isteklerden koruyan akıllı bir süzgeç gibi çalışır. Kart formu sunucunuzun alanında görünüyorsa, WAF bir nevi güvenlik kemeri olur. Hatalı istekleri filtreler, bilinen kötü niyetli kalıpları engeller, hatta bazıları bot trafiğini sakinleştirir. Elbette WAF tek başına mucize yaratmaz; güncellemeler, sağlam parola ve erişim düzeni, WAF’ın yanında yürüyen diğer adımlar.
Bir de ağ düzeni var. “Tek sunucuya koyayım, bitsin” demek cazip gelebilir; ama en azından yönetim paneli ile web trafiğini ayrı düşünmek, yönetimi güvenli bir kapıdan geçirmek faydalı. Yönetim erişimini belirli IP’lere sınırlandırmak, SSH için anahtarlı giriş kullanmak ve panoları herkese açık bırakmamak, sahiden çok şey değiştiriyor. Ayrıca gereksiz servisleri kapatmak, varsayılan portları gözden geçirmek ve mümkünse uygulama katmanında rate limit uygulamak, hem performans hem güvenlik için minik ama etkili hamleler.
Bir başka küçük dokunuş da içerik güvenliği. Ödeme adımı sayfalarında üçüncü taraf script’leri azaltmak, beklenmedik JavaScript sürprizlerini engeller. Bu sayfalar mümkün olduğunca sade, olgun ve tahmin edilebilir olsun. Kart girişi varsa, o sayfalarda hız ve güvenlik için ekstra özen gösterin. Çok süslü animasyonlardan çok “hızlı, temiz, güvenli” üçlüsü işinizi görür.
Güncellemeler, Zafiyet ve ASV Taraması: Sürekli Bakımın Sırrı
Güvenlik çoğu zaman büyük bir hamleden çok, küçük bakım alışkanlıklarıyla ayakta kalır. Çekirdeği, eklentileri, temaları ve sistem paketlerini güncel tutmak bu işin omurgası. Ben genelde kritik sistemler için otomatik güvenlik yamalarını açıp, özellik güncellemelerini bir staging ortamında denedikten sonra canlıya almayı seviyorum. Çünkü bazen en tehlikeli açık, “yarın bakarım” dediğiniz küçük bir eklentiden gelir.
Zafiyet taraması tarafında iki kulvar var: iç ve dış bakış. İçeride kendi sunucunuzu taramak, zayıf noktaları bulup hızlıca yamamak için iyi bir egzersiz. Dışarıda ise üç ayda bir yapılan, ASV (Approved Scanning Vendor) taramaları var. Bu taramalar, internetten bakan bir gözle yüzeye açık noktalarınızı yoklar. Kimler yapıyor derseniz, güncel listeyi Approved Scanning Vendor listesinde bulabilirsiniz. Randevunuzu alır, kapsamı netleştirir ve rapora göre aksiyon alırsınız.
“Pen test şart mı?” sorusu da sık gelir. Çoğu ekip, belli aralıklarla dışarıdan bir ekipten sızma testi almayı faydalı buluyor. Özellikle ödeme adımı çevresi, yönetim panelleri ve API uçları, eli gözü açık test eden biri tarafından kurcalanınca ufak taşlar ortaya dökülüyor. Buradaki kilit cümle şu: bulduğunu düzeltmek. Raporu bir raf süsü yapmayın; aksiyon planına çevirin, sorumlu ve tarih koyun, sonra dönüp test edin.
Loglar, Dosya Bütünlüğü ve Alarm Düzeni: Sessiz Kahramanlar
Loglar, sistemin günlükleri. O gün ne oldu, kim girdi, hangi dosya değişti, hata olduğunda ne söyledi… Hepsi loglarda. Ama logu sadece tutmak yetmiyor; aramak, anlamak ve alarm kurmak gerekiyor. Ben kritik olaylar için basit ama etkili bir yaklaşımı seviyorum: giriş denemeleri, hatalı istek patlamaları, dosya değişiklikleri ve ödeme adımlarındaki beklenmedik durumlar için hemen uyarı ver. Bir e‑posta, bir Slack bildirimi, hatta bir telefon çağrısı; olayın türüne göre seçin.
Dosya bütünlüğü izleme konusu da güzel bir kalkan. Önemli dizinlerde beklenmedik bir değişiklik olduğunda alarm üretmek, “Bunu kim yaptı?” sorusuna hızlı bir cevap olur. Basit bir hash karşılaştırmasıyla bile gün boyu huzurun artar. Üstüne bir de saat eşitlemesini düzgün yaparsanız, farklı sistemlerden gelen loglar aynı zaman çizgisine oturur ve incelemek kolaylaşır. Küçük gibi görünen bu detay, olay anında büyük fark yaratır.
Logları tek bir yerde toplamak da ayrı bir rahatlık. Sunuculardan akıp gelen günlükleri merkezi bir noktada tutmak, hem saklama hem arama açısından konfor sağlar. Kayıtları makul bir süre saklayın, gerektiğinde geriye dönüp iz sürün. İnanın, trafiğin arttığı günlerde bu sessiz kahramanlar sayesinde nefes alacaksınız.
Yedek, Şifreleme ve Provalar: Kötü Günü Güzel Atlatmak
Yedek almak, sadece “dosyaları kopyalamak” değil. Asıl kritik olan, geri dönmeyi prova etmek. Bir güncelleme ters gittiğinde, bir dosya yanlışlıkla silindiğinde ya da beklenmedik bir senaryoda, yedekten dönmenin kaç dakika sürdüğünü bilmek harika bir özgüven verir. Off‑site yedekler, sürümlü kopyalar ve gerekirse değiştirilemez saklama politikası, işinizi başka bir seviyeye taşır. Şifreli saklama ise bu zincirin sağlam halkası; yedeklerin akarken ve dururken korunması iyi hissettirir.
Şifreleme demişken, yönetim anahtarlarını ve şifreleri de ayrı bir özenle ele almak gerekiyor. Parolaları üretip sakladığınız bir kasa, erişim izinleri ve iki adımlı doğrulama hayatı kolaylaştırır. SSH’da parola girişini kapatıp anahtar kullanmak, yönetim panelini belirli IP’lere sınırlamak ve kritik işlemler için onay mekanizması koymak, küçük maliyetle büyük kazançlar getirir. Özellikle ödeme adımı ile ilgili yapılandırmaların değiştiği her durumda, iyi bir değişiklik kaydı tutmak ileride “Nerede ne oldu?” sorusuna şıp diye yanıt verir.
Son bir dokunuş da kurtarma senaryolarına. Bir kesinti anında kimin kimi arayacağı, hangi komutların hangi sırayla çalıştırılacağı, hangi kayıtların kontrol edileceği… Bunların hepsi bir runbookta yazılı olsun. Bazen on dakikalık bir panikle saatlerce vakit kaybediliyor. Oysa düzenli bir prova, gerçek günde size zaman kazandırır.
Kapanış: Küçük Adımlar, Büyük Güven
PCI DSS’le barışmak, dev bir projeye başlamak gibi görünse de aslında gündelik hayata yaydığınız bir alışkanlıklar bütünü. Hosting tarafında attığınız küçük adımlar — sağlam TLS, sade ödeme sayfaları, düzenli güncellemeler, WAF ile koruma, loglara alarm, yedekleri test — bir araya gelince büyük bir güven duygusu yaratıyor. Kart verisine dokunmayan akışları tercih etmek, kapsamı daraltmak ve gerektiğinde doğru SAQ yolunu seçmek bu yolculuğu çok hafifletiyor. Zaten mesele sadece uyum değil; aynı zamanda hız, istikrar ve müşterinizin içini rahat ettiren bir deneyim.
Bugün birini seçin ve başlayın: TLS’i iyileştirin, ödeme sayfasını sadeleştirin ya da loglarda kritik uyarıları kurun. Yarın ASV randevunuzu planlayın, öbür gün yedekten geri dönüş provası yapın. Bir bakmışsınız, her şey akıyor. Bu yazı size bir yol arkadaşı olduysa ne mutlu bana. Sorularınız olursa beklerim; birlikte düşünmek her zaman daha kolay. Bir dahaki yazıda görüşmek üzere.
