İçeriğe atla

Veri güvenliği

Kursunuzun verisi nerede duruyor, kim görüyor

Bu sayfa mühendisler için değil, kurs sahipleri için yazıldı. Bugün gerçekten yaptığımız şeyleri anlatıyor. En altta da açık konuştuğumuz bir bölüm var: hangi iddiayı neden ortaya atmadığımızı yazdık.

Her kursun verisi ayrı veritabanında

En sık sorulan soru bu: “benim öğrencim başka kursun listesinde görünür mü?”

  • Kurumunuz açıldığında size ait ayrı bir veritabanı oluşturulur. Öğrenci, ders, tahsilat ve evrak kaydınız orada durur.
  • Kayıtlar başka kurumlarla aynı tabloda değildir; “yanlış kurumun satırını görme” hatasının oluşabileceği bir ortak tablo yoktur.
  • Yüklediğiniz belge ve fotoğraflar kurumunuza ait alanda, tahmin edilemeyecek dosya adlarıyla tutulur; indirme oturum ve yetki ister.
  • Yüklenen dosyanın türü sunucuda içeriğine bakılarak belirlenir, kullanıcının verdiği ada güvenilmez; boyut ve uzantı sınırlıdır. Yalnızca resim ve PDF tarayıcıda açılır, kalanı indirilir.
  • Bu dosyaların hiçbiri web sunucusunun doğrudan servis ettiği bir klasörde durmaz; adresi bilen biri panelden geçmeden indiremez.
  • Kayıt (log) dosyalarımıza T.C. kimlik numarası, kart bilgisi ve tek kullanımlık kod yazılmaz; telefon ve e-posta ise maskelenir.

Tarayıcı ile sunucu arasındaki hat

Kursta internet çoğu zaman ortak bir ağdan geçer; hattın şifreli olması gerekir.

  • Canlı ortam HTTPS üzerinden çalışır: trafik SSL (TLS) sertifikasıyla şifrelenir. Tarayıcınızın adres çubuğundaki kilit işareti bunu gösterir.
  • Aradaki bir ağda oturan biri, gönderdiğiniz öğrenci bilgisini veya şifreyi okuyamaz.
  • Güvenli bağlantıda tarayıcıya “bu siteye bir daha şifresiz bağlanma” talimatı gönderilir (HSTS).
  • Sayfalarımızın başka bir sitenin içine çerçevelenmesi engellenir; tıklama kaçırma (clickjacking) denemesi çalışmaz.
  • Tarayıcıya içerik türünü tahmin etmemesi söylenir: yüklenen bir dosya betik gibi çalıştırılamaz.
  • Başka siteye geçerken tam adres paylaşılmaz; adreste geçen kayıt numarası dışarı sızmaz.
  • Sayfada yalnızca imzalı betikler çalışır. Araya sokulan bir betik bu imzayı bilemediği için tarayıcı onu çalıştırmaz.
  • Panelin kullanmadığı tarayıcı yetenekleri kapatılır: konum, kamera, mikrofon, ekran paylaşımı ve USB sayfaya kapalıdır.
  • Panelin dosya ve görselleri başka bir sitenin sayfasına gömülemez.

Kart bilgisi bizde durmaz

Kart numarası saklamıyoruz; saklamadığımız bir bilgi çalınamaz.

  • Kart numarası ve CVV veritabanımıza hiç yazılmaz. Şifreli bağlantı üzerinden ödeme kuruluşuna iletilir ve orada kalır.
  • Kart alanları doğrulamadan hemen sonra istek nesnesinden silinir; bir hata oluşsa bile numara ya da CVV hata kaydına, oturuma veya formun eski girdisine düşmez.
  • Kart doğrulaması bankanın kendi 3D Secure sayfasında yapılır; bu, kapatılabilen bir ayar değildir.
  • Sağlayıcının ret mesajı kart numarasını geri yazsa bile numara maskelenir: ekrana da veritabanına da maskeli gider.
  • Abonelik çekimi için yalnızca sağlayıcının verdiği belirteç ile kartın markası, son dört hanesi ve son kullanma tarihi tutulur.
  • Öğrencinizin ödemesi kurumunuzun kendi sanal POS hesabında sonuçlanır; para doğrudan kurumunuza geçer.

Giriş, şifre ve tek kullanımlık kod

Şifre veritabanından okunamaz; okunabilseydi zaten güvenli olmazdı.

  • Şifreler geri çevrilemeyecek biçimde özetlenerek (hash) saklanır. Biz de sizin şifrenizi göremeyiz.
  • Şifre sıfırlama ve öğrenci portalı girişindeki tek kullanımlık kodlar da aynı şekilde özetlenerek saklanır; kodun süresi ve deneme hakkı sınırlıdır.
  • Öğrenci portalına giriş, SMS veya e-posta ile gelen tek kullanımlık kodla yapılır. Öğrencinin ayrı bir şifre ezberlemesi gerekmez.
  • Panel şifresi en az 8 karakter olmalı ve harf ile rakam içermelidir; kural davet, sıfırlama ve profil ekranlarında aynıdır.
  • Şifrenizi değiştirdiğinizde diğer cihazlardaki oturumlarınız kapanır. Açık kalmış bir oturum, şifre değişikliğinden sonra devam edemez.
  • Oturum çerezi tarayıcı betiklerine kapalıdır (http_only) ve oturum verisi şifrelenir; canlı ortamda çerez yalnızca güvenli bağlantıda gönderilir.
  • Giriş, kod gönderme ve şifre sıfırlama uçlarında hız sınırı vardır: deneme yanılma ile şifre bulma girişimi kısa sürede durur.
  • Kayıt ve düzenleme (yazma) isteklerinde de hız sınırı çalışır; formların otomatik doldurulması yavaşlatılır. Sayaç her kurum için ayrıdır: başka bir kursun yoğunluğu sizi yavaşlatmaz.

İki adımlı doğrulama (SMS)

Şifreniz ele geçse bile telefonunuz olmadan panele girilemez.

  • Kurum panelindeki her kullanıcı iki adımlı doğrulamayı kendi profilinden açabilir; numara önce doğrulanır.
  • Açıkken giriş iki adımdır: şifre doğru olsa bile oturum, telefona gelen tek kullanımlık kod girilmeden açılmaz.
  • Kod 5 dakika geçerlidir, tek kullanımlıktır, özetlenerek saklanır ve en fazla 5 kez denenebilir.
  • Telefonunuz elinizde değilse diye 8 adet yedek kod verilir. Yedek kodlar da şifreli saklanır ve her biri bir kez kullanılır.
  • Kurum sahibi Ayarlar → Güvenlik ekranından iki adımlı doğrulamayı tüm kurum için zorunlu yapabilir; kurmayan kullanıcı panele giremez.
  • Telefonunu değiştiren ya da kaybeden kullanıcının doğrulaması, kullanıcı yönetimi yetkisi olan biri tarafından sıfırlanır ve bu işlem denetim izine yazılır.
  • İki adımlı doğrulama açıkken “beni hatırla” çalışmaz: kalıcı bir çerez, ikinci adımı sonsuza kadar atlamak anlamına gelirdi.

Kim neyi görüyor: yetki ve iz

Sekreterin bordroyu, eğitmenin tahsilatı görmesi gerekmez.

  • Yetkiler modül ve işlem bazlıdır: görme, ekleme, değiştirme ve silme ayrı ayrı verilir.
  • Yetkisi olmayan menü ve düğme hiç görünmez; erişim yalnızca arayüzde değil sunucu tarafında da kontrol edilir.
  • Eğitmen rolü yalnızca kendi öğrencisini ve kendi dersini görür. Kısıt listede değil kayıt bazında çalışır: adresteki numarayı değiştirerek başka eğitmenin öğrencisine ulaşılamaz.
  • Öğrenci portalında da aynısı geçerlidir: bir öğrenci yalnızca kendi evrağını, kendi ödemesini ve kendi sınav oturumunu açabilir.
  • Denetim izi tutulur ve yalnızca okunur: silme veya düzenleme uç noktası yoktur.
  • Yazılım yardımı için panelinize girmemiz ancak sizin talebiniz üzerine, sınırlı süreyle olur ve bu işlem denetim izine yazılır.

Yapay zeka açıkken sunucudan ne çıkıyor

Sayfanın geri kalanı verinin sunucuda durduğunu anlatıyor; yapay zeka bunun istisnası, o yüzden ayrı yazdık.

  • Asistan ekranlarındaki istekler OpenAI’ın api.openai.com uç noktasına gider. O sunucu Amerika Birleşik Devletleri’ndedir; istek kurumunuzun veritabanından çıkar.
  • Giden şey maskelenmiş serbest metin ile toplam ve özet sayılardır: sizin yazdığınız sorunun metni, ders ve tahsilat toplamları, deneme sınavının konu dökümü, seçilecek rapor fonksiyonunun adı.
  • Modele gitmeden önce metindeki T.C. kimlik numarası, kart numarası, telefon ve e-posta değerleri sunucuda maskelenir; sağlayıcıya bu değerlerin yerine [tc], [kart], [telefon] ve [eposta] gider. Adres maskelenmiyor: serbest metin kutularına adres yazmayın, ayar ekranında da bunu yazıyoruz.
  • Öğrenciye ait bilgiler tek bir özellikte gönderilir (takip aramasından önceki kursiyer özeti) ve yalnızca Ayarlar → Yapay Zeka bölümündeki “Kişisel veriler yapay zekaya gönderilebilsin” iznini açtıysanız. İzin varsayılan olarak kapalıdır; kapalıyken özellik sessizce zayıflamaz, açıkça “izin gerekiyor” diyerek çalışmayı reddeder.
  • O özellikte de ad, soyad, T.C. kimlik, telefon, e-posta ve adres gönderilmez: sağlayıcıya yalnızca ders ve ödeme sayıları gider, ekranda gördüğünüz isim metne sunucuda yazılır.
  • Operasyon asistanının yanıtındaki sayıları model üretmez; model yalnızca hangi raporun çalışacağını seçer, sayıları sunucu hesaplar.
  • Yapay zekayı Ayarlar → Yapay Zeka bölümünden kapatırsanız kurumunuzdan hiçbir istek modele gitmez.
  • Her istek kayda geçer: hangi işlev, hangi model, kaç jeton ve kimin adına. Kayda düşen girdi ve çıktı özeti de aynı maskeden geçer.

Yedek ve verinizi geri alma

Veri sizin: istediğiniz an indirebiliyorsanız gerçekten sizindir.

  • Kurum yedeği panelden oluşturulur ve indirilir; ikisi de ayrı yetki ister.
  • Yedek dosyaları kurumunuzun alanında tahmin edilemez adla tutulur; bağlantıyı bilen biri yetkisiz indiremez.
  • Yedek kotası (boyut, saklanan kopya sayısı, zamanlı yedek) paketinize göre değişir.
  • Raporları Excel, PDF ve CSV olarak, MEBBİS listelerini CSV olarak dışa aktarabilirsiniz.

Açık konuşalım

Yazılım sitelerinde sık duyduğunuz bazı cümleleri biz kurmuyoruz. Sebebi basit: bir gün bir sorun olursa, size baştan doğruyu söylemiş olmak istiyoruz. Aşağıda önce ne yaptığımızı, sonra hangi cümleyi neden kurmadığımızı yazdık.

  • Kart bilgileriniz hiçbir yere yazılmaz.

    Varsayılan kurulumda ödemeyi doğrudan PayTR veya iyzico’nun altyapısı alır; kart bilgisi bize hiç uğramaz. Kurum isterse tahsilatı panelin kendi formundan alacak şekilde ayarlayabilir: o modda bilgi sunucumuzdan yalnızca geçer, şifreli bağlantıyla sağlayıcıya iletilir ve veritabanına, kayıt dosyasına ya da oturuma yazılmaz. Doğrulama her iki modda da bankanın 3D Secure sayfasında yapılır; bunu kapatan bir ayar yok.

    Bu yüzden “PCI-DSS sertifikamız var” demiyoruz: kart numarasını saklamıyoruz. Panel içi formu açan kurumun kendi yükümlülüğü doğabilir; ayarın yanında bunu açıkça yazıyoruz ki karar bilinerek verilsin.

  • Bağlantınız SSL sertifikasıyla şifrelenir.

    Adres çubuğundaki kilit işareti, aradaki ağda oturan birinin öğrenci bilgisini veya şifrenizi okuyamayacağı anlamına gelir. Şifreler de geri çevrilemeyecek biçimde saklanır; biz bile göremeyiz.

    Ama “256-bit askeri şifreleme” gibi cümleler kurmuyoruz. O bir reklam sözü; işin doğrusu yukarıdaki iki cümle.

  • Kurumunuzun verisi kendi veritabanında durur.

    Öğrenci listeniz başka bir kursun listesiyle aynı tabloda değildir. Kimin neyi görebileceğine siz karar verirsiniz; bir kaydı kimin değiştirdiği denetim izinde yazar.

    Bunu “Uçtan uca şifreleme” diye anlatmıyoruz. Panelin öğrenci araması yapabilmesi ve rapor üretebilmesi için sunucunun veriyi okuyabilmesi gerekir; mesajlaşma uygulamalarındaki anlam bir kurs yazılımında çalışmaz.

  • Yedeğinizi kendi bilgisayarınızda tutabilirsiniz.

    Kurum yedeğini panelden kendiniz oluşturup indirirsiniz. Bir kopyası sizde durduğu sürece, bize bağlı kalmadan verinize ulaşabilirsiniz.

    “Veri kaybı imkânsız” demiyoruz; bu cümle hiçbir sistem için doğru değil. Onun yerine yedeği elinizin altında tutmanızı öneriyoruz.

  • Sızması en riskli bilgiler şifreli saklanır.

    Entegrasyon anahtarlarınız, iki adımlı doğrulamanın yedek kodları ve oturum verisi şifreli durur. Öğrenci adı, T.C. kimlik numarası ve telefon ise okunabilir biçimdedir; arama, MEBBİS listesi ve portal girişi bu alanlar üzerinden çalışıyor. Onları koruyan şey ayrı veritabanı, yetki denetimi ve sunucuya erişimin kısıtlı olması.

    Yani “Bütün alanlar veritabanında şifreli” demiyoruz, çünkü değil.

  • Yaptığımız her şeyi bu sayfada tek tek yazdık.

    Yukarıdaki maddelerin hepsinin panelde bir karşılığı var. Yeni bir güvenlik adımı eklediğimizde bu sayfaya da ekliyoruz.

    Elimizde bir “ISO 27001” belgesi yok. Aldığımız gün burada yazacağız; olmayan bir belgeyi varmış gibi göstermiyoruz.

Bu listeyi kısaltmak yerine uzatmayı tercih ediyoruz. Merak ettiğiniz başka bir başlık varsa bize yazın; cevabı buraya ekleriz.

Yasal metinler ve sorumlu

Yazılımı Ayasofya Bilişim geliştirir ve işletir. Kişisel verilerin hangi amaçla işlendiği, ne kadar süre tutulduğu ve haklarınızın nasıl kullanılacağı KVKK aydınlatma metnindedir. Sorunuz olursa info@ayasofyabilisim.com adresine yazın.