Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία

Στο σύγχρονο περιβάλλον ανάπτυξης εφαρμογών, με δεδομένο τον υψηλό ανταγωνισμό που υφίσταται ανάμεσα στους παρόχους εφαρμογών & ψηφιακών υπηρεσιών, έχει θεσπιστεί ως θεμελιώδης ανάγκη η ταχεία και αυτοματοποιημένη δημιουργία, παράδοση και εγκατάσταση κώδικα. Με τη σταδιακή εγκατάλειψη του μο...

Full description

Saved in:
Bibliographic Details
Main Authors: Τριανταφυλλόπουλος, Λάμπρος, Triantafyllopoulos, Lampros
Other Authors: Κρητικός, Κυριάκος
Language:el_GR
Published: 2024
Subjects:
Online Access:http://hdl.handle.net/11610/26376
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Στο σύγχρονο περιβάλλον ανάπτυξης εφαρμογών, με δεδομένο τον υψηλό ανταγωνισμό που υφίσταται ανάμεσα στους παρόχους εφαρμογών & ψηφιακών υπηρεσιών, έχει θεσπιστεί ως θεμελιώδης ανάγκη η ταχεία και αυτοματοποιημένη δημιουργία, παράδοση και εγκατάσταση κώδικα. Με τη σταδιακή εγκατάλειψη του μοντέλου καταρράκτη για την ανάπτυξη λογισμικού, και την εξάπλωση του ευέλικτου μοντέλου ανάπτυξης (agile software development model), η ανάγκη για συχνή και σταδιακή ενσωμάτωση αλλαγών στον κώδικα απαίτησε τη συσσωμάτωση δυο παραδοσιακά διαφορετικών χώρων της βιομηχανίας ανάπτυξης λογισμικού, αυτόν της ανάπτυξης κώδικα και αυτόν της λειτουργίας (operations) του κώδικα σε έναν ενιαίο, με τίτλο devops. Στον πυρήνα της λειτουργίας του devops βρίσκεται η έννοια των αγωγών (pipelines), μέσα από τους οποίους εκτελούνται οι κρίσιμες λειτουργίες της συνεχούς ενσωμάτωσης και συνεχούς παράδοσης (continuous integration & continuous delivery - CI/CD). Με αυτόν τον τρόπο, ο κώδικας αποθηκεύεται, ελέγχεται, δοκιμάζεται και τελικά διανέμεται στους καταναλωτές σε περιβάλλοντα παραγωγής. Γίνεται μεμιάς φανερό, ότι οποιαδήποτε επίθεση στους CI/CD αγωγούς, θέτει σε κίνδυνο όχι μόνο τους καταναλωτές του λογισμικού, αλλά και τις υποδομές πάνω από τις οποίες εκτελούνται οι αγωγοί. Στο πλαίσιο της παρούσας διπλωματικής εργασίας, θα γίνει μια βασική αναφορά στις τεχνολογίες που συνθέτουν το σύγχρονο περιβάλλον του κύκλου ζωής λογισμικού, θα αναλυθούν οι κίνδυνοι που ελλοχεύουν μέσα και έξω από τους αγωγούς, και τελικά θα προταθεί ένα σύστημα CI/CD βασισμένο σε δοχεία (containers), ικανό να προστατέψει τον κώδικα και τις υποδομές από επίδοξους εισβολείς.