Önce hangi dosyaya gerçekten ihtiyaç olduğunu belirleyin
Her tür dosyayı kabul etmek zorunlu değildir. Kullanıcı görevine göre izin verilen tür, boyut ve adet sınırını tanımlayın. Tasarım belgesi yükleme ile profil fotoğrafı yükleme farklı ihtiyaçlardır. Dosyanın daha sonra önizlenmesi, dönüştürülmesi veya başka sisteme gönderilmesi de risk ve kaynak planını etkiler.
OWASP dosya yükleme rehberi uzantı, içerik türü, imza, dosya adı, boyut ve depolama gibi birden fazla kontrol katmanını ele alır. [1] Yalnızca tarayıcının bildirdiği MIME türüne güvenmeyin. Kontroller savunma katmanları olarak düşünülmeli; tek bir kontrol bütün güvenliği sağlamış gibi sunulmamalıdır.
Kabul edilen dosyayı hemen yayımlamayın
Önerilen yaşam döngüsünde yüklenen dosya önce bekleyen veya karantina durumuna alınabilir. Gerekli doğrulamalar ve tarama tamamlandıktan sonra kullanılabilir hale gelir. Kullanıcıya bu aşama açık gösterilmelidir: “yüklendi” ile “kullanıma hazır” aynı şey olmayabilir.
İşlem başarısızsa dosyanın neden reddedildiğini güvenli ve anlaşılır bir mesajla belirtin. İç güvenlik ayrıntılarını gereksiz yere açığa çıkarmayın. Aynı dosyanın tekrar yüklenmesi, iptal edilmesi veya sürecin yarıda kalması için temizlik politikası bulunsun.
Örnek: müşteri teklif talebine çizim ekliyor
Varsayımsal B2B portalında müşteri çizim dosyası yüklüyor. Satış ekibi dosya hazır olmadan önizleme bağlantısına erişmemeli; farklı müşterinin dosyasını da görememelidir. Dosya kaydı müşteri, talep ve sürüm ilişkisini korumalıdır. Orijinal dosya adı depolama anahtarı olmak zorunda değildir.
| Aşama | Önerilen kontrol | Kullanıcı durumu |
|---|---|---|
| Yükleme | Tür, boyut ve erişim | Aktarılıyor |
| Doğrulama | İçerik ve tarama politikası | Kontrol ediliyor |
| Kullanım | Talep ve müşteri yetkisi | Hazır |
| Silme | İlişkiler ve saklama politikası | Kaldırıldı veya işlem bekliyor |
Bu örnek belirli bir tarama ürününün bütün zararlı içerikleri yakalayacağı iddiasını taşımaz. Kullanılan araçların kapsamı ve sınırlamaları kabul belgesinde belirtilmelidir.
İndirme yolu yükleme kadar önemlidir
Dosya adresi bilindiğinde herkes indirebiliyorsa yükleme ekranındaki yetki kontrolü yeterli değildir. Dosyanın hangi kullanıcı ve kuruluş tarafından görüntülenebileceği her erişim yolunda korunmalıdır. Geçici bağlantı kullanılıyorsa süresi ve paylaşım davranışı değerlendirilmelidir.
Önizleme veya dönüştürme servisi de aynı erişim sınırına uymalıdır. Küçük resim, metin çıkarımı ve arama indeksi gibi türetilmiş çıktılar orijinal dosyadan daha açık hale gelmemelidir. Silme işleminde bu türevlerin nasıl ele alınacağı planlanmalıdır.
Büyük dosyada kaynak tüketimini kontrol edin
Boyut sınırı yalnızca maliyet için değildir; bellek, işlem süresi ve ağ kapasitesini de etkiler. Kullanıcı aynı anda birçok dosya yükleyebilir. Kuyruk, zaman aşımı ve iptal davranışını tasarlayın. Sınırları gerçek kullanım senaryosuyla belirleyin; rehberden rastgele bir sayı almayın.
Dönüştürme işi başka bir servis kullanıyorsa dosyanın oraya hangi izinle aktarıldığını ve sonucun nasıl korunduğunu inceleyin. Başarısız dönüşümde dosyayı sonsuza kadar işlemde bırakmayın. Operasyon ekibi bekleyen işleri ve hata nedenlerini görebilmelidir.
Kayıt ve test kapsamını belirleyin
Günlüklerde gerekli işlem referansları tutulabilir; dosyanın tamamını, erişim anahtarını veya hassas içeriğini kontrolsüz yazmayın. OWASP günlük rehberi hassas verinin kaydedilmemesi ve kayıtların korunması konularını açıklar. [2]
Kabul testinde yanlış tür, limit üstü dosya, kesilen bağlantı, başarısız tarama, başka müşteriden indirme ve silinmiş dosyanın türevlerine erişim senaryolarını deneyin. Yükleme işlemi başarıyla bitti diye bütün dosya yaşam döngüsünün güvenli olduğunu varsaymayın.
Sık sorulan sorular
### Dosya uzantısını kontrol etmek yeterli mi? Hayır. Uzantı değiştirilebilir ve gerçek içerikle uyuşmayabilir. Tür, içerik, depolama ve erişim kontrolleri birlikte tasarlanmalıdır.
Dosyayı gizli bir adla saklamak erişim kontrolü yerine geçer mi?
Hayır. Tahmin edilmesi zor adres yardımcı olabilir ama yetkilendirme modeli değildir. İndirme ve türetilmiş çıktı yollarında da uygun erişim kontrolü gerekir.
Teknik kaynaklar
Kaynaklar teknik kavramları destekler. Örnek tablolar ve senaryolar önerilen çalışma araçlarıdır; gerçek müşteri sonucu, bağımsız denetim veya platform garantisi değildir. Uygulama öncesinde kullanılan ürünün güncel koşulları kontrol edilmelidir.
Bu ihtiyacı çalışan bir sisteme dönüştürelim.
Mevcut sisteminizi, sorun yaşadığınız iş akışını ve beklediğiniz sonucu paylaşın. Ganz Dijital ile projenizin kapsamını ve kabul koşullarını netleştirin.
İlgili hizmeti inceleWhatsApp üzerinden görüşelim →Hazırlama notu: İçerik, belirtilen kaynaklar ve özgün örnek senaryolar kullanılarak yapay zekâ desteğiyle hazırlanmıştır. Sayısal örnekler aksi belirtilmedikçe varsayımsaldır. İşletmeye özel güvenlik, hukuki ve operasyonel gereksinimler ayrıca değerlendirilmelidir.