Κυκλοφορία του Bottlerocket 1.7, μια διανομή που βασίζεται σε απομονωμένα δοχεία

Δημοσιεύτηκε η κυκλοφορία της διανομής Linux Bottlerocket 1.7.0, η οποία αναπτύχθηκε με τη συμμετοχή της Amazon για την αποτελεσματική και ασφαλή λειτουργία απομονωμένων κοντέινερ. Η εργαλειοθήκη και τα στοιχεία ελέγχου της διανομής είναι γραμμένα σε Rust και διανέμονται με τις άδειες MIT και Apache 2.0. Υποστηρίζει την εκτέλεση του Bottlerocket σε συμπλέγματα Amazon ECS, VMware και AWS EKS Kubernetes, καθώς και τη δημιουργία προσαρμοσμένων δομών και εκδόσεων που επιτρέπουν διαφορετικά εργαλεία ενορχήστρωσης και χρόνου εκτέλεσης για κοντέινερ.

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

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

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

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

Τα περισσότερα στοιχεία του συστήματος είναι γραμμένα σε 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" είναι επιπλέον περιλαμβάνεται -προστασία.

Στη νέα έκδοση:

  • Κατά την εγκατάσταση πακέτων RPM, είναι δυνατό να δημιουργήσετε μια λίστα προγραμμάτων σε μορφή JSON και να την προσαρτήσετε στο κοντέινερ κεντρικού υπολογιστή ως αρχείο /var/lib/bottlerocket/inventory/application.json για να λάβετε πληροφορίες σχετικά με τα διαθέσιμα πακέτα.
  • Τα κοντέινερ "διαχειριστής" και "έλεγχος" έχουν ενημερωθεί.
  • Ενημερωμένες εκδόσεις πακέτων και εξαρτήσεις για τις γλώσσες Go και Rust.
  • Ενημερωμένες εκδόσεις πακέτων με προγράμματα τρίτων κατασκευαστών.
  • Επιλύθηκαν ζητήματα ρύθμισης παραμέτρων tmpfilesd για kmod-5.10-nvidia.
  • Κατά την εγκατάσταση του tuftool, οι εκδόσεις εξάρτησης συνδέονται.

Πηγή: opennet.ru

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