Wiki workshop · Ελληνικά

25 Μοντέλο Seccomp και AppArmor

Τα Linux Security Profiles εξετάζονται ως μέτρα ασφάλειας για Runtime και Kubernetes.

Παραδείγματα workshop σε ZIP
Πρόοδος μάθησης στη web app

Σημειώστε κεφάλαια ως αναγνωσμένα, δείτε την πρόοδο ανάγνωσης και ολοκληρώστε πρακτικές ενότητες αφού ενεργοποιήσετε την προαιρετική web app. Η πρόοδος του workshop υπολογίζεται από τα κεφάλαια όλων των σελίδων τεκμηρίωσης. Οι επιλογές μένουν σε αυτή τη συσκευή· δεν υπάρχει λογαριασμός ή συγχρονισμός με server. Δεν απαιτείται εγκατάσταση. Η ανάκληση στις Ρυθμίσεις απορρήτου διαγράφει την πρόοδο.

Πρόοδος ανάγνωσης0%
0%
0 / 11 κεφάλαια που διαβάστηκαν
Άλλη γλωσσική έκδοσηΓερμανικά και αγγλικά ↗

25 Μοντέλο Seccomp και AppArmor

Αυτό το παράδειγμα ανήκει στο containerd Workshop και ακολουθεί τη δομή των παραδειγμάτων Kubernetes: ένα κύριο README, αναλυτική τεκμηρίωση στα γερμανικά, αγγλικά και ελληνικά, καθώς και μικρά Artifacts που μπορούν να ελεγχθούν.

1. Στόχος

Τα Linux Security Profiles εξετάζονται ως μέτρα ασφάλειας για Runtime και Kubernetes.

Το παράδειγμα είναι ένα απομονωμένο Lab ή Model. Δεν τροποποιεί το Production Configuration της Runtime και γράφει τα αποτελέσματα εκτέλεσης αποκλειστικά στον φάκελο work/.

01 / 11

2. Προαπαιτούμενα

  • Linux, WSL, VM ή αντίστοιχο Test Environment.
  • python3 για επικύρωση JSON, TOML και YAML.
  • Προαιρετικά containerd, ctr, runc, nerdctl και crictl για πρόσθετα αποδεικτικά στοιχεία.
  • Μη χρησιμοποιείτε Production Nodes, Registries, Credentials ή Pull Secrets.
02 / 11

3. Αρχεία

  • README.md
  • README-EL.md
  • docs/de/README.md
  • docs/en/README.md
  • docs/el/README.md
  • run.sh
  • kubernetes/pod-security-context.yaml
  • security/apparmor-profile.txt
  • security/seccomp-profile.json
03 / 11

4. Εκτέλεση

bash
cd examples/25-seccomp-apparmor-model
chmod +x run.sh
./run.sh
find work -maxdepth 3 -type f | sort
04 / 11

5. Αναμενόμενο αποτέλεσμα

  • Το run.sh τερματίζεται με Exit Code 0.
  • Τα TOML, JSON και YAML ελέγχονται ως προς τη σύνταξή τους.
  • Τα Shell Scripts ελέγχονται με bash -n.
  • Αν το containerd είναι διαθέσιμο τοπικά, καταγράφεται η έκδοσή του και συλλέγονται προαιρετικά στοιχεία από το ctr.
  • Όλα τα Runtime Artifacts δημιουργούνται στον φάκελο work/.
05 / 11

6. Επεξήγηση

Κατά την εργασία με το containerd πρέπει να διακρίνετε καθαρά τα επίπεδα: Host, containerd Daemon, API, Content Store, Snapshotter, Runtime, CRI, CNI και Kubernetes. Το παράδειγμα απομονώνει ένα συγκεκριμένο τμήμα τους και καθιστά σαφή τα ερωτήματα ανασκόπησης.

06 / 11

7. Συνήθη σφάλματα

Σφάλμα Αιτία Διάγνωση
Το ctr δεν εμφανίζει Kubernetes Images Λανθασμένο containerd Namespace ctr namespaces ls, ctr -n k8s.io images ls
Το Pull αποτυγχάνει Registry, TLS, Authentication ή Mirror Ελέγξτε hosts.toml, Logs και Resolver
Το Pod δεν ξεκινά CRI, CNI, Snapshotter ή Runtime Ελέγξτε crictl, journalctl και Events
Το Configuration φαίνεται σωστό αλλά αγνοείται Λανθασμένο Plugin ID ή Path Ελέγξτε containerd config dump και την έκδοση
Disk Pressure Content, Snapshots, Leases ή Logs ctr content ls, ctr snapshots ls, ctr leases ls
07 / 11

8. Θέματα ασφάλειας

  • Μην εισάγετε Production Sockets, Registry Credentials ή Cluster Endpoints σε Labs.
  • Μην παρακάμπτετε τα προβλήματα Registry TLS με skip_verify = true, εκτός αν πρόκειται για σαφώς σημειωμένο αρνητικό παράδειγμα.
  • Οι Sandbox Runtimes, το Seccomp και το AppArmor είναι πρόσθετοι έλεγχοι· δεν υποκαθιστούν τα ασφαλή Images.
  • Οι αλλαγές Runtime Configuration σε Kubernetes Nodes απαιτούν Drain, Rollback και έγκριση.
08 / 11

9. Ανασκόπηση και αποδεικτικά στοιχεία

Μια ολοκληρωμένη εργασία περιλαμβάνει τουλάχιστον:

text
work/evidence/
  tooling.txt
  result.txt
  config-review.txt
  risk-note.md
  cleanup.md

Δεν δημιουργείται κάθε αρχείο σε κάθε παράδειγμα. Σημασία έχει τα αποδεικτικά στοιχεία να συνδέονται με τον μαθησιακό στόχο και να μην περιέχουν Secrets.

09 / 11

10. Δυνατότητες επέκτασης

  • Επεκτείνετε το παράδειγμα με πραγματικό Test Registry.
  • Προσθέστε CRI Output από Lab Node.
  • Προσθέστε παραλλαγή RuntimeClass για Kata ή gVisor.
  • Προσθέστε Image Verification με Cosign ή Notation ως ξεχωριστό Lab.
  • Επικυρώστε τα αποδεικτικά στοιχεία ως προς TOML, JSON και YAML στο CI.

10 / 11

Παράρτημα παραδείγματος: αποδεικτικά στοιχεία, λειτουργία και μεταφορά

Το παράρτημα ολοκληρώνει το παράδειγμα ως εκπαιδευτικό υλικό. Περιγράφει πώς ένα τοπικό Model οδηγεί σε αξιόπιστη ανάλυση Runtime, χωρίς πρόσβαση σε Production Nodes ή Credentials.

B.1 Ορίστε το πεδίο εφαρμογής

Ο ορισμός του πεδίου εφαρμογής είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.2 Επικυρώστε τα Artifacts

Η επικύρωση των Artifacts είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.3 Ονομάστε το επίπεδο Runtime

Η ονομασία του επιπέδου Runtime είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.4 Ελέγξτε τη σχέση με το Kubernetes

Ο έλεγχος της σχέσης με το Kubernetes είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.5 Καταγράψτε τα όρια ασφάλειας

Η καταγραφή των ορίων ασφάλειας είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.6 Τεκμηριώστε το Rollback

Η τεκμηρίωση του Rollback είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.7 Καθαρίστε τα αποδεικτικά στοιχεία

Ο καθαρισμός των αποδεικτικών στοιχείων είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.8 Περιορίστε τη μεταφορά

Ο περιορισμός της μεταφοράς είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.9 Ολοκληρώστε την ανασκόπηση

Η ολοκλήρωση της ανασκόπησης είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.10 Εκτελέστε το Cleanup

Η εκτέλεση του Cleanup είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.11 Ολοκλήρωση

Ένα παράδειγμα ολοκληρώνεται όταν το Script εκτελείται επιτυχώς, όλα τα Artifacts του Model είναι συντακτικά έγκυρα, κατονομάζεται το επίπεδο Runtime που επηρεάζεται και τα αποδεικτικά στοιχεία δεν περιέχουν εμπιστευτικά δεδομένα.

11 / 11

CTR · Orthevs Academy

31 modules ως ενιαία διαδρομή μάθησης.

Η σειρά παραμένει αμετάβλητη: από τη βασική δομή του lab μέσω τεχνικών θεμελίων και λειτουργικών μοντέλων έως το τελικό troubleshooting. Τα τεχνικά ονόματα καταλόγων διατηρούνται σκόπιμα.

Orthevs – Η μηχανική ως βάση για όσα ακολουθούν.

Το Orthevs ως εφαρμογή

Εγκατάσταση του Orthevs

Η web app του Orthevs μπορεί να εγκατασταθεί σε υποστηριζόμενες κινητές συσκευές και browsers υπολογιστή.

iPhone και iPad

Ανοίξτε το Orthevs στο Safari. Πατήστε Κοινή χρήση και μετά Προσθήκη στην οθόνη αφετηρίας. Ενεργοποιήστε το Άνοιγμα ως web app, αν εμφανίζεται, και πατήστε Προσθήκη.

Android

Για τη web app, ανοίξτε το μενού του browser και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στην αρχική οθόνη. Επιβεβαιώστε την εγκατάσταση.

Browser υπολογιστή

Ανοίξτε το μενού του browser ή το εικονίδιο εγκατάστασης στη γραμμή διευθύνσεων και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στο Dock.

Η εγκατάσταση της web app εξαρτάται από τον browser. Αν δεν εμφανιστεί διάλογος εγκατάστασης, ακολουθήστε τα βήματα του browser που αναφέρονται παραπάνω.