Bir sigorta acentesi yazılımında belge yükleme, en sık kullanılan işlevlerden biridir. Müşteriler mobil uygulamadan ruhsat fotoğrafı gönderir, temsilciler web panelinden kimlik fotokopisi veya imzalı form yükler, sigorta şirketlerinden alınan poliçe belgeleri sisteme eklenir. Her yükleme, dışarıdan gelen bir dosyanın sisteme kabul edilmesi anlamına gelir. Bu nedenle belge yükleme uç noktaları, yazılımın saldırıya en açık noktaları arasındadır. Bu yazıda acente yazılımlarında belge yükleme işlevlerini güvenli kurmak için dikkat edilmesi gereken teknik konuları ele alıyoruz.
Neden risklidir?
Yükleme uç noktası, kullanıcının sunucuya kendi seçtiği bir içeriği göndermesine izin verir. Dosya bir görüntü veya PDF gibi görünse de içinde zararlı kod barındırabilir, sunucuda çalıştırılabilecek bir betik olabilir ya da sistemi yavaşlatmak için tasarlanmış çok büyük bir dosya olabilir. Ayrıca yüklenen belgeler genellikle kimlik bilgisi, adres ve araç bilgisi gibi kişisel veriler içerir; bu belgelere yetkisiz erişim doğrudan bir veri ihlali anlamına gelir.
Dosya türünü doğrulamak
Yalnızca gerçekten gereken dosya türlerine izin verilmelidir. Acente süreçlerinde çoğu zaman yaygın görüntü biçimleri ve PDF yeterlidir. Dosya türü kontrolü yalnızca dosya uzantısına veya tarayıcının bildirdiği içerik türüne dayanmamalıdır; bu bilgiler kolayca değiştirilebilir. Sunucu tarafında dosyanın içeriği incelenerek gerçek biçimi doğrulanmalıdır. Görüntü dosyaları için güvenilir bir kütüphaneyle dosyanın açılıp yeniden kodlanması, görüntünün içine gizlenmiş ek verilerin temizlenmesine de yardımcı olur.
Boyut ve sayı sınırları
Her yükleme için makul bir dosya boyutu üst sınırı belirlenmeli ve bu sınır hem web sunucusu hem de uygulama düzeyinde uygulanmalıdır. Tek bir istekte yüklenebilecek dosya sayısı ve bir kullanıcının belirli bir sürede yapabileceği yükleme sayısı da sınırlandırılmalıdır. Bu sınırlar, sistemin kasıtlı veya kazara gönderilen büyük dosyalarla doldurulmasını ve hizmetin yavaşlamasını önler. Mobil uygulamada fotoğrafların yüklemeden önce makul bir çözünürlüğe küçültülmesi, hem kullanıcının veri kullanımını hem de sunucu yükünü azaltır.
Dosya adları ve depolama konumu
Kullanıcının gönderdiği dosya adı doğrudan sunucuda kullanılmamalıdır. Dosya adları özel karakterler veya dizin geçişi denemeleri içerebilir. Bunun yerine her dosyaya sistem tarafından üretilen, tahmin edilemeyen bir ad verilmeli; orijinal ad gerekiyorsa yalnızca veritabanında bilgi olarak saklanmalıdır.
Yüklenen dosyalar, web sunucusunun doğrudan sunduğu ve çalıştırabildiği dizinlerin dışında saklanmalıdır. Dosyaların ayrı bir nesne depolama hizmetinde veya uygulama dizininden bağımsız bir konumda tutulması, yüklenen bir dosyanın sunucuda kod olarak çalıştırılması riskini ortadan kaldırır. Depolama alanında dosyaların şifrelenmiş olarak tutulması da kişisel verilerin korunması açısından önemlidir.
Erişim kontrolü
Yüklenen bir belgeye erişim, kimin hangi müşteriye ait verileri görebileceğini belirleyen yetki kurallarına tabi olmalıdır. Belgelere herkese açık ve sabit bağlantılarla erişilebilmesi ciddi bir risktir; bağlantıyı ele geçiren herkes belgeyi görebilir. Bunun yerine her erişim isteğinde kullanıcının yetkisi kontrol edilmeli ya da kısa süre geçerli, imzalı bağlantılar üretilmelidir. Belge kimliklerinin sıralı sayılar yerine tahmin edilemeyen değerler olması, başka müşterilere ait belgelerin deneme yoluyla bulunmasını zorlaştırır.
Zararlı yazılım taraması
Özellikle müşterilerin veya dış kullanıcıların belge yükleyebildiği uç noktalarda, yüklenen dosyaların zararlı yazılım taramasından geçirilmesi önerilir. Tarama işlemi yüklemenin hemen ardından arka planda yapılabilir; tarama tamamlanana kadar dosya "beklemede" durumunda tutulur ve diğer kullanıcılara sunulmaz. Şüpheli bulunan dosyalar ayrı bir alanda karantinaya alınmalı ve yükleyen kullanıcıya uygun bir mesaj gösterilmelidir.
Belgeleri görüntülerken
Güvenlik yalnızca yükleme anında değil, belgenin görüntülenmesi sırasında da önemlidir. Belgeler tarayıcıya sunulurken doğru içerik türü bildirilmeli ve tarayıcının içeriği farklı bir türde yorumlamasını engelleyen başlıklar kullanılmalıdır. Kullanıcıların yüklediği dosyaların uygulamanın ana alan adından farklı bir alan adından sunulması, olası betik saldırılarının uygulama oturumlarına ulaşmasını zorlaştırır.
Kayıt ve izlenebilirlik
Her yükleme ve her belge erişimi kayıt altına alınmalıdır: Hangi kullanıcı, hangi belgeyi, ne zaman yükledi veya görüntüledi? Bu kayıtlar hem güvenlik olaylarının incelenmesinde hem de kişisel verilere erişimin denetlenmesinde kullanılır. Kayıtlarda belgenin içeriği değil, yalnızca kimliği ve işlem bilgisi tutulmalıdır.
Saklama ve silme
Yüklenen belgeler süresiz saklanmamalıdır. Acentenin saklama ve imha politikasına göre belirlenen sürenin sonunda belgeler hem ana depolama alanından hem de makul süre içinde yedeklerden silinmelidir. Yarım kalan veya bir kayda bağlanmamış yüklemeler, örneğin kullanıcının form doldurmayı yarıda bıraktığı durumlar, düzenli bir temizlik göreviyle kaldırılmalıdır.
Test etmek
Belge yükleme uç noktaları, otomatik testlerle düzenli olarak sınanmalıdır. İzin verilmeyen dosya türleri, uzantısı değiştirilmiş dosyalar, sınırı aşan boyutlar, özel karakter içeren dosya adları ve yetkisiz erişim denemeleri test senaryolarına dahil edilmelidir. Bu testler, yeni bir geliştirmenin mevcut korumaları istemeden zayıflatmasını önler.
Acente açısından
Belge yükleme güvenliği, acentenin müşterilerine karşı sorumluluğunun teknik karşılığıdır. InsureHub, sigorta acentelerine yazılım sağlayan bir platform olarak belge yükleme işlevlerinde dosya doğrulama, yetki kontrolü ve erişim kaydını temel geliştirme kuralları arasında görür; belgeler müşteri ve poliçe kayıtlarıyla ilişkilendirilerek yalnızca yetkili kullanıcılara sunulur.
Sonuç
Belge yükleme, kullanıcılar için basit bir işlem; yazılım için ise dikkatle korunması gereken bir giriş kapısıdır. Dosya türü ve boyut doğrulaması, güvenli adlandırma ve depolama, sıkı erişim kontrolü, zararlı yazılım taraması, kayıt tutma ve düzenli testler bu kapıyı güvenli kılar. Acente yazılımında belge yönetiminin nasıl ele alındığını görmek için sigorta acentesi yazılımı sayfasını inceleyebilirsiniz.