Sobes.tech
Middle+

Στο 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. Αυτή είναι μια πιο ασφαλής προσέγγιση.

Βήματα για τη δημιουργία μιας τοπικής πολιτικής:

  1. Εγκατάσταση των απαραίτητων εργαλείων:
    yum install policycoreutils policycoreutils-python
    
  2. Θέστε το SeLinux σε λειτουργία Permissive για την παρακολούθηση παραβιάσεων:
    setenforce 0
    
  3. Εκτελέστε τις ενέργειες που προκαλούν παραβιάσεις.
  4. Δημιουργήστε πολιτική βάσει των logs audit.log:
    grep <όνομα_service> /var/log/audit/audit.log | audit2allow -M my_service_policy
    
    όπου <όνομα_service> είναι το όνομα της υπηρεσίας που προκαλεί παραβιάσεις.
  5. Εγκαταστήστε την παραγόμενη πολιτική:
    semodule -i my_service_policy.pp
    
  6. Επαναφέρετε το SeLinux σε λειτουργία Enforcing:
    setenforce 1
    

Έτσι, η στρατηγική μου είναι να χρησιμοποιώ το SeLinux σε λειτουργία Enforcing και να το προσαρμόζω κατά ανάγκη.