Yazılımınız Erişim Kaydını Hâlâ Geçerli Biçimde Tutuyor mu?

Kayıt tutmak ile kaydın bütünlüğünü kanıtlayabilmek ayrı işler. Yıllar önce kurulmuş bir yazılım genelde ilkini yapar, ikincisini yapmaz.

Yazan: Atilla Yurtseven · · Güncellendi · 5 dk okuma

Öne çıkan noktalar

Yönetmelik erişim kayıtları için günlük olarak doğruluğu, bütünlüğü ve gizliliği teyit eden bir değer üretilmesini istiyor. Belirli bir algoritma şart koşmuyor ve zorunlu araç şartı kaldırıldı. Yani bugün zincirlenmiş bir SHA-256 özet değeri bu şartı karşılıyor. Eski kurulumların çoğu ya hiç bütünlük değeri üretmiyor ya da artık dağıtılmayan bir araca bağımlı. Bu yazı kendi kurulumunuza bakarken soracağınız yedi soruyu veriyor.

  • Erişim kaydı tanımı iç IP, başlangıç ve bitiş zamanı, MAC adresi, hedef IP ve tek public IP paylaşılıyorsa port bilgisini kapsıyor.
  • Yönetmelik günlük bir bütünlük değeri istiyor, belirli bir algoritma şart koşmuyor. Zorunlu araç şartı kaldırıldı.
  • Zincirlenmiş bir SHA-256 özeti bu şartı karşılar ve silinen bir günü de görünür kılar.
  • Kayıtların veritabanında değil düz dosyada tutulması, veritabanı geri yüklemesinden etkilenmemesini sağlar.
  • Uygunluk yazılımın değil işletmenin sorumluluğudur. Kendi durumunuzu danışmanınıza teyit ettirin.
HandyCafe
Mevzuat Yazılımınız Erişim Kaydını Hâlâ Geçerli Biçimde Tutuyor mu?
Bu sayfada

Kafede bir gün kayıt tarafını hiç düşünmeden geçer. Makineler açılır, oturumlar başlar, akşam kasa kapanır. Erişim kaydı diye bir şey varsa bir yerlerde kendiliğinden birikiyordur diye düşünürsünüz.

Sonra biri sorar: kayıtlarınızı gösterebilir misiniz? O an yıllar önce kurduğunuz yazılımın hangi dosyayı nereye yazdığını bilmediğiniz ortaya çıkar.

Bu yazı o soruya hazırlıklı olmak isteyen işletmeci için. Ürün tanıtımı değil, kendi kurulumunuza bakarken soracağınız soruların listesi. Hangi yazılımı kullanıyor olursanız olun cevapları aramaya değer.

Erişim kaydı ne demek?

5651 sayılı kanun ve "İnternet Toplu Kullanım Sağlayıcıları Hakkında Yönetmelik" (Resmî Gazete 11.04.2017 / 30035) çerçevesinde ticari amaçlı internet toplu kullanım sağlayıcılarından erişim kaydı tutması bekleniyor. Yönetmeliğin madde 3/1-e tanımı şunları içeriyor:

  • yerel ağda dağıtılan iç IP adresi
  • bu adresin kullanım başlangıç ve bitiş zamanı
  • adresi kullanan cihazın MAC adresi
  • bağlanılan hedef IP adresi
  • tek bir public IP port üzerinden paylaşılıyorsa kullanıcıya atanan gerçek IP ile port bilgisi

Saklama süresi iki yıl.

Listenin son maddesi en çok atlanan madde. Kafelerin neredeyse tamamı tek bir sabit adresin arkasında çalışır. Bu durumda hangi makinenin hangi saatte nereye bağlandığı sorusunun cevabı port bilgisi olmadan tamamlanmaz.

Şunu baştan söyleyeyim: bu yazı hukuki görüş değildir. Kendi işletmenizin durumunu hukuk danışmanınıza veya bağlı olduğunuz kuruma teyit ettirin. Uygulama ayrıntıları zamanla değişiyor ve yerelde farklı yorumlanabiliyor. Amacım kimseyi denetim korkusuyla bir şey satın almaya itmek değil, kendi kurulumunuza bakarken neye bakacağınızı anlatmak.

İmzalama aracı meselesi

Yönetmelik, kayıtların doğruluğunu, bütünlüğünü ve gizliliğini teyit eden bir değerin günlük olarak üretilmesini istiyor. Yıllarca bu şart sahada tek bir şeye indirgendi: BTK'nın dağıttığı imzalama aracı. Yazılım kaydı yazıyordu, aracı dosyayı imzalıyordu, iş bitmiş sayılıyordu.

Sonra iki şey değişti. Birincisi, yönetmelik metni belirli bir algoritma şart koşmuyor. İstenen şey doğruluğu, bütünlüğü ve gizliliği teyit eden bir değerin günlük olarak üretilmesi. İkincisi, zorunlu araç şartı kaldırıldı.

Bunun pratik karşılığı şu: her günün dosyası için üretilen zincirlenmiş bir SHA-256 özet değeri bu şartı karşılıyor. Kriptografik özet, dosyanın tek bir karakteri değiştiğinde tümüyle farklı bir değer üretir. Yani bu dosya kapandığı gün neyse hâlâ o mu sorusunun makine tarafından doğrulanabilir cevabıdır.

Sorun şurada. Piyasadaki eski kurulumların çoğu iki durumdan birinde:

Hiçbir bütünlük değeri üretmiyor. Kayıt dosyası var, dosyanın sonradan değiştirilip değiştirilmediğini gösteren hiçbir şey yok. Bu kayıt bir defter tutmaktır, mühürlü bir kayıt değildir.

Artık dağıtılmayan bir araca bağımlı. Yazılım imzalama adımını dışarıdaki bir programa devrediyor. O program yeni makinede kurulmuyor veya kurulsa da çalışmıyor. Yazılım tarafında bu genellikle sessizce başarısız olur ve kimse fark etmez.

Kayıt tutmak ile kaydın bütünlüğünü kanıtlayabilmek ayrı işler. Birincisini yapan bir yazılım ikincisini yapmıyor olabilir ve bunu size kendiliğinden söylemez.

Kendi kurulumunuza sorulacak yedi soru

Aşağıdaki soruların cevabını bugün arayabilirsiniz. Çoğu için tek gereken kayıt klasörünü açmak.

1. Kayıtlar nerede duruyor ve veritabanı bozulursa hayatta kalır mı? Kayıtlarınız yazılımın kendi veritabanının içindeyse, veritabanı bozulduğunda veya iki hafta önceki bir yedekten geri yüklendiğinde kayıtlar da geri gider. Ayrı bir klasörde günlük dosyalar hâlinde duruyorsa bundan etkilenmez. Yazılımın kurulum klasöründe erişim kaydı klasörü var mı, içinde tarih adlı dosyalar birikiyor mu, buna bakın.

2. Dosya biçimi makine tarafından okunabilir ve dilden bağımsız mı? Bir dosyayı metin düzenleyicide açın. Sütunlar sabit sırada mı, olay adları her satırda aynı biçimde mi yazılıyor? Olay adları yazılımın arayüz diline göre değişiyorsa (bir kurulumda Türkçe, diğerinde İngilizce) o dosya makine tarafından güvenilir biçimde ayrıştırılamaz. Kayıt biçimi arayüz dilinden bağımsız olmalı.

3. Günlük bir bütünlük değeri üretiliyor mu? Kayıt klasöründe her gün için ikinci bir dosya oluşuyor mu? Ad uzantısı ne olursa olsun, içinde o günün özet değerinin bulunduğu bir yan dosya arayın. Yoksa günlük teyit değeri üretilmiyor demektir.

4. Günler birbirine zincirli mi? Yan dosyayı açın. İçinde sadece o günün özeti mi var, yoksa bir önceki günün özeti de mi yazılı? Zincirleme olmadan tek tek günlük özetler, bir gün dosyasının tamamen silinmesini yakalayamaz. Zincir varsa silinen gün zincirde boşluk bırakır.

5. İki yıllık saklama gerçekten uygulanıyor mu? En eski kayıt dosyasının tarihine bakın. Kaç ay geriye gidiyor? Bazı kurulumlar disk dolduğunda en eski dosyaları sessizce siler. Saklama süresi ayarlanabilir bir değer olmalı, disk doluluğunun yan etkisi değil.

6. Kaydı denetçiye ham hâliyle verebiliyor musunuz? Bir tarih aralığı seçip dosyayı dışa aktarmayı deneyin. Çıkan şey okunabilir bir metin dosyası mı, yoksa sadece o yazılımın açabildiği kapalı bir biçim mi? Bunu bugün denemek, istendiği gün denemekten ucuz.

7. Port bilgisi kayda giriyor mu? Tek bir sabit adresin arkasındaysanız kayıt satırında hedef adresin yanında port bilgisinin de bulunması gerekir. Bir kayıt satırına bakın, orada mı?

Bu yedi sorunun herhangi birine hayır diyorsanız, cevabı bir yazılım kararına dönüştürmeden önce erişim kaydı tutma yazımızdaki ayrıntılara da göz atın.

HandyCafe tarafında durum

Kendi tarafımızda kayıt şöyle çalışıyor.

Her takvim günü için bir düz metin dosyası yazılır. Satırlar sekmeyle ayrılır ve sütun sırası sabittir. Olay kelimeleri hiçbir dile çevrilmez: DEVICE_UP, DEVICE_DOWN, SESSION_START, SESSION_END ve CONNECTION. Yani kaydı hangi dildeki kurulumdan alırsanız alın aynı biçimi okursunuz.

Gün değiştiğinde kapanan gün mühürlenir. Mühür yan dosyasında o günün SHA-256 özeti ile birlikte bir önceki günün özeti de bulunur. Bu sayede günler birbirine bağlanır ve silinen bir gün zincirde görünür. Mühürlenen gün sıkıştırılarak saklanır, özet ise metnin kendisini tanımladığı için sıkıştırma bu değeri değiştirmez. Dosya açıldığında aynı özet yeniden üretilir.

Kayıtlar veritabanında değil düz dosyada durur. Veritabanı geri yüklemesi kayıtlara dokunmaz. Varsayılan saklama süresi 730 gün.

Bir de şu var: dosyalar ham metin olduğu için BTK'nın eski imzalayıcı aracına da olduğu gibi verilebilir. Yeni yöntemi kullanmak eski yolu kapatmıyor. Kayıt görüntüleme ve dışa aktarma ekranı sunucu arayüzünde duruyor, ayrıntılar için özellikler sayfasına bakabilirsiniz.

Söz vermediğimiz şeyler

Bu tarafta abartılı vaat çok duyuluyor, o yüzden kendi sınırımızı yazayım.

Hiçbir yazılım size mevzuata uygunluk garantisi vermez. Biz de vermiyoruz. Yazılım kaydı üretir, saklar ve bütünlük değerini yazar. Yükümlülüğün kendisi işletmeye aittir. Kayıt tutuluyor olması, işletmenin tüm yükümlülüklerini yerine getirdiği anlamına gelmez.

Mevzuat yorumu bize ait değil. Yukarıdaki çerçeveyi metinden okuyarak aktarıyoruz. Kendi durumunuzun bu çerçeveye nasıl oturduğunu danışmanınıza veya bağlı olduğunuz kuruma sorun.

Özellik açık olmadan kayıt tutulmaz. Erişim kaydı kurulum başına açılan bir ayardır. Kurulumdan sonra açık olduğunu bir kez doğrulayın.

Kayıt tarafı diğer yükümlülüklerin yerine geçmez. İçerik filtresi ayrı bir başlık ve orada beklenen şey farklı. O konuyu filtre yazısında ayrıca anlattık.

On dakikalık kontrol

Bugün yapabilecekleriniz kısaca şunlar. Kayıt klasörünü bulun. En eski ve en yeni dosyanın tarihine bakın. Bir dosyayı metin düzenleyicide açıp sütunları ve port alanını görün. Yan mühür dosyası var mı, içinde önceki günün özeti geçiyor mu kontrol edin. Son olarak bir tarih aralığını dışa aktarıp çıkan dosyayı açın.

Bu adımlardan birinde takılıyorsanız sorun bulunmuş demektir. Bulmak için doğru gün, sorulduğu gün değil.

Yeni bir kafe kuruyorsanız bu tarafı en baştan doğru kurmak sonradan düzeltmekten çok daha kolay. Kuruluş adımlarının tamamını internet kafe nasıl açılır yazısında topladık.

Sıkça sorulan sorular

Erişim kaydı tam olarak neleri içermeli?

Yönetmeliğin madde 3/1-e tanımı şunları sayıyor: yerel ağda dağıtılan iç IP adresi, bu adresin kullanım başlangıç ve bitiş zamanı, adresi kullanan cihazın MAC adresi, bağlanılan hedef IP adresi ve tek bir public IP port üzerinden paylaşılıyorsa kullanıcıya atanan gerçek IP ile port bilgisi. Saklama süresi iki yıl.

Kayıtları BTK'nın imzalama aracıyla imzalamak zorunda mıyım?

Yönetmelik günlük olarak doğruluğu, bütünlüğü ve gizliliği teyit eden bir değer üretilmesini istiyor. Belirli bir algoritma şart koşmuyor ve zorunlu araç şartı kaldırıldı. Bu nedenle zincirlenmiş bir SHA-256 özet değeri bu şartı karşılar. Kendi durumunuzu danışmanınıza teyit ettirin.

Zincirleme ne işe yarıyor?

Her günün mühründe o günün özeti ile birlikte bir önceki günün özeti de bulunur. Böylece günler birbirine bağlanır. Bir gün dosyası tamamen silinirse zincirde boşluk oluşur ve bu durum dışarıdan görülebilir. Tek başına duran günlük özetlerde silinen bir gün fark edilmez.

Kayıtlar veritabanında mı tutulmalı, dosyada mı?

Düz dosya pratikte daha güvenli. Veritabanı bozulur veya eski bir yedekten geri yüklenirse veritabanındaki kayıtlar da geri gider. Ayrı bir dosyada tutulan kayıt bundan etkilenmez ve denetçiye ham hâliyle verilebilir.

Sıkıştırılmış bir kayıt dosyası bütünlük değerini bozar mı?

Özet değeri dosyanın metin içeriğini tanımlıyorsa bozmaz. HandyCafe tarafında mühürlenen gün sıkıştırılarak saklanır, özet ise metnin kendisini tanımlar. Dosya açıldığında aynı özet yeniden üretilir.

Eski kayıtları hangi biçimde teslim edebilirim?

Kayıtlar düz metin dosyası olduğu için istenen hâliyle verilebilir. Aynı ham dosya BTK'nın eski imzalayıcı aracına da olduğu gibi verilebilir, çünkü araç da metin dosyası bekliyor.

Kayıt tarafını bir kez kurup unutmak ister misiniz?

HandyCafe erişim kayıtlarını günlük dosyalara yazar, gün sonunda zincirlenmiş bir SHA-256 mührüyle kapatır ve iki yıl boyunca saklar. Ek bir araç kurmanız gerekmez.