Genel Güvenlik Skoru
MarkaClick CMS, endüstri standartlarının üzerinde güvenlik önlemleri ile korunmaktadır.
Saldırı Korumalarına Karşı Güvenlik Durumu
SQL Injection Koruması
Tam KorumaSQL Injection, kötü niyetli SQL kodlarının veritabanı sorgularına enjekte edilmesiyle gerçekleştirilen bir saldırı türüdür.
Uygulanan Korumalar
- PDO Prepared Statements: Tüm veritabanı sorguları parametreli sorgular ile çalıştırılır
- Input Binding: Kullanıcı girdileri otomatik olarak escape edilir
- Query Builder: Güvenli sorgu oluşturma altyapısı
- Whitelist Validation: Dinamik tablo/sütun adları whitelist ile kontrol edilir
// MarkaClick'te kullanılan güvenli sorgu yapısı
$db->query("SELECT * FROM users WHERE email = :email AND status = :status");
$db->bind(':email', $user_email);
$db->bind(':status', 'active');
$result = $db->single();
Saldırı Senaryosu
' OR '1'='1' --
XSS (Cross-Site Scripting) Koruması
Tam KorumaXSS saldırıları, kötü amaçlı JavaScript kodlarının web sayfalarına enjekte edilmesiyle gerçekleştirilir.
Uygulanan Korumalar
- Output Encoding: Tüm çıktılar
htmlspecialchars()ile escape edilir - Content Security Policy: CSP header ile inline script'ler kısıtlanır
- X-XSS-Protection: Tarayıcı XSS filtresi aktif
- HttpOnly Cookies: Session cookie'leri JavaScript erişimine kapalı
// Tüm kullanıcı girdileri escape edilir
<?= htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8') ?>
// e() helper fonksiyonu
<?= e($user_name) ?>
Saldırı Senaryosu
<script>alert('XSS')</script>
CSRF (Cross-Site Request Forgery) Koruması
Tam KorumaCSRF saldırıları, kullanıcının oturumunu kullanarak yetkisiz işlemler yapılmasını sağlar.
Uygulanan Korumalar
- CSRF Token: Her form için benzersiz token oluşturulur
- Token Doğrulama: POST isteklerinde token kontrolü yapılır
- SameSite Cookie: Cookie'ler cross-site isteklere kapalı
- Referrer Kontrolü: İstek kaynağı doğrulanır
// Form içinde token
<form method="POST">
<?= generate_csrf_field() ?>
...
</form>
// API isteğinde doğrulama
if (!verify_csrf_token($_POST['csrf_token'])) {
error_response('CSRF token geçersiz', 403);
}
Brute Force Koruması
Tam KorumaBrute force saldırıları, şifre kombinasyonlarının denenerek sisteme yetkisiz erişim sağlanmasıdır.
Uygulanan Korumalar
- Login Attempt Limiting: 5 başarısız denemeden sonra 15 dakika kilitleme
- Rate Limiting: API istekleri dakikada 100 ile sınırlı
- CAPTCHA: Şüpheli aktivitelerde görsel doğrulama
- IP Blacklisting: Şüpheli IP adresleri otomatik engellenir
- 2FA Desteği: İki faktörlü doğrulama mevcut
Kilitleme Politikası
| Maksimum Deneme | 5 deneme |
| Kilitleme Süresi | 15 dakika |
| API Rate Limit | 100 istek/dakika |
Şifre Güvenliği
Güçlü ŞifrelemeKullanıcı şifreleri modern kriptografik yöntemlerle korunur.
Şifre Politikası
- Algoritma: bcrypt (PASSWORD_BCRYPT)
- Cost Factor: 12 (yüksek güvenlik)
- Salt: Otomatik oluşturulur
- Düz Metin: Asla saklanmaz
Algoritma Karşılaştırması
| Algoritma | Güvenlik | MarkaClick |
|---|---|---|
| bcrypt | Mükemmel | Kullanılıyor |
| Argon2 | Mükemmel | Desteklenir |
| SHA-256 | Orta | Kullanılmıyor |
| MD5 | Zayıf | Kullanılmıyor |
Oturum Güvenliği
GüvenliOturum Özellikleri
- Secure Cookie: HTTPS üzerinde güvenli cookie
- HttpOnly: JavaScript erişimine kapalı
- SameSite: Cross-site isteklere kapalı
- Session Regeneration: Login sonrası yeni session ID
- Timeout: 30 dakika inaktivite sonrası oturum sonlandırma
Dosya Yükleme Güvenliği
KorumalıDosya Kontrolleri
- MIME Type Kontrolü: Dosya türü doğrulanır
- Extension Whitelist: Sadece izin verilen uzantılar
- Boyut Limiti: Maksimum dosya boyutu sınırı
- Dosya Adı: Güvenli yeniden adlandırma
- Depolama: Web root dışında saklama seçeneği
İzin Verilen Dosya Türleri
HTTP Güvenlik Başlıkları
| Header | Değer | Durum |
|---|---|---|
X-Content-Type-Options |
nosniff | |
X-Frame-Options |
SAMEORIGIN | |
X-XSS-Protection |
1; mode=block | |
Referrer-Policy |
strict-origin-when-cross-origin | |
Content-Security-Policy |
Özelleştirilebilir | |
Strict-Transport-Security |
max-age=31536000 | SSL Gerekli |
Güvenlik Logları
Güvenlik Olay Kaydı
AktifTüm güvenlik olayları /logs/security.log dosyasına kaydedilir.
Kaydedilen Olaylar
Güvenlik Önerileri
SSL Sertifikası Kullanın
Sitenizi HTTPS üzerinden sunarak veri iletimini şifreleyin. Let's Encrypt ücretsiz SSL sertifikası sağlar.
Yüksek ÖncelikDüzenli Yedekleme
Veritabanı ve dosyalarınızı günlük olarak yedekleyin. Otomatik yedekleme cron job'u kurun.
Yüksek ÖncelikGüçlü Şifreler
Admin hesapları için en az 12 karakterli, büyük/küçük harf, rakam ve sembol içeren şifreler kullanın.
Orta Öncelikİki Faktörlü Doğrulama
Admin girişlerinde 2FA aktif edin. E-posta veya authenticator uygulaması kullanabilirsiniz.
Orta ÖncelikGüvenlik Standartları Uyumluluğu
OWASP Top 10
Web uygulama güvenliği standartlarına uyumlu
KVKK Uyumluluğu
Kişisel veri koruma standartlarına uyumlu
PCI DSS
Ödeme kartı güvenliği (entegrasyon bağımlı)