title: ÐÐ°ÑÐ¸ÑÑÐ½Ð½ÑÐ¹ Ð²ÐµÐ±-ÑÐµÑÐ²Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ ÑÐ°Ð¹Ð»Ð¾Ð²
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Secure web-service for file uploading
Creators: name: ÐÐ°ÑÐ¸Ð»ÑÐµÐ²Ð°, ÐÐ»ÑÐ³Ð°
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2021
Subjects: Ð·Ð°Ð³ÑÑÐ·ÐºÐ° ÑÐ°Ð¹Ð»Ð¾Ð²
ÑÐ°Ð¹Ð»Ð¾Ð²ÑÐ¹ ÑÐµÑÐ²ÐµÑ
Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÑ
JWT
nginx
LUA
file uploading
file server
security

description: Ð Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ð° Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ ÑÐ°Ð¹Ð»Ð¾Ð² Ð½Ð° Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑ, Ð° Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¸ Ð°Ð²ÑÐ¾ÑÐ¸Ð·Ð°ÑÐ¸Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¹, Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑÐ¸Ñ Ð·Ð°Ð¿ÑÐ¾ÑÑ Ð½Ð° Ð·Ð°Ð³ÑÑÐ·ÐºÑ. Ð ÐºÐ°ÑÐµÑÑÐ²Ðµ ÑÐµÑÐµÐ½Ð¸Ñ Ð¿ÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð¼ÐµÑÐ°Ð½Ð¸Ð·Ð¼ Ð°Ð²ÑÐ¾ÑÐ¸Ð·Ð°ÑÐ¸Ð¸ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑÐ¾ÐºÐµÐ½Ð° JWT, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð²ÑÐ¿ÑÑÐºÐ°ÐµÑÑÑ Ð½Ð° ÑÑÐ¾ÑÐ¾Ð½Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ, Ð¾Ð±ÐµÑÐ¿ÐµÑÐ¸Ð²Ð°ÑÑÐµÐ³Ð¾ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ Ð´Ð»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸. ÐÐ»Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð¹ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ ÑÐµÑÐ²Ð¸ÑÐ° Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ ÑÐ·ÑÐº Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Lua, Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑÐ° Ð´Ð»Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ Ð¿ÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ nginx. Ð ÑÐ°Ð·ÑÐµÐ·Ðµ Ð¿ÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑÐµÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑÑÐ²Ð°ÐµÑÑÑ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½ÑÐ¹ Ð¼ÐµÑÐ°Ð½Ð¸Ð·Ð¼ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ ÑÐ°Ð¹Ð»Ð¾Ð² Ð¸ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¸ ÑÐ¾ÐºÐµÐ½Ð°. Ð Ð°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑÑÑ Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ JWT Ð¸ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÑÑÐ¸ÐµÑÑ Ð´Ð»Ñ ÐµÐ³Ð¾ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐ¸. ÐÑÐ¾Ð²ÐµÐ´ÑÐ½ Ð°Ð½Ð°Ð»Ð¸Ð· ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÐ¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ Ð½Ð° ÑÐ·ÑÐºÐµ Lua Ð½Ð° Ð±Ð°Ð·Ðµ Ð²ÐµÐ±-ÑÐµÑÐ²ÐµÑÐ° nginx Ñ ÑÑÑÑÐ¾Ð¼ ÐµÐ³Ð¾ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ Ð¸ Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿Ð¾Ð² ÑÐ°Ð±Ð¾ÑÑ. Ð¡ ÑÐµÐ»ÑÑ Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ³Ð¾ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾Ð³Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÐµÑÐµÐ½Ð¸Ñ, Ð¿ÑÐ¾Ð²ÐµÐ´ÑÐ½ Ð°Ð½Ð°Ð»Ð¸Ð· Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼ â ÑÐ°Ð±Ð¾ÑÐ° Ñ Ð½ÐµÑÐºÐ¾Ð»ÑÐºÐ¸Ð¼Ð¸ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸ÑÐ¼Ð¸, Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð°Ñ Ð¿ÐµÑÐµÐ´Ð°ÑÐ° Ð¿ÑÐ¸Ð²Ð°ÑÐ½Ð¾Ð³Ð¾ ÐºÐ»ÑÑÐ°, ÑÐ°Ð·Ð²ÑÑÑÑÐ²Ð°Ð½Ð¸Ðµ Ð¿ÑÐ¸ Ð¿Ð¾Ð¼Ð¾ÑÐ¸ ÑÑÐµÐ´ÑÑÐ² Ð²Ð¸ÑÑÑÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ â Ð¸ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð²Ð°ÑÐ¸Ð°Ð½ÑÑ Ð¸Ñ ÑÐµÑÐµÐ½Ð¸Ñ.
description: The given work considers the problem of secure file uploading to the web server. The main point of this problem is user authorization when upload request comes to the server. Proposed solution is to use JSON Web Token (JWT), issued by application that owns uploading interface. The software part was developed on Lua. This part is responsible for JWT authentication and file uploading. The script is designed for use based on nginx. In the main part the implemented mechanism of file uploading and JWT authentication is described. The work covers mechanism of JWT creation and algorithms that are used for its signature. The analysis of the efficiency of using a program in the Lua language based on the nginx web server, considering its architecture and operating principles, is carried out. To make further implementation of the solution more efficiency the analysis of possible problems is carried out. Following problems were discussed with proposed solutions: work with multiple applications, secure transfer of private key, deployment using virtualization tools.