Η Amazon κυκλοφορεί το Bottlerocket 1.0.0, διανομή Linux που βασίζεται σε μεμονωμένα κοντέινερ

Αμαζόνα παρουσιάζονται πρώτη σημαντική έκδοση μιας αποκλειστικής διανομής Linux Μπουκαλιέρα 1.0.0, σχεδιασμένο να λειτουργεί αποτελεσματικά και με ασφάλεια απομονωμένα δοχεία. Τα εργαλεία και τα στοιχεία ελέγχου της διανομής είναι γραμμένα σε Rust και εξάπλωση με άδειες MIT και Apache 2.0. Το έργο αναπτύσσεται στο GitHub και είναι διαθέσιμο για συμμετοχή από μέλη της κοινότητας. Η εικόνα ανάπτυξης συστήματος δημιουργείται για τις αρχιτεκτονικές x86_64 και Aarch64. Το λειτουργικό σύστημα είναι προσαρμοσμένο να τρέχει σε συμπλέγματα Amazon ECS και AWS EKS Kubernetes. ΠΑΡΕΧΟΝΤΑΙ εργαλεία για τη δημιουργία των δικών σας συγκροτημάτων και εκδόσεων, τα οποία μπορούν να χρησιμοποιούν άλλα εργαλεία ενορχήστρωσης, πυρήνες και χρόνο εκτέλεσης για κοντέινερ.

Η διανομή παρέχει τον πυρήνα Linux και ένα ελάχιστο περιβάλλον συστήματος, συμπεριλαμβανομένων μόνο των στοιχείων που είναι απαραίτητα για την εκτέλεση κοντέινερ. Μεταξύ των πακέτων που εμπλέκονται στο έργο είναι το system manager systemd, η βιβλιοθήκη Glibc και τα εργαλεία συναρμολόγησης
Buildroot, GRUB bootloader, διαμορφωτής δικτύου κακός, χρόνος εκτέλεσης για μεμονωμένα δοχεία κοντέινερ, πλατφόρμα ενορχήστρωσης κοντέινερ Kubernetes, aws-iam-authenticator και πράκτορας Amazon ECS.

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

Η βασική διαφορά από παρόμοιες διανομές όπως το Fedora CoreOS, το CentOS/Red Hat Atomic Host είναι η κύρια εστίαση στην παροχή μέγιστη ασφάλεια στο πλαίσιο της ενίσχυσης της προστασίας του συστήματος από πιθανές απειλές, καθιστώντας πιο δύσκολη την εκμετάλλευση των τρωτών σημείων στα στοιχεία του λειτουργικού συστήματος και αυξάνοντας την απομόνωση των κοντέινερ. Τα κοντέινερ δημιουργούνται χρησιμοποιώντας τυπικούς μηχανισμούς πυρήνα Linux - cgroups, namespaces και seccomp. Για πρόσθετη απομόνωση, η διανομή χρησιμοποιεί SELinux στη λειτουργία "επιβολής" και η μονάδα χρησιμοποιείται για κρυπτογραφική επαλήθευση της ακεραιότητας του ριζικού διαμερίσματος dm-αλήθεια. Εάν εντοπιστεί μια προσπάθεια τροποποίησης δεδομένων σε επίπεδο συσκευής μπλοκ, το σύστημα επανεκκινείται.

Το ριζικό διαμέρισμα προσαρτάται μόνο για ανάγνωση και το διαμέρισμα ρυθμίσεων /etc προσαρτάται σε tmpfs και επαναφέρεται στην αρχική του κατάσταση μετά από επανεκκίνηση. Η άμεση τροποποίηση αρχείων στον κατάλογο /etc, όπως τα /etc/resolv.conf και /etc/containerd/config.toml, δεν υποστηρίζεται - για να αποθηκεύσετε μόνιμα τις ρυθμίσεις, πρέπει να χρησιμοποιήσετε το API ή να μετακινήσετε τη λειτουργικότητα σε ξεχωριστά κοντέινερ.

Τα περισσότερα στοιχεία του συστήματος είναι γραμμένα σε Rust, το οποίο παρέχει λειτουργίες ασφαλείς για τη μνήμη για την αποφυγή ευπάθειας που προκαλούνται από μεταγενέστερες προσβάσεις στη μνήμη, μηδενικές παραπομπές δείκτη και υπερβάσεις buffer. Κατά τη δημιουργία από προεπιλογή, οι τρόποι μεταγλώττισης "--enable-default-pie" και "--enable-default-ssp" χρησιμοποιούνται για να επιτραπεί η τυχαιοποίηση του χώρου διευθύνσεων των εκτελέσιμων αρχείων (PIE) και προστασία από υπερχείλιση στοίβας μέσω αντικατάστασης καναρινιού.
Για πακέτα γραμμένα σε C/C++, περιλαμβάνονται πρόσθετες σημαίες
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" και "-fstack-clash-protection".

Τα εργαλεία ενορχήστρωσης κοντέινερ παρέχονται χωριστά δοχείο ελέγχου, το οποίο είναι ενεργοποιημένο από προεπιλογή και ελέγχεται μέσω API και AWS SSM Agent. Η βασική εικόνα δεν διαθέτει κέλυφος εντολών, διακομιστή SSH και γλώσσες ερμηνείας (για παράδειγμα, χωρίς Python ή Perl) - τα εργαλεία διαχείρισης και τα εργαλεία εντοπισμού σφαλμάτων βρίσκονται στο ξεχωριστό δοχείο εξυπηρέτησης, το οποίο είναι απενεργοποιημένο από προεπιλογή.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο