Dökümanlar İleri Düzey Güvenlik

Güvenlik

CMS'te hazır gelen güvenlik katmanları ve önerilen sertleştirme adımları.

Kimlik Doğrulama

  • Şifreler password_hash(PASSWORD_DEFAULT) (bcrypt) ile hash'lenir.
  • Giriş sonrası session_regenerate_id(true) çağrılır — session fixation saldırılarına karşı koruma.
  • Session cookie: HttpOnly, Secure (HTTPS), SameSite=Lax.
  • Session cookie adı kurulum yoluna göre hash'lenir (KB_CMS_<hash>) — aynı domainde iki CMS kurulursa çakışmaz.

CSRF Koruması

Tüm admin POST istekleri $_SESSION['csrf_token'] ile doğrulanır. Formlarda:

PHP
<form method="POST">
    <?php echo csrfField(); ?>
    ...
</form>

SQL Injection

Tüm DB erişimleri PDO prepared statement kullanır. Hiçbir yerde string concat ile SQL yoktur.

XSS

Kullanıcı input'u çıktı alınırken htmlspecialchars() (e() helper'ı) ile escape edilir. Admin'in HTML alanları (haber içeriği, SSS cevabı) güvenilir kabul edilir ancak XSS taraması eklemeyi düşün.

Rate Limiting

Eksik: CMS varsayılan olarak rate limit uygulamıyor. Login brute force, password reset abuse için Cloudflare Rate Limiting veya fail2ban öneriyoruz.

Ek Sertleştirme

  • HTTPS zorunlu yap (.htaccess ile redirect).
  • install/ klasörünü kurulum sonrası sil.
  • Admin panel URL'sini değiştir (/admin yerine özel bir path).
  • Admin şifrelerini uzun ve benzersiz tut; mümkünse yöneticilere 2FA zorunlu kıl (planlı özellik).
  • MySQL kullanıcısına sadece gerekli tablolarda izin ver.
  • Düzenli veritabanı yedekleme.

İki Faktörlü Doğrulama (2FA): Şu an CMS'te 2FA yok. Yüksek güvenlik gerektiren senaryolar için planlı bir özellik.

Teşekkürler! Geri bildirimin kaydedildi.