پایان نامه کارشناسی ارشد آقای عابد قادری با عنوان «ارائه راهکار امنیتی برای کاربردهای ابری مبتنی بر ریزسرویسها» - دانشکده فنی و مهندسی
دانشکده مهندسی
گروه آموزشی کامپیوتر
پایاننامه برای دریافت درجه کارشناسی ارشد در رشته مهندسی فناوری اطلاعات گرایش شبکههای کامپیوتری
عنوان:
ارائه راهکار امنیتی برای کاربردهای ابری مبتنی بر ریزسرویسها
استاد راهنما:
دکتر مهدی سخائینیا
دکتر یونس سیفی
اساتید داور:
دکتر محمد نصیری
دکتر مهدی عباسی
پژوهشگر:
عابد قادری
زمان سهشنبه 30/11/1397
مکان سالن سمینار 2 دپارتمان برق (سالن مهندس مرحوم خانمحمدی)
Bu-Ali Sina University
Faculty of Engineering
Department of Computer Engineering
Thesis submitted for Master of Science in Information Technology Engineering - Computer Networks
Title
A security solution for microservices-based cloud applications
Supervisors:
Mahdi Sakhaeinia (Ph. D)
Younes Seifi (Ph. D)
By:
Abed Qaderi
February 19, 2019
چکیده
با توسعه روزافزون بسترهای ابری هر روزه برنامههای بیشتری به این بسترها منتقل میشوند و یا به منظور بهرهوری از این امکانات تولید میشوند. این بسترها، به کاربران و تولیدکنندگان نرمافزارهای کامپیوتری کمک میکنند تا از هزینههای مرتبط با نگهداری برنامه بکاهند و در عین حال تجربه استفاده کاربران از برنامه را بهبود بخشند. معماری ریزسرویس بسیار مناسب برنامههای مبتنی بر ابر میباشد، چرا که یک سیستم نرمافزاری با سرویسهای بزرگ، به مجموعه سرویسهای ریز تبدیل میشود. این معماری بهعنوان یک راهحل برای حل مشکل برنامههای یکپارچه معرفی شده و مزایای زیادی به ارمغان میآورد. روش یکپارچه هنوز برای تیمها و پروژههای کوچک مناسب است اما برای برنامههای با مقیاس بیشتر، توسعه سریع برنامه، عرضه سریع برنامه به بازار،همکاری گسترده تیمی و مواردی از این دست، به یک مانع بزرگ تبدیل میشود. اما از طرفی دیگر، معماری ریزسرویس پیچیدگی و چالشهای جدیدی بهوجود میآورد که چالشهای امنیتی از مهمترین آن به حساب میآید. هدف ما در این پژوهش، طراحی امنیت بهعنوان سرویس برای ریزسرویسهای مبتنی بر برنامههای ابر است. برای این منظور از پلتفرم داکر استفاده میکنیم زیرا از ویژگیها و ابزارهایی بهره میبرد که به حل چالشهای ریزسرویسها کمک کرده و برنامههای با معماری ریزسرویس را تسریع میکند. همچنین فناوری کانتینرسازی داکر بهطور ذاتی بسیار مناسب معماری ریزسرویس است، چرا که هریک از آنها میتوانند بهعنوان یک محیط جداگانه توسعه داده شوند و یک سرویس ریز را در بر بگیرند. بنابراین از کانتینرهای داکر برای ایجاد و مدیریت هریک از ریزسرویسها استفاده کردیم. از آنجایی که همهی ریزسرویسها به یکدیگر اعتماد دارند، به خطر افتادن یک ریزسرویس کل برنامه را با خطر مواجه میکند. از اینرو یک معماری جدید برای ترافیک شبکه در ارتباطهای بین ریزسرویسها ایجاد کردیم تا از امنیت آنها اطمینان حاصل شود. در این معماری، یک سرویس جدید بهنام سرویس امنیتی وجود دارد و شرایطی فراهم آوردیم که بدون اطلاع سرویسها، هنگامی که سرویس مبدأ به سرویس مقصد درخواست ارسال میکند، این درخواست به سرویس امنیتی نیز ارسال شود. در حال حاضر سرویس امنیتی وظیفهی ثبت وقایع برای نظارت بر درخواستها را دارد و با ارزیابی انجام شده متحمل سربار کمتر از 14 درصد است که قابل قبول میباشد.
Abstract:
Abstract with the increasing development of cloud beds, more programs are transferred to these platforms, or are produced in order to efficiency of these facilities. These platforms help users and computer software producers to reduce costs associated with maintaining the program while improving the experience of users using the program. microservice architecture is very suitable for cloud-based applications since a software system with large services becomes a set of small services. This architecture has been introduced as a solution to solve the problem of integrated plans and brings many benefits. The integrated approach is still suitable for small teams and projects, but for larger-scale applications, rapid program development, rapid supply of a program to market, extensive team collaboration and cases of this will become a major hurdle. but on the other hand, microservice architecture creates new complexity and challenges that security challenges are considered the most important. our goal in this study is to design security as a service for microservices-based cloud applications. For this purpose, we use the docker platform because it uses features and tools that help resolve the challenges of microservices and speed up programs with architectural architecture. The Containerization technology is also inherently better suited to the microservice architecture since each of them can be developed as a separate environment and take into account a small service. Therefore, we used docker containers to establish and manage each of the microservices. Since everyone trusts each other, The risk of a microservice puts the entire program at risk. Therefore, we developed a new architecture for network traffic in the links between microservices to ensure their safety. In this architecture, there is a new service called the Security Service and provided that the request is sent to the Security Service without informing the services, when the source service requests the destination service. the security service currently has the task of recording events to monitor applications and, with the assessment carried out, the overhead is less than 14% which is acceptable.
رزومه:
ü آشنایی کامل با مفاهیم شبکههای کامپیوتری
ü آشنایی با طراحی سایت سمت مشتری ( HTML5, CSS3 )
ü آشنایی با شبیهسازهای شبکه NS3 و Packet Tracer
ü آشنایی با مفاهیم پایگاه داده
ü تسلط بر World و PowerPoint و Excel
ü آشنایی با ابزار Scyther
ü آشنایی با شبکههای پتری رنگی و ابزار مدلسازی CPN
ü آشنایی با مفاهیم اولیه امنیت شبکه و مجازیسازی
ü تسلط بر سیستمعاملهای Ubuntu و Windows
ü آشنایی با ابزار برنامهنویسی Visual Studio
ü آشنایی با دستگاه فیوژن
ü آشنایی با پلتفرم Docker
ü آشنایی با Containerها
ü تسلط بر کابلکشی و اعمال پسیو شبکه