ERETEK
BİLGİ SİSTEMLERİ

Hassas Veri Keşfi: Dosya Sunucularında Kişisel Veri Bulmak

Dosya sunucularında TCKN, IBAN ve kart numarasını desen ve doğrulama algoritmasıyla bulma, araç seçimi, tarama kapsamı, bulgu doğrulama ve izin düzeltme.

Bu makalede8 bölüm
Teknik özet
Teknoloji
Windows Server dosya paylaşımları, NTFS izinleri, PowerShell, Microsoft Purview Information Protection tarayıcısı, FSRM
Konu
Yapılandırılmamış veride kişisel ve finansal verinin teknik olarak bulunması
Seviye
Orta–ileri
Ön koşullar
  • Taranacak paylaşımlara okuma yetkisi olan ayrı bir hizmet hesabı
  • Temel PowerShell ve düzenli ifade bilgisi
  • Veri sahiplerinin belirlendiği bir envanter

Kişisel verinin büyük kısmı veritabanında değil, yıllar içinde dosya sunucusuna bırakılmış Excel listelerinde, taranmış formlarda ve dışa aktarılmış CSV dosyalarında durur. Bu dosyalar ne veri envanterinde görünür ne de erişim gözden geçirmesinde. Kimse sormaz, kimse silmez. Bu rehber, sistem ve bilgi güvenliği ekipleri için dosya sunucularında TCKN, IBAN ve kart numarası gibi verilerin nasıl bulunacağını, yanlış pozitiflerin doğrulama algoritmalarıyla nasıl eleneceğini ve bulguların izin düzeltme ve veri azaltmaya nasıl dönüştürüleceğini anlatır.

Yapılandırılmamış verinin riski

Yapılandırılmış veride (ERP, İK yazılımı) erişim bir uygulama rolüyle sınırlanır ve kayıt tutulur. Dosya sunucusunda aynı veri tek bir dışa aktarmayla uygulamanın dışına çıkar ve klasör izinlerinin insafına kalır. Sahada en sık karşılaştığımız durumlar:

  • Bordro veya personel dökümünün “geçici” bir ortak klasöre bırakılması.
  • Müşteri listesinin kampanya için dışa aktarılıp unutulması.
  • Ayrılan çalışanın kişisel klasörünün sahipsiz kalması.
  • “Herkes” veya “Domain Users” grubuna okuma yetkisi verilmiş eski departman klasörleri.

Fidye yazılımı saldırılarında veri sızdırmanın ilk hedefi bu dosyalardır. Saldırgan ele geçirdiği sıradan bir kullanıcı hesabıyla erişebildiği her şeyi kopyalar; yönetici hesabına ihtiyacı yoktur. Bu yüzden kurumsal siber güvenlik açısından keşfin amacı envanter çıkarmakla bitmez, asıl iş bu erişim alanını daraltmaktır. KVKK kapsamındaki teknik tedbirlerin bütünü KVKK teknik tedbirleri uygulama yazısında; burada yalnız verinin bulunmasına odaklanıyoruz.

Hassas veri desenleri ve doğrulama algoritmaları

Yalnız düzenli ifadeyle arama yaparsanız rapor yanlış pozitifle dolar: 11 haneli her sayı TCKN değildir, 16 haneli her sayı kart numarası değildir. Sipariş numarası, seri numarası, telefon dökümü hepsi eşleşir. Desen eşleşmesini bir doğrulama algoritmasıyla ve mümkünse çevresindeki anahtar kelimelerle (“T.C. Kimlik”, “IBAN”, “Kart No”) birlikte kullanın.

Veri Desen Doğrulama
TCKN 11 hane, ilk hane 0 değil 10. ve 11. hane kontrol formülü
TR IBAN TR + 24 hane, toplam 26 karakter ISO 13616 mod 97 = 1
Ödeme kartı Genellikle 13–19 hane Luhn algoritması
Telefon, e-posta Biçim deseni Algoritma yok; bağlamla

TCKN kontrolü şöyle çalışır: 1, 3, 5, 7 ve 9. hanelerin toplamının 7 katından 2, 4, 6 ve 8. hanelerin toplamı çıkarılır; sonucun 10’a göre modu 10. haneyi vermelidir. İlk 10 hanenin toplamının 10’a göre modu da 11. haneye eşit olmalıdır. IBAN’da ilk dört karakter sona taşınır, harfler sayıya çevrilir (A=10 … Z=35) ve oluşan sayının 97’ye bölümünden kalan 1 olmalıdır. Aşağıdaki PowerShell fonksiyonları bu iki kontrolü örnek olarak uygular.

function Test-Tckn([string]$n) {
  if ($n -notmatch '^[1-9]\d{10}$') { return $false }
  $d = $n.ToCharArray() | ForEach-Object { [int][string]$_ }
  $tek  = $d[0] + $d[2] + $d[4] + $d[6] + $d[8]
  $cift = $d[1] + $d[3] + $d[5] + $d[7]
  $k10 = ((($tek * 7) - $cift) % 10 + 10) % 10
  $k11 = (($d[0..9] | Measure-Object -Sum).Sum) % 10
  return ($d[9] -eq $k10 -and $d[10] -eq $k11)
}

function Test-TrIban([string]$iban) {
  $s = ($iban -replace '\s', '').ToUpper()
  if ($s -notmatch '^TR\d{24}$') { return $false }
  $r = $s.Substring(4) + $s.Substring(0, 4)
  $num = -join ($r.ToCharArray() | ForEach-Object {
    if ($_ -match '[A-Z]') { [int][char]$_ - 55 } else { $_ } })
  return ([System.Numerics.BigInteger]::Parse($num) % 97) -eq 1
}

Algoritma yanlış pozitifi azaltır, sıfırlamaz. Rastgele 11 haneli sayıların bir kısmı da TCKN formülünü geçer. Tek eşleşme yerine dosya başına eşik (örneğin en az 10 doğrulanmış TCKN) ve anahtar kelime yakınlığı kullanın; rapor ancak böyle okunabilir boyuta iner. Bin satırlık rapor okunmaz. Okunmayan rapor da aksiyon üretmez.

Araç seçenekleri karşılaştırması

Araç Güçlü yanı Sınırı
PowerShell betiği Ek maliyet yok, hızlı başlangıç Office ve PDF içeriğini okumaz
FSRM sınıflandırma Windows Server’da yerleşik, zamanlanabilir Düzenli ifade var, algoritma doğrulaması yok
Purview Information Protection tarayıcısı Yerleşik hassas bilgi türleri, etiketleme SQL Server ve uygun lisans gerekir
Ticari veri keşif ürünleri Çoklu kaynak, izin analizi Maliyet, ajan veya bağlayıcı kurulumu

PowerShell betiği metin tabanlı dosyalar (CSV, TXT, dışa aktarılmış loglar) için iyi bir ilk adımdır. Ama sınırını bilin: Select-String DOCX ve XLSX dosyalarının sıkıştırılmış içeriğini okumaz; bu biçimler için IFilter kullanan bir araç gerekir. Betiğin “temiz” dediği bir Excel dosyası aslında hiç okunmamış olabilir. Aşağıdaki örnek, eşleşen değerleri rapora yazmadan yalnız dosya yolunu ve doğrulanmış eşleşme sayısını çıkarır.

$kok = '\\fs01\Paylasim'
Get-ChildItem -Path $kok -Recurse -File -Include *.csv, *.txt -ErrorAction SilentlyContinue |
  Select-String -Pattern '(?<!\d)[1-9]\d{10}(?!\d)' -AllMatches |
  ForEach-Object {
    $yol = $_.Path
    foreach ($m in $_.Matches) {
      if (Test-Tckn $m.Value) { [pscustomobject]@{ Dosya = $yol } }
    }
  } |
  Group-Object Dosya | Where-Object Count -ge 10 |
  Select-Object @{n='Dosya'; e={$_.Name}}, @{n='TCKN'; e={$_.Count}} |
  Export-Csv .\tckn_bulgular.csv -NoTypeInformation -Encoding UTF8

Microsoft 365 kullanan kurumlarda Purview tarayıcısı, bulut tarafındaki DLP ve etiketlemeyle aynı hassas bilgi türlerini kullandığı için tutarlılık sağlar. Yerleşik türler arasında Türkiye kimlik numarası, IBAN ve kredi kartı tanımları bulunur; kendi kiracınızdaki listeyi ve güven düzeylerini kontrol edin. Tarayıcı keşif modunda dosyalara dokunmaz. Kurulum ve yapılandırma için Microsoft’un tarayıcı dağıtım dokümantasyonuna bakın.

Tarama kapsamı ve performans

Tarama dosya sunucusunda ciddi okuma yükü ve ağ trafiği üretir. Mesai saatinde başlatılan tam tarama, kullanıcıların “sunucu yavaş” şikâyetiyle döner. Planlamada şu kararlar verilir:

  • Kapsam: Önce ortak ve departman paylaşımları, sonra kişisel klasörler. Yazılım dağıtım ve yedek paylaşımları kapsam dışında.
  • Dosya türleri: Office, PDF, CSV ve TXT. Video, ISO ve yürütülebilir dosyalar atlanır.
  • Zamanlama: Mesai dışı ve yedekleme penceresiyle çakışmayan saatler.
  • Artımlı tarama: İlk tam taramadan sonra yalnız değişen dosyalar taranır.
  • Hizmet hesabı: Yalnız okuma yetkili, etkileşimli oturum açamayan ayrı bir hesap. Tarama sırasında tüm veriye ulaşabildiği için ayrıcalıklı hesap gibi korunur.

Taramanın erişemediği klasörler de bulgudur. Hizmet hesabının okuyamadığı klasör büyük olasılıkla yönetişimin dışında kalmış, sahibi belirsiz bir alandır. Bunları ayrı listeleyin; “Access denied” satırlarını hata diye atmayın.

Bulguların sahiplerle doğrulanması

Teknik ekip bir dosyanın kişisel veri içerdiğini bulur. O verinin neden orada olduğuna ve saklanıp saklanmayacağına veri sahibi karar verir. Bu ayrımı baştan netleştirmezseniz silme kararı BT’ye kalır ve BT bu kararı tek başına vermemeli. Doğrulama adımları:

  1. Bulguları klasör sahibine göre gruplayın; sahip yoksa departman yöneticisine atayın.
  2. Her bulgu için üç seçenek sunun: gerekli ve doğru yerde, gerekli ama yanlış yerde, gereksiz.
  3. Yanlış pozitifleri işaretletin; desen veya eşik ayarını bu geri bildirime göre düzeltin.
  4. Kararları ve tarihlerini kayda geçirin; bir sonraki taramada aynı dosya tekrar sorulmasın.

Sonuçları veri envanterindeki işleme faaliyetleriyle karşılaştırın. Envanterde olmayan bir kişisel veri kümesi bulunduysa ya envanter eksiktir ya da veri amacı dışında kopyalanmıştır. İkisi de kayda değer bir bulgudur. Bulguları risk düzeyine göre sıralamak için siber güvenlik risk değerlendirmesi yaklaşımı kullanılabilir.

İzinlerin düzeltilmesi ve veri azaltma

Hassas veri içeren klasörlerde ilk bakılacak yer geniş kapsamlı gruplara verilmiş yetkilerdir. Aşağıdaki örnek, kalıtım dışı (açıkça verilmiş) geniş yetkileri listeler. Türkçe işletim sistemlerinde grup adları yerelleştirilmiş görünebilir; eşleşme listesini ortamınıza göre uyarlayın veya SID üzerinden kontrol edin.

Get-ChildItem -Path '\\fs01\Paylasim' -Directory -Recurse -Depth 2 |
  ForEach-Object {
    $klasor = $_.FullName
    (Get-Acl -Path $klasor).Access |
      Where-Object { -not $_.IsInherited -and
        $_.IdentityReference -match 'Everyone|Authenticated Users|Domain Users' } |
      Select-Object @{n='Klasor'; e={$klasor}}, IdentityReference, FileSystemRights
  } | Export-Csv .\genis_yetkiler.csv -NoTypeInformation -Encoding UTF8

Düzeltmede sıra şaşmaz. Önce kimin gerçekten eriştiği denetim loglarından veya dosya erişim kayıtlarından çıkarılır, sonra geniş grup yerine rol tabanlı bir güvenlik grubu tanımlanır. Yetkiyi analiz etmeden kaldırırsanız pazartesi sabahı bir iş süreci durur ve kullanıcılar veriyi başka bir yere kopyalamaya başlar. Sorun büyür, küçülmez.

Veri azaltma, izin düzeltmesinden daha kalıcı sonuç verir. Silinen dosya sızdırılamaz. Gereksiz bulunan dosyalar saklama politikasına uygun şekilde silinir; yasal saklama süresi devam eden ama aktif kullanılmayan dosyalar erişimi kısıtlı bir arşive taşınır. Kalan dosyalara duyarlılık etiketleri uygulanabilir ve DLP politikalarıyla dışarı çıkış denetlenebilir. Dosya sunucusundan buluta geçiş planlanıyorsa keşfi göçten önce yapın; gereksiz veri hiç taşınmamış olur. Göç adımları için dosya sunucusundan SharePoint göçü rehberine bakın.

Keşif programı kontrol listesi

  • Kapsam, dosya türleri ve tarama zamanlaması yazılı.
  • Hizmet hesabı yalnız okuma yetkili ve etkileşimli oturuma kapalı.
  • Desenler doğrulama algoritması ve eşikle birlikte çalışıyor.
  • Raporlar değer içermiyor; erişimi kısıtlı konumda.
  • Bulgular sahiplerine atandı, kararları kayıtlı.
  • Geniş grup yetkileri rol tabanlı gruplarla değiştirildi.
  • Tarama periyodik; yeni bulgular takip ediliyor.

Tek seferlik tarama bir fotoğraftır. Veri her gün yeniden üretilir. Keşfi etiketleme ve DLP ile birlikte tek bir program olarak kurmak için veri kaybı önleme ve DLP hizmet sayfasına göz atabilirsiniz.

Sık sorulan sorular

Tarama sonucu tam liste olarak kabul edilebilir mi?

Edilemez. Desen tabanlı tarama görüntü olarak taranmış PDF’leri, parola korumalı arşivleri ve tarayıcının okuyamadığı biçimleri kaçırır; doğrulama algoritması rastgele sayıların bir kısmını da geçerli sayar. Sonuç önceliklendirme için güçlü bir göstergedir; kesin envanter veri sahibinin doğrulamasıyla oluşur.

Tarama raporuna bulunan TCKN değerleri yazılmalı mı?

Yazılmamalı. Rapor dosya yolu, veri türü ve eşleşme sayısını içerir. Değerleri rapora koymak, kişisel veriyi yeni ve çoğu zaman daha az korunan bir konuma kopyalamaktır.

Purview tarayıcısı dosyaları değiştirir mi?

Keşif modunda çalıştırıldığında dosyalara etiket uygulamaz ve içeriği değiştirmez; yalnız bulguları raporlar. Etiketleme veya koruma için zorlama ayarının açılması gerekir. İlk taramaları her zaman keşif modunda yapın.

Dosya sunucusu yerine SharePoint’e taşınırsa keşif gerekmez mi?

Gerekir; göçten önce yapılırsa daha değerlidir. Gereksiz kişisel veri buluta taşınmadan silinir ya da arşivlenir, kalan veri için hedef sitede izin ve etiket kurgusu baştan tasarlanır.

Teknik özet
Teknoloji
Windows Server dosya paylaşımları, NTFS izinleri, PowerShell, Microsoft Purview Information Protection tarayıcısı, FSRM
Konu
Yapılandırılmamış veride kişisel ve finansal verinin teknik olarak bulunması
Seviye
Orta–ileri
Ön koşullar
  • Taranacak paylaşımlara okuma yetkisi olan ayrı bir hizmet hesabı
  • Temel PowerShell ve düzenli ifade bilgisi
  • Veri sahiplerinin belirlendiği bir envanter
Eretek uzman desteği

Bu konuyu kendi altyapınız için birlikte değerlendirelim.

Mevcut yapınızı inceleyip ortamınıza uyan, sürdürülebilir bir uygulama planı öneriyoruz.