Хэрэглэгчээс файлыг хүлээн авах арга зам нь тохиромжтой боловч, зохих ёсоор төлөвлөөгүй бол ноцтой эмзэглэлд өртөх болно. Халдлага гаргагчид өргөдлийг ашиглан дурдсан код гүйцэтгэх, серверийн багтаамжийг дүүргэх, хууль ёс зөрчигч файлуудыг тараахыг оролддог.
Тухайн үед тохиолдох гол аюулууд нь:
Хамгаалалтын үндэс нь "олон үеийн хамгаалалт (defense in depth)." Ганц арга хэрэгслийг ашиглах бус, олон давхар хамгаалалтын дизайныг бий болгох нь үр дүнтэй.
Зөвшөөрөгдсөн өргөтгөлийг хязгаарлаж, хүлээн авах эсвэл татгалзах бол зөвхөн өргөтгөлөөр шийдэхгүй байх хэрэгтэй. Файлын дотоод агуулгыг (шигтгээ дугаар) шалгаж, баталгаажуулах хэрэгтэй. Content-Type толгойг итгэж болохгүй, давхар өргөтгөл буюу NULL битыг зогсоох үйл ажиллагааг үндсэндээ хэрэгжүүлэх хэрэгтэй.
Хэрэглэгчийн өгч буй файлын нэрийг шууд хадгалахгүй байхыг анхаарах хэрэгтэй. UUID буюу хэшейг ашиглан уникаль нэрэнд шилжүүлж, анхны файлын нэрийг метадатаар тусад нь хадгалах дизайныг ашиглах аюулгүй. Тусгай тэмдэгтүүд ба урт хязгаарлалттай холбоотой асуудлуудыг шийдэх хэрэгтэй.
Өргөдсөн файлуудыг Веб буудал дээр хадгалахгүй байх нь чухал. Боломжтой бол тусгайлагдсан объектын хадгалалт (жишээ: S3) руу хадгалах ба апп-ийн дамжуулан татаж авах линк гаргах хэрэгтэй. Хадгалах фолдерт гүйцэтгэх эрхийг олгож, бичих эрхийг хамгийн багадаа тодорхойлохоос зайлсхийх хэрэгтэй.
Файлын хэмжээний өндөр хязгаарыг тогтоож, зэрэгцээ өргөдлийн тоо болон хурдыг хянах хэрэгтэй. Нягтлалыг тэсвэрлэхийн тулд байж болох том хэмжээний файлууд (ZIP гэх мэт) байвал буулгах болсон файлуудыг шалгах шаардлагатай.
Өргөдсөн файлын вирусын хяналтыг (боломжтой бол олон хөдөлгүүрээр) гүйцэтгэж, PDF / Office файлуудыг CDR (Content Disarm & Reconstruct) явцуулнаар аюулгүй болгоно. Зураг хиймэл ухаанаар дасалж (уншсаны дараа -> шинээр файл гаргах) зурхай дорогуудтай хамт алдагдсан өгөгдлийг устгах нь үр дүнтэй.
Харилцааг заавал TLS (HTTPS) той хамгаалах ба CSRF тохиолдлын хамгаалалтыг хэрэгжүүлнэ. Татаж авах хариу шаардахдаа Content-Disposition: attachment
болон X-Content-Type-Options: nosniff
замаар браузерийн гажиг үйлдлийг зогсоох хэрэгтэй.
Хэн, хэзээ, ямар файлыг хадгалсан тухай нарийн лог буулгах ба гажиг үйлдлүүдэд (удаан удаан өргөдөл гаргах, их хэмжээний татгалзалт) зориулан сэрэмжлүүлгийг тохируулах хэрэгтэй. Файлын зүй тогтолыг хянахын тулд хяналтын хэшийг хадгалах нь бас үр дүнтэй.
Хэрэгжилтийн дараа файлын өргөдлийн хувьд онцгой эмзэг байдлын хяналтын (shell insert, өргөтгөл зайлсхийх, замын гуйвашилт гэх мэт) туршилтыг явуулж, үе үе хянах хэрэгтэй.
Энд танилцуулах UploadF (uploadf.com) нь PC / утасны комбинацид хослох, чирж тавих, 100 файл зэрэгцэж өргөж чаддаг зэрэг боломжийн чангаталгатай болохуйц мөнгөнцөгийн байрлалд тухайн үйлчилгээний дизайны анхааралтай байх ёстой үзлэгүүд, арга шинжлэх механизмууд.
Шалгалтын зүйл | Гүйцэтгэх / баталгаажуулах цэгүүд |
---|---|
Өргөтгөлийн Цагаан жагсаалтын хязгаар | Шаардлагатай хэлбэрүүдийг зөвшөөрнө. Хар жагсаалтыг нэмэлтээр ашиглах. |
MIME / Шигтгээ хянах | Өргөтгөл болон дотоод агуулга нэгдэж буйг баталгаажуулах (шигтгээ дугыг баталгаажуулах). |
Файлын нэрийг дахиж нэрлэх | UUID эсвэл хэшийг хэрэглэж орлогын нэрийг метадатаар удирдах. |
Тусгай тэмдэгтүүдийг устгах | `/`, `\`, `..`, NULL гэх мэт унагах ёстой. |
Хадгалах газрын фолдер | Вэб газрын гадуур эсвэл объектын хадгалах газар хадгалах. |
Фолдерын эрх | Гүйцэтгэхийг хориглох, хамгийн багадаа унших, бичих эрх (багцын зээлдэлтийг дагаж явна). |
Хамгийн их / хамгийн бага файлын хэмжээ | Дэлгэцийн тодорхойлсон хэмжээ, ZIP гэх мэт бусад файлуудад шалгалт. |
Зэрэгцээ өргөдлийн хяналт | Зэрэгцүүлэх хязгаарлалт, хурд, цагийн хязгаарлалтын тохиргоо. |
Вирусын хяналт / CDR | Өргөдөл гүйцэтгэхийн зэрэгцээ шалгалт хийх ба шаардлагатай бол аюулгүй болгох хүчтэй. |
Харивцаны шифрлэлт (HTTPS) | TLS-ийг заавал хэрэглэх (дундаж хүнээс хамгаалах). |
CSRF-ын арга хэмжээ | Токены суурь хяналт ашиглан. |
Хариу толгойн тохиргоо | Content-Disposition: attachment , X-Content-Type-Options: nosniff гэх мэт зүйлсийг нэмж өгнө. |
Лог бичих & Сэрэмжлүүлэг | Өргөдлийн үйлдлийг хянах ба гажиг үед мэдээлнэ. |
Давтамжтай аюулгүй байдлын тойм | Эмзэг байдлын тест, пенетрацийн тестыг давтамж бүхий хязгаарлагдлаар хийх. |
Эрчмийн файлуудыг автомат устгах | Хадгалах хугацаа өнгөрсөний дараа бүрэн устгах загварыг хэрэглэх. |
Хандалтын хяналт / зөвшөөрөл | Хэрэглэгчийн тусгай/группын хязгаарлалттай байдал. |
Файлын өргөдөл гаргах боломж нь тохиромжтой ба эрсдэлтэй. Энд дурьдсан олон үеийн хамгаалалтыг (цагаан жагсаалт, шигтгээ хянах, хадгалах газрыг ялгах, вирусын эсрэг арга, лог хязгаарлалт гэх мэт) зориулан гаргахад халдлагын эрсдэл их хэмжээгээр буурна.
Хэрэглэгчид "хэрэглэхэд хялбар бөгөөд аюулгүй" мэт мэдрэмжийг өгөх, жишээлбэл, UploadF (uploadf.com) шиг хувь эрхийн устгах болон хадгалалтын хугацааг тохируулах боломж зэрэг үйлдлүүдийг өгөх үйлчилгээний ололт үнэтэй юм.
※ Дээрх мэдээллүүд нь нийтлэл бичигдсэн үеийн болон тэдгээрийн жишээг бүрдүүлж байгаа. Дэлгэрэнгүй хэрэгжилт, хамгийн сүүлийн үеийн аюулын мэдээллийг аль ч албан ёсны баримт бичигт шалгана уу.