• ~/blog
  • cpalius-cmf-ile-drupal-typo3-modx-processwire-ve-sulu-performans-ve-guvenlik-karsilastirmasi
Makale

CPalius CMF ile Drupal, TYPO3, MODX, ProcessWire ve Sulu: performans ve güvenlik karşılaştırması

100 bin kullanıcı, 20 bin konu, 200 bin mesaj ve 100 bin rezervasyonlu bir veritabanında tek istek süreleri cp:perf:probe ile ölçüldü. Eşzamanlı yük testi (k6/ab) yapılmadı.

· ZemoCA · 3 dk okuma
CPalius CMF ile Drupal, TYPO3, MODX, ProcessWire ve Sulu: performans ve güvenlik karşılaştırması
  • CPalius için ölçüm var. 100 bin kullanıcı, 20 bin konu, 200 bin mesaj ve 100 bin rezervasyonlu bir veritabanında tek istek süreleri cp:perf:probe ile ölçüldü. Eşzamanlı yük testi (k6/ab) yapılmadı.
  • Rakipler için ölçüm yok. Rakip sistemleri kurup aynı veriyle çalıştırmadık. Bu belgedeki rakip bilgileri kaynak kodun okunmasına dayanır, hız iddiası taşımaz. "Var / yok" kaynakta gördüğümüzü söyler; bir özelliğin eklentiyle sonradan eklenebilmesi ayrıca mümkündür.
  • Sulu: iskeletin vendor klasörü yok. Çekirdek kodu değil, yalnızca security.yaml ve paket listesi incelendi; Sulu hücreleri bu yüzden "kısmi" işaretlidir.
  • MODX ve ProcessWire: güvenlik kodunun yalnızca ilgili bölümleri (parola hash'i, erişim politikaları, oturum, CSRF, giriş kısıtlama, dosya doğrulama) okundu; tüm kod taranmadı.
  • Doğrulama düzeyi: Drupal ve TYPO3 güvenlik hücrelerinin çoğu (RequestSanitizer, CSRF belirteci, RequestToken, CSP, MFA, dosya adı doğrulama, hash fabrikası) kaynakta okundu. Performans tablosundaki rakip hücreleri ve MODX, ProcessWire, Sulu'nun bazı hücreleri genel bilgiye dayanır, kaynakta tek tek doğrulanmadı; yayımlamadan önce kontrol edin.
  • Bu bir güvenlik denetimi değildir; açık aranmadı, mekanizmalar karşılaştırıldı.

Performans mekanizmaları

ÖzellikCPalius 2.2.68Drupal 11TYPO3 14MODX 3ProcessWireSulu
Misafir sayfasını web sunucusunun dosya olarak sunması (PHP'siz)Var (Apache, gzip kopya dahil)Dahili sayfa önbelleği PHP'den geçerSayfa önbelleği PHP'den geçerEleman önbelleğiEklenti (ProCache)HTTP önbelleği (FOSHttpCache/Varnish)
Etiketle geçersiz kılmaVar (itme tabanlı dizin, ~3 ms/sayfa)Var (sunumda sağlama toplamı)VarSınırlıSınırlıVar
Eskiyi sun, arkada yenileVarYok (tek istek bekler)YokYokYokProxy'ye bağlı
Önbelleğe girmeyen parçalar için render önbelleği / BigPipeYokVarKısmiEleman önbelleğiModül önbelleğiYok
Sayfa başına maliyet ölçümü yönetim panelindeVarEklenti (Web Profiler/Devel)Admin paneli aracı varYokDebug moduProfiler
Sorgu sayısı korkuluğu (N+1)Var (geliştirme modunda)YokYokYokYokYok
Sunucu duruş denetimi (OPcache, MySQL tampon, sıkıştırma)Var (cp:doctor)Durum raporu (kısmi)Ortam sayfası (kısmi)YokYokYok

Güvenlik mekanizmaları

ÖzellikCPalius 2.2.68Drupal 11TYPO3 14MODX 3ProcessWireSulu
CSRF belirteciVar (oturuma bağlı)Var (oturum tohumu + değere bağlı)Var (kapsamlı, süreli, imzalı JWT)VarVar (tek kullanımlık seçeneği)Symfony
Hassas işlem için kimlik yeniden doğrulamaVar (yeni)YokMFA zorunluluğu var, işlem başı yokYokYokYok
Anahtar döndürmeVar (yeni)hash_salt döndürme yokŞifreleme anahtarı değişince geçersizYokYokYok
Parola hash'i ve yeniden hashbcrypt maliyet 13, girişte yenilenirPhpassHashedPassword/PHPArgon2id/bcrypt/PBKDF2 fabrikasıPHP native, PBKDF2bcryptSymfony auto
İki aşamalı doğrulamaTOTP, e-posta kodu, kurtarma koduEklentiTOTP, kurtarma koduEklentiEklentischeb 2FA
Giriş kısıtlamaVar (IP+hesap, captcha, yasaklama)Flood servisiKilitlemeSınırlıSessionLoginThrottleSymfony limiter
CSPVar (nonce, rapor alıcı, öneri aracı)Çekirdekte yokVar (kapsamlı, öneri üretir)YokYokYok
Dosya yükleme: gerçek MIME, çift uzantı, yürütme engeliVar; SVG yüklenemezTehlikeli uzantı regex'iDosya adı denylist + SVG temizleyiciKara listeKara liste + dosya doğrulayıcı modüllerMedya paketi
SVG'ye izin (temizleyiciyle)Yok (bilerek yasak)YokVarYokYokYok
Girdi şekli temizliği (# anahtarları, dış destination)Gereksiz (Symfony 400 döner, yönlendirmeler süzülür)Var (RequestSanitizer)VarDesenlerSanitizerSymfony
İzin ince ayarıRol + kullanıcı bazlı geçersiz kılma, sahiplikRol + "restrict access" işaretiİzin kümeleriBağlam/kaynak grubu/politika (çok ince)Rol/izinWebspace/koleksiyon matrisi
Kısıtlı yetki işaretiVar (yeni)VarYokYokYokYok
Eklenti güvenlik duyurularıVar (yeni, imzalı dizin)Var (update modülü)Var (resmi duyurular)YokYokComposer audit
Trusted hostVar (AACP ayarı)ZorunluVarYokhttpHostsSymfony
WAF ve IP yasaklamaVarEklentiEklentiYokYokYok
Güvenlik duruş denetimiVar (SecurityAuditor, cp:doctor)Durum raporuOrtam/Install aracıYokYokYok

Bu tablodan ne çıkıyor?

  1. CPalius'un öne çıktığı yerler: sunucu tarafında dosya olarak sunulan misafir önbelleği, eskiyi-sun modeli, hassas işlemler için kimlik yeniden doğrulama, anahtar döndürme, yerleşik WAF ve duruş denetimleri, N+1 korkuluğu.
  2. CPalius'un geride kaldığı yerler: render önbelleği / BigPipe benzeri parçalı önbellek (Drupal), çok ince ACL (MODX bağlam/kaynak grubu, Sulu webspace matrisi), SVG'nin güvenli kabulü (TYPO3), tam metin arama dizini (şu an LIKE + önbellek + hız sınırı), eşzamanlı yük testleri.
  3. Rakiplerden bilerek almadıklarımız: SVG'yi temizleyerek kabul etmek (şimdilik yasak, daha güvenli), RequestSanitizer (Symfony zaten 400 dönüyor), FULLTEXT dizini (MariaDB uyumu için ngram'a bağlı kalmak istemedik).

Sıradaki işler

  • Arama için taşınabilir tam metin dizini (MySQL ve MariaDB'de çalışan).
  • Üye sayfalarında parça önbelleği (kullanıcıya özel içerikte eskime riski ölçülerek).
  • Gerçek sunucuda üretim ayarlarıyla k6/ab yük testi.
  • Nesne düzeyinde yetki (başkasının kaydına erişim) ve SSRF uç noktalarının tek tek incelenmesi.

Yorumlar (0)

Henüz yorum yok. İlk yorumu sen yaz.

Yorum yaz

Yorumunuz yayınlanmadan önce incelenecektir.