Στο CentOS Linux, πώς διαχειρίζεστε το ceiling (περιοριστές); Είναι πάντα απενεργοποιημένο ή ενεργό;
sobes.tech AI
Απάντηση από AI
Το SeLinux (Security-Enhanced Linux) είναι ένας μηχανισμός υποχρεωτικού ελέγχου πρόσβασης (MAC). Προεπιλογή, είναι ενεργό και λειτουργεί σε μία από τις ακόλουθες λειτουργίες:
- Enforcing: Επιβολή πολιτικών ασφαλείας. Κάθε απαγορευμένη ενέργεια μπλοκάρεται.
- Permissive: Οι απαγορευμένες ενέργειες δεν μπλοκάρονται, αλλά παράγονται προειδοποιήσεις και καταγράφονται στα αρχεία καταγραφής.
- Disabled: Το SeLinux είναι εντελώς απενεργοποιημένο.
Στην πράξη, προσπαθώ να διατηρώ το SeLinux ενεργό σε λειτουργία Enforcing στους παραγωγικούς διακομιστές. Αυτό προσθέτει ένα επιπλέον επίπεδο ασφάλειας. Η απενεργοποίηση του SeLinux είναι ένα ακραίο μέτρο, που χρησιμοποιείται μόνο για την επίλυση προβλημάτων ή σε συγκεκριμένα, πλήρως ελεγχόμενα περιβάλλοντα.
Για τη διαχείριση του SeLinux, χρησιμοποιώ τις ακόλουθες εντολές:
- Έλεγχος της τρέχουσας κατάστασης και λειτουργίας:
sestatus # Κατάσταση SeLinux και τρέχουσα λειτουργία - Μεταβείτε μεταξύ λειτουργιών (χωρίς επανεκκίνηση):
setenforce 0 # Λειτουργία Permissive setenforce 1 # Λειτουργία Enforcing - Αλλαγή της προεπιλεγμένης λειτουργίας (απαιτεί επανεκκίνηση), επεξεργασία του
/etc/selinux/config:nano /etc/selinux/config # Αλλάξτε το SELINUX=enforcing σε permissive ή disabled - Διαχείριση των ρυθμίσεων boolean (επιτρέπουν ή απαγορεύουν συγκεκριμένες πολιτικές):
getsebool -a # Λίστα όλων των boolean setsebool -P <όνομα_boolean> on/off # Ορισμός boolean μόνιμα (-P)
Όταν διαμορφώνω νέες υπηρεσίες ή εφαρμογές που δεν είναι συμβατές με την τρέχουσα πολιτική SeLinux, προτιμώ να δημιουργώ ή να ενημερώνω μια τοπική πολιτική (μόνιμο module) αντί να απενεργοποιώ πλήρως το SeLinux. Αυτή είναι μια πιο ασφαλής προσέγγιση.
Βήματα για τη δημιουργία μιας τοπικής πολιτικής:
- Εγκατάσταση των απαραίτητων εργαλείων:
yum install policycoreutils policycoreutils-python - Θέστε το SeLinux σε λειτουργία
Permissiveγια την παρακολούθηση παραβιάσεων:setenforce 0 - Εκτελέστε τις ενέργειες που προκαλούν παραβιάσεις.
- Δημιουργήστε πολιτική βάσει των logs
audit.log:
όπουgrep <όνομα_service> /var/log/audit/audit.log | audit2allow -M my_service_policy<όνομα_service>είναι το όνομα της υπηρεσίας που προκαλεί παραβιάσεις. - Εγκαταστήστε την παραγόμενη πολιτική:
semodule -i my_service_policy.pp - Επαναφέρετε το SeLinux σε λειτουργία
Enforcing:setenforce 1
Έτσι, η στρατηγική μου είναι να χρησιμοποιώ το SeLinux σε λειτουργία Enforcing και να το προσαρμόζω κατά ανάγκη.