Το Bottlerocket 1.8 είναι διαθέσιμο, μια διανομή που βασίζεται σε απομονωμένα δοχεία

Δημοσιεύτηκε η κυκλοφορία της διανομής Linux Bottlerocket 1.8.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" είναι επιπλέον περιλαμβάνεται -προστασία.

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

  • Τα περιεχόμενα των κοντέινερ διαχείρισης και ελέγχου έχουν ενημερωθεί.
  • Ο χρόνος εκτέλεσης για μεμονωμένα κοντέινερ έχει ενημερωθεί στον κλάδο κοντέινερ 1.6.x.
  • Οι διεργασίες παρασκηνίου που συντονίζουν την εργασία των κοντέινερ επανεκκινούνται μετά από αλλαγές στο χώρο αποθήκευσης πιστοποιητικών.
  • Παρέχεται η δυνατότητα ρύθμισης παραμέτρων εκκίνησης του πυρήνα μέσω της ενότητας Boot Configuration.
  • Ενεργοποιήθηκε η παράβλεψη κενών μπλοκ κατά τον έλεγχο της ακεραιότητας του ριζικού διαμερίσματος χρησιμοποιώντας το dm-verity.
  • Παρέχει τη δυνατότητα στατικής σύνδεσης ονομάτων κεντρικών υπολογιστών στο /etc/hosts.
  • Έχει παρασχεθεί η δυνατότητα δημιουργίας διαμόρφωσης δικτύου χρησιμοποιώντας το βοηθητικό πρόγραμμα netdog (προστέθηκε η εντολή generate-net-config).
  • Προτείνονται νέες επιλογές διανομής με υποστήριξη για Kubernetes 1.23. Μειώθηκε ο χρόνος εκκίνησης για τα pod στο Kubernetes απενεργοποιώντας τη λειτουργία configMapAndSecretChangeDetectionStrategy. Προστέθηκαν νέες ρυθμίσεις kubelet: provider-id και podPidsLimit.
  • Μια νέα διανομή «aws-ecs-1-nvidia» για την Amazon Elastic Container Service (Amazon ECS) έχει προταθεί και συνοδεύεται από προγράμματα οδήγησης NVIDIA.
  • Προστέθηκε υποστήριξη για συσκευές αποθήκευσης Microchip Smart Storage και MegaRAID SAS. Διευρυμένη υποστήριξη για κάρτες Ethernet που βασίζονται σε τσιπ Broadcom.
  • Ενημερωμένες εκδόσεις πακέτων και εξαρτήσεων για τις γλώσσες Go και Rust, καθώς και εκδόσεις πακέτων με προγράμματα τρίτων κατασκευαστών. Το Bottlerocket SDK έχει ενημερωθεί στην έκδοση 0.26.0.

Πηγή: opennet.ru

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