Κατανόηση του AppArmor στο Ubuntu [Linux]
Ίσως έχετε ακούσει για το AppArmor ενώ εγκαθιστάτε το Ubuntu, αλλά επειδή δεν είναι μια εφαρμογή που εμφανίζεται στο μενού εφαρμογής και δεν εμφανίζεται σε οποιαδήποτε γραφική μορφή, οι περισσότεροι από εσάς δεν έχουν πιθανώς καμία ιδέα τι κάνει και γιατί είναι απαραίτητο για το σύστημά σας. Εν ολίγοις, το AppArmor είναι μια ενότητα ασφαλείας που περιορίζει τα μεμονωμένα προγράμματα σε μια σειρά από αναφερόμενα αρχεία και δυνατότητες, ώστε να μην καταστρέφουν το σύστημά σας.
Τι είναι το AppArmor;
Το AppArmor είναι ένα σύστημα ελέγχου υποχρεωτικής πρόσβασης (MAC) που περιορίζει τα προγράμματα σε ένα περιορισμένο σύνολο πόρων. Περιορίζει τα προγράμματα σε ένα σύνολο αρχείων, χαρακτηριστικών και δυνατοτήτων, ώστε να μην μπορεί να εισέλθει βαθιά μέσα στο σύστημα και να προκαλέσει τον όλεθρο (εκτός αν του δοθεί η άδεια). Αντί του μοντέλου UAC των Windows που δίνει έλεγχο στους χρήστες, το AppArmor δεσμεύει τα χαρακτηριστικά ελέγχου πρόσβασης στο ίδιο το πρόγραμμα.
Πώς λειτουργεί το AppArmor
Το AppArmor λειτουργεί στο επίπεδο του πυρήνα και φορτώνεται κατά την εκκίνηση. Ο τρόπος με τον οποίο η AppArmor χειρίζεται την άδεια είναι μέσω των Προφίλ. Τα προφίλ είναι ένα σύνολο κανόνων που καθορίζουν τι μπορεί και δεν μπορεί να κάνει το πρόγραμμα. Υπάρχουν δύο τρόποι με τους οποίους μπορούν να εκτελεστούν τα Προφίλ: Εκτέλεση και Καταγγελία . Ο τρόπος εκτέλεσης είναι μια αυστηρή εφαρμογή της πολιτικής που ορίζεται στο προφίλ καθώς και οι προσπάθειες καταγγελίας παραβίασης πολιτικής. Η κατάσταση καταγγελίας θα αναφέρει μόνο τις προσπάθειες παραβίασης πολιτικής, αλλά δεν επιβάλλει την πολιτική. Τα περισσότερα προφίλ φορτώνονται στη λειτουργία επιβολής, αν και μπορεί να υπάρχει ένας μεγάλος αριθμός προφίλ τρίτων που έχουν φορτωθεί και στη λειτουργία καταγγελίας.
Ελέγξτε την κατάστασή σας AppArmor
Εάν χρησιμοποιείτε Ubuntu 7.04 ή νεότερη έκδοση, το AppArmor είναι εγκατεστημένο από προεπιλογή και φορτώνεται όταν εκκινήσετε τον υπολογιστή σας. Για να ελέγξετε την κατάσταση AppArmor, πληκτρολογήστε την ακόλουθη εντολή στο τερματικό:
sudo apparmor_status
Αυτό θα δείτε:
Στο σύστημά μου, μπορείτε να δείτε ότι υπάρχουν 17 προφίλ φορτωμένα σε λειτουργία επιβολής και 4 τρέχουσες διαδικασίες που επιβάλλονται από AppArmor.
Εύρεση προφίλ AppArmor με ειδικές ανάγκες
Εκτός από τα προφίλ που εκτελούνται κατά την εκκίνηση, υπάρχουν πολλά προφίλ που είναι διαθέσιμα αλλά απενεργοποιημένα από προεπιλογή. Μπορείτε να τα ελέγξετε στο φάκελο "/etc/apparmor.d/disable". Από εδώ, μπορείτε να δείτε ότι τα προφίλ του Firefox και του Rsyslogd δεν είναι ενεργοποιημένα.
Το προφίλ του Firefox ήταν μάλλον απενεργοποιημένο επειδή οδηγεί σε πτώση απόδοσης στον Firefox, αλλά αν σας αρέσει η στροφή στο προφίλ ώστε να μπορείτε να περιηγηθείτε στον ιστό με περισσότερη ειρήνη, εδώ μπορείτε να το κάνετε.
Ανοίξτε ένα τερματικό και πληκτρολογήστε:
sudo aa-enforce /etc/apparmor.d/usr.bin.firefox
Για να την απενεργοποιήσετε ξανά:
sudo ln-s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
Πώς φαίνεται ένα προφίλ AppArmor;
Ενώ τα Profiles ακούγονται σαν μια πολύπλοκη ενότητα λογισμικού, είναι στην πραγματικότητα ένα απλό αρχείο κειμένου με τις συμπεριλαμβανόμενες διαδρομές αρχείων που δηλώνουν τους φακέλους και τους καταλόγους που μπορεί να έχει πρόσβαση η εφαρμογή. Έτσι εμφανίζεται το προφίλ eVince (μπορείτε εύκολα να κάνετε κλικ σε οποιοδήποτε προφίλ στο φάκελο "/etc/apparmor.d" για να το ανοίξετε στον επεξεργαστή κειμένου).
Δημιουργία των δικών σας προφίλ στην εφαρμογή κλειδώματος
Το Ubuntu έχει κάνει πολύ καλή δουλειά για να σας προστατεύσει, αλλά αν θέλετε να περιορίσετε μια προσαρμοσμένη εφαρμογή που δεν προστατεύεται από το Ubuntu, μπορείτε να δημιουργήσετε το δικό σας προφίλ για να κλειδώσετε την εφαρμογή. Αυτό είναι ιδιαίτερα χρήσιμο σε κατάσταση διακομιστή όπου πολλές εφαρμογές εκτελούνται στο παρασκήνιο όπου δεν μπορείτε να το δείτε.
Σημείωση : Προτού δημιουργήσετε τα προφίλ σας, είναι προτιμότερο να εξετάσετε πρώτα την υπάρχουσα βιβλιοθήκη προφίλ AppArmor για να ελέγξετε αν είναι διαθέσιμο το προφίλ της εφαρμογής σας. Μπορείτε επίσης να εγκαταστήσετε το " apparmor-profiles
" για να πάρετε μια επιπλέον λίστα προφίλ.
Για να δημιουργήσετε τα δικά σας προφίλ AppArmor, πρέπει πρώτα να εγκαταστήσετε το "apparmor-utils".
sudo apt-get εγκαταστήσετε apparmor-utils
Αφού εγκατασταθεί, εκτελέστε την ακόλουθη εντολή για να ξεκινήσετε τη δημιουργία προφίλ:
sudo aa-genprof / διαδρομή / προς / εφαρμογή
όπου το "/ path / to / application" είναι η διαδρομή του αρχείου στην εφαρμογή που θέλετε να προφίλ. Ο προεπιλεγμένος φάκελος εφαρμογής είναι "/ usr / bin", αλλά μπορεί να διαφέρει ανάλογα με την εφαρμογή.
Στη συνέχεια, αφήνοντας το τερματικό σε λειτουργία, ξεκινήστε την εφαρμογή που πρόκειται να Προφίλ. Για αυτό το παράδειγμα, χρησιμοποιώ το Krita. Χρησιμοποιήστε την εφαρμογή όπως συνήθως κάνετε οποιαδήποτε άλλη μέρα.
Για κάθε ενέργεια που εκτελείτε στην εφαρμογή, επιστρέψτε στο τερματικό και πατήστε "Shift + s" για να το πάρετε για να σαρώσετε τις αλλαγές.
Από εδώ, μπορείτε να δείτε τη διαδρομή στην οποία έχει πρόσβαση η εφαρμογή και τη σοβαρότητα της ενέργειας. Στη συνέχεια, μπορείτε να "Επιτρέψετε (Α)" ή "Άρνηση (D)" τη δράση.
Συνεχίστε να το κάνετε αυτό για τις υπόλοιπες ενέργειες που εκτελούνται στην εφαρμογή. Για να έχετε το καλύτερο αποτέλεσμα, είναι καλύτερο να σχεδιάσετε τη λίστα των ενεργειών σας προτού ξεκινήσετε τη δημιουργία προφίλ.
Τέλος, όταν τελειώσετε, πατήστε "Shift + F" για να τελειώσετε το προφίλ και "Shift + s" για να αποθηκεύσετε το προφίλ.
Μόλις δημιουργηθεί, το προφίλ θα αποθηκευτεί στον φάκελο "/etc/apparmor.d" και θα φορτωθεί στη λειτουργία επιβολής.
Επεξεργασία προφίλ
Για να επεξεργαστείτε το πρόσφατα δημιουργημένο προφίλ σας, χρησιμοποιήστε την ακόλουθη εντολή:
sudo aa-logprof / διαδρομή / προς / εφαρμογή
Το AppArmor θα σαρώσει τις καταχωρήσεις καταγραφής και θα σας επιτρέψει να κάνετε αλλαγές στο προφίλ.
Διακοπή και επανεκκίνηση του AppArmor
Για ορισμένους λόγους που πρέπει να σταματήσετε ή να επανεκκινήσετε το AppArmor, μπορείτε να το κάνετε εύκολα
sudo service apparmor στάση #stop apparmor
και
sudo υπηρεσία apparmor επανεκκίνηση # restart apparmor
Για περισσότερες πληροφορίες σχετικά με το AppArmor, ανατρέξτε στη σελίδα Ubuntu AppArmor.
Πιστοποίηση εικόνας: Ιππότης στο Shining Armor