İçeriğe geç

Güvenlik Yaklaşımımız

Güvenlik tek bir özellikten oluşmaz. SakuraCMS'de erişim yetkileri, lisans doğrulaması ve kontrollü güncellemeler birlikte ele alınır.
Görsel alternatif metni: SakuraCMS'de yetkilendirme, lisans doğrulaması ve kontrollü güncellemeleri temsil eden mavi güvenlik kalkanı ve bileşenler.

Güven, tek bir özellikle değil; birlikte çalışan kontrollerle oluşur.

Bir web sitesini korumak, yalnızca yönetim paneline parola koymaktan ibaret değildir. Kimin hangi işlemi yapabildiği, formlardan gelen isteklerin nasıl doğrulandığı, modüllerin hangi kaynaktan kurulduğu ve güncellemelerin nasıl uygulandığı da aynı bütünün parçalarıdır.

SakuraCMS’de güvenliği bu süreçlerin içinde ele alıyoruz. Amaç, içerik yönetimini zorlaştırmak değil; kullanıcıların görevlerini belirli sınırlar içinde yapabildiği, sistem değişikliklerinin kontrollü yürütüldüğü bir çalışma düzeni kurmaktır.

Yetkilendirme, lisans doğrulaması ve güncelleme yönetimi bu yaklaşımın temel bileşenleridir. Her biri farklı bir soruya yanıt verir: Bu kullanıcı ne yapabilir? Bu kurulum hangi bileşenleri kullanabilir? Sisteme uygulanacak değişiklik hangi sürüme ve hangi koşullara aittir?
guvenlik-yaklasimimiz

Yönetim erişimi, görevlerle uyumlu olmalı

Sitenizde çalışan herkesin aynı yetkilere sahip olması gerekmez. Yazı hazırlayan bir editörün sistem ayarlarını değiştirmesi, belirli içeriklerden sorumlu bir yöneticinin bütün modüllere erişmesi zorunlu değildir.

SakuraCMS’nin rol ve yetki yapısı, erişimlerin bu sorumluluklara göre düzenlenmesi için kullanılır. Modüllerin sunduğu görüntüleme ve yönetme yetkileri üzerinden ilgili rollerin erişim kapsamı belirlenebilir. Hangi yetkinin kime verileceğine Süper Admin karar verir.

Yeni bir modülün sisteme tanıtılması, normal yöneticilere otomatik erişim verilmesi anlamına gelmez. Önce modülün işlevi ve ihtiyaç duyulan görevler değerlendirilir, ardından erişim kararı alınır. Böylece siteye eklenen her yeni özellik, kontrolsüz bir yetki genişlemesine dönüşmez.

Bir bağlantıyı gizlemek, tek başına yetkilendirme değildir

Yönetim menüsünde bir modülün görünmemesi, kullanıcının ilgili işleme erişimini engellemek için tek başına yeterli değildir. Kullanıcı adresi biliyorsa doğrudan açmayı deneyebilir. Bu nedenle erişim kararının yalnızca arayüzde değil, işlemin yürütüldüğü sunucu tarafında da değerlendirilmesi gerekir.

SakuraCMS’nin yetkilendirme yaklaşımında menü görünürlüğü ile işlem erişimi birlikte ele alınır. Bir kullanıcıya sunulan yönetim alanlarının, kendisine verilen yetkilerle tutarlı olması amaçlanır. Yeni modüller geliştirilirken de bu ortak yapıyla uyum korunmalıdır.

Günlük kullanımda bunun karşılığı açıktır: Bir içeriği görebilmek ile değiştirebilmek aynı karar değildir. Görüntüleme ve yönetme sorumluluklarının ayrılması, ekip içinde daha kontrollü bir çalışma düzeni oluşturur.

Form ve yönetim işlemlerinde istek doğrulaması

Bir sayfanın açılması ile o sayfadan veri değiştiren bir işlem yapılması farklıdır. İçerik kaydetmek, dosya silmek veya ayar değiştirmek gibi işlemler, kullanıcının oturumuyla ve yetkisiyle birlikte değerlendirilmelidir.

SakuraCMS’de CSRF koruması, isteklerin doğrulanmasında kullanılan kontrollerden biridir. Bu kontrol, kullanıcının açık oturumundan yararlanarak başka bir kaynaktan işlem yaptırılmaya çalışılması riskine karşı kullanılır. Formlarda taşınan doğrulama bilgisi, sunucu tarafında kontrol edilir.

CSRF koruması, kullanıcının ilgili işlemi yapmaya yetkili olup olmadığının kontrolüyle birlikte çalışır. Bir isteğin doğrulama bilgisini taşıması, ona bütün işlemleri yapma hakkı vermez. Oturum, yetki ve işlem verisinin doğruluğu ayrı sorumluluklardır.

İçerik düzenleme ile kod çalıştırma yetkisini ayırıyoruz

Bir metni güncellemek ile ziyaretçilerin tarayıcısında çalışacak JavaScript kodu eklemek aynı kapsamda değildir. İçerik düzenleme yetkisi, teknik kod üzerinde sınırsız işlem yapma yetkisine dönüşmemelidir.

Ana Sayfa İçerik Düzenleyici’de JavaScript ekleme, değiştirme, silme ve yayınlama işlemleri Süper Admin yetkisiyle sınırlandırılır. Normal yöneticilerin ve müşterilerin ihtiyaç duyduğu özel davranışlar, yetkili kişi tarafından değerlendirilerek hazırlanır.

HTML ve CSS alanları da içerik güvenliği ve ilgili alanın sınırları gözetilerek ele alınır. Özel tasarım çalışmaları yapılırken modülün amacı korunur; içerik düzenleyicinin bütün temaya veya yönetim yetkilerine müdahale eden bir araca dönüşmemesi önemlidir.

Lisans doğrulaması hangi görevi üstlenir?

Lisans sistemi, kurulumun domaini ve kullanım kapsamıyla ilgili doğrulamaları yönetir. Hangi modüllerin kullanılabileceği ve hangi güncellemelere erişilebileceği, ilgili lisans ve paket tanımlarıyla birlikte değerlendirilir.

Bu kontrol, kullanıcı yetkilendirmesinden farklıdır. Lisans kapsamında bir modülün bulunması, her yönetici hesabının o modülü yönetebileceği anlamına gelmez. Lisans, kurulumun kullanım kapsamını; rol ve yetkiler ise kullanıcıların işlem kapsamını belirler.

Örneğin Video Galeri kullanımına açık bir kurulumda, modülü yönetecek kullanıcıların erişimleri ayrıca tanımlanır. Böylece bileşene sahip olmak ile bileşen üzerinde işlem yapabilmek birbirinden ayrılır.

Lisans doğrulaması bir antivirüs hizmeti değildir. Görevi, kurulumun kullanım ve güncelleme erişimini belirlenen kurallar çerçevesinde doğrulamaktır.

Kaynak ve dosya bütünlüğü önemlidir

Bir paketin beklenen kaynaktan gelmesi kadar, ilgili dosyaların beklenen içerikle eşleşmesi de önem taşır. Tanımlanmış bileşenlerde bütünlük doğrulaması, beklenmeyen değişikliklerin tespit edilmesine yardımcı olur.

SakuraCMS’nin bütünlük altyapısı, kapsamına alınmış korunan dosyaları doğrulama kayıtlarıyla karşılaştırmak için kullanılır. Bu kontrolün kapsamı, ilgili sürümde tanımlanan kayıtlarla sınırlıdır; sitedeki her dosyanın veya yüklenen her içeriğin otomatik olarak zararlı yazılım taramasından geçirildiği anlamına gelmez.

Bu nedenle korunan lisans ve sistem dosyalarında rastgele değişiklik yapılmaması önemlidir. Bir geliştirme gerektiğinde, ilgili bileşenin sorumlulukları ve güncelleme yöntemi dikkate alınarak ilerlenmelidir. Beklenmeyen bir doğrulama hatası da kontrolü devre dışı bırakmak yerine nedeninin araştırılmasını gerektirir.

Güncelleme, kontrollü bir sistem değişikliğidir

Yeni bir sürüm yüklemek, yalnızca bir ZIP dosyasını açmak değildir. Paketin hangi bileşene ait olduğu, mevcut kurulumun hangi sürümde bulunduğu ve yeni sürümün hangi bağımlılıkları gerektirdiği birlikte değerlendirilmelidir.

SakuraCMS’nin merkezi güncelleme yapısı, lisans kapsamında sunulan Core ve modül sürümlerini belirli bir dağıtım düzeninde takip etmeyi sağlar. Güncelleme erişimi, lisans durumu ve ilgili sürümün koşullarıyla ilişkilidir.

Özellikle çekirdek altyapıyla bağlantılı geliştirmelerde gereken dosyaların eksiksiz olması önemlidir. Bir modül veya Core güncellemesi hazırlanırken yalnızca değişen ekran değil, o ekranın kullandığı sınıflar ve entegrasyonlar da değerlendirilmelidir. Güncelleme sonrasında ilgili işlevlerin kontrol edilmesi, sürecin doğal bir parçasıdır.

Kontrollü güncelleme yaklaşımı, bakım çalışmalarını rastlantısal dosya değişikliklerinden ayırır. Hangi bileşenin neden değiştiğinin bilinmesi, olası bir sorunun anlaşılmasını ve ele alınmasını kolaylaştırır.

Güvenlik, kurulumdan sonra da devam eder

Yazılım tarafındaki kontroller, sitenin çalıştığı ortamdan bağımsız düşünülemez. Hosting hesabının korunması, uygun dosya izinleri, HTTPS kullanımı ve desteklenen sunucu bileşenlerinin güncel tutulması da önemlidir.

Yönetici hesaplarında güçlü ve birbirinden farklı parolalar kullanmak, ortak hesap paylaşımını azaltmak ve görev değişikliklerinde erişimleri gözden geçirmek günlük yönetimin parçası olmalıdır. Artık ihtiyaç duyulmayan kullanıcı yetkilerinin açık kalmaması, basit ama değerli bir kontroldür.

Düzenli yedekleme de bu sürekliliği destekler. Yedeklerin yalnızca alınması değil, gerektiğinde geri yüklenebilir olduğunun bilinmesi önem taşır. Özellikle önemli güncellemelerden önce geri dönüş imkânının değerlendirilmesi, işletim sorumluluğunun bir parçasıdır.

Ölçülü vaatler, açık sorumluluklar

Hiçbir içerik yönetim sistemi, tek başına bütün saldırılara karşı mutlak koruma sağlayamaz. Güvenlik; yazılım kontrolleri, doğru yapılandırma, güncel bileşenler ve dikkatli yönetimin birlikte sürdürülmesiyle güçlenir.

SakuraCMS’de yaklaşımımız, bu sorumlulukları görünür ve yönetilebilir kılmaktır. Erişim kararlarını belirlemek, lisans kapsamını doğrulamak, korunan bileşenlerin bütünlüğünü değerlendirmek ve güncellemeleri kontrollü biçimde ele almak bu anlayışın parçalarıdır.

Web sitenizin güvenliği, bir defa açılıp unutulan bir ayar değildir. Projeniz geliştikçe kullanıcıları, modülleri ve çalışma koşullarını yeniden değerlendiren sürekli bir yönetim sürecidir.

SakuraCMS — Kontrollü erişim, doğrulanan kullanım kapsamı ve planlı güncelleme yaklaşımı.