Απενεργοποίηση selinux centos 7. Ρύθμιση παραμέτρων του SELinux, ενεργοποίηση, απενεργοποίηση. η μέθοδος απενεργοποίησης του SELinux στο CentOS. Μια για πάντα

Το οποίο παρέχει έναν μηχανισμό για την υποστήριξη πολιτικών ασφαλείας ελέγχου πρόσβασης. Το SELinux μπορεί μερικές φορές να σας εμποδίσει. Επομένως πρέπει να απενεργοποιήσετε-απενεργοποιήσετε SELinux . Ωστόσο, προτού απενεργοποιήσετε/απενεργοποιήσετε το SELinux, βεβαιωθείτε ότι έχετε έναν καλό λόγο για τον οποίο το κάνετε αυτό.

Πώς να απενεργοποιήσετε/απενεργοποιήσετε προσωρινά το SELinux

Βήμα 1:Πρώτα απ 'όλα, ελέγξτε την τρέχουσα κατάσταση SELinux χρησιμοποιώντας την ακόλουθη εντολή:

# getenforce επιβολή #

Χρησιμοποιώντας μια διαφορετική μέθοδο με μια εντολή που οδηγεί στο ίδιο πράγμα:

# sestatus Κατάσταση SELinux: ενεργοποιημένη προσάρτηση SELinuxfs: /selinux Τρέχουσα λειτουργία: επιβολή Λειτουργίας από το αρχείο διαμόρφωσης: επιβολή Πολιτικής Έκδοση: 24 Πολιτική από αρχείο διαμόρφωσης: targeted #

Βήμα 2:Για προσωρινή απενεργοποίηση/απενεργοποίηση SELinux , χρησιμοποιήστε την παρακάτω μέθοδο:

# echo 0 > /selinux/enforce

Μια άλλη μέθοδος

#setenforce 0

Πιθανότατα μπορείτε να το ρυθμίσετε σε επιτρεπτή λειτουργία. Ως αποτέλεσμα, το SELinux θα εκδώσει προειδοποιητικά μηνύματα αντί να το εκτελέσει. Για να κάνετε το ίδιο, χρησιμοποιήστε την ακόλουθη εντολή:

# setenforce Επιτρεπτή

Πρώτα απ 'όλα, η περιγραφόμενη μέθοδος λειτουργεί μέχρι να κάνετε επανεκκίνηση. Ως αποτέλεσμα, θα λειτουργεί μέχρι την επόμενη επανεκκίνηση. Επίσης, αν θέλετε να το κάνετε αυτό στο μόνιμη βάσημέσω επανεκκίνησης, ακολουθήστε την παρακάτω διαδικασία.

Πώς να απενεργοποιήσετε-απενεργοποιήσετε μόνιμα το SELinux

Για να το απενεργοποιήσετε οριστικά, αλλάξτε την τιμή του " SELinux" επί " άτομα με ειδικές ανάγκες"στο αρχείο" /etc/sysconfig/SELinux"όπως φαίνεται παρακάτω

Τέλος ελέγξτε ξανά με την παρακάτω εντολή:

# sestatus Κατάσταση SELinux: απενεργοποιημένη

Το SELinux (Security-Enhanced Linux - Linux με βελτιωμένη ασφάλεια) είναι μια υλοποίηση ενός συστήματος ελέγχου υποχρεωτικής πρόσβασης που μπορεί να λειτουργήσει παράλληλα με ένα κλασικό σύστημα ελέγχου διακριτικής πρόσβασης. Περιλαμβάνεται στον τυπικό πυρήνα Linux. Επίσης, για να λειτουργήσει το SELinux, απαιτούνται τροποποιημένες εκδόσεις ορισμένων βοηθητικών προγραμμάτων (ps, ls, κ.λπ.), που παρέχουν υποστήριξη για νέες λειτουργίες πυρήνα και υποστήριξη από το σύστημα αρχείων.

Μέθοδος 1: Απενεργοποιήστε προσωρινά το SELinux

Για να απενεργοποιήσετε προσωρινά το SELinux, μπορείτε να τροποποιήσετε το αρχείο /selinux/enforce. Λάβετε υπόψη ότι πρόκειται για προσωρινή απενεργοποίηση και μόλις γίνει επανεκκίνηση του συστήματος, το SELinux θα λειτουργήσει ξανά.

# cat /selinux/enforce 1 # echo 0 > /selinux/enforce# cat /selinux/enforce 0 Μπορείτε επίσης να χρησιμοποιήσετε την εντολή setenforce, όπως φαίνεται στο παρακάτω παράδειγμα. Πιθανές επιλογές για την εντολή setenforce είναι: Enforcing, Permissive, 1 (enable) ή 0 (disable).
#setenforce 0

Μέθοδος 2: Απενεργοποιήστε οριστικά το SELinux

Για να απενεργοποιήσετε οριστικά το SELinux, επεξεργαστείτε το αρχείο /etc/selinux/config και ορίστε το SELINUX=disabled όπως φαίνεται παρακάτω. Μετά από αυτό, επανεκκινήστε τον διακομιστή.

# cat /etc/selinux/config SELINUX=απενεργοποιημένο SELINUXTYPE=στοχευμένο SETLOCALDEFS=0

Μέθοδος 3: Απενεργοποίηση του SELinux στον Grub Bootloader

Η τρίτη μέθοδος χρησιμοποιεί τον φορτωτή εκκίνησης GRUB για να απενεργοποιήσει το SELinux. Προσθέστε στο τέλος της γραμμής selinux=0

# cat /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz τίτλος κρυφού μενού Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE) ριζικός (hd0,0) πυρήνας /boot/vmlinuz -2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5PAE.img τίτλος Enterprise Linux Enterprise Linux Server (2.6.18-92.el5) root (hd0,0) πυρήνας /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb αθόρυβο selinux=0 initrd /boot/initrd-2.6.18-92.el5.img

Μέθοδος 4: Απενεργοποιήστε το SELinux μόνο για ορισμένες υπηρεσίες - HTTP/Apache

Εάν δεν χρειάζεται να απενεργοποιήσετε πλήρως το SELinux, αλλά μόνο για ορισμένες υπηρεσίες, έχετε αυτήν την επιλογή. Για παράδειγμα, ας απενεργοποιήσουμε το SELinux για HTTP/Apache αλλάζοντας την τιμή της μεταβλητής httpd_disable_transστο αρχείο /etc/selinux/targeted/booleans.

# grep httpd /etc/selinux/targeted/booleans httpd_builtin_scripting=1 httpd_disable_trans=1 httpd_enable_cgi=1 httpd_enable_homedirs=1 httpd_ssi_exec=1 httpd_tty_comm=0 httpd_unified=1 Ορίστε τη μεταβλητή χρησιμοποιώντας επίσης την εντολή setsebool. Μετά από αυτό, επανεκκινήστε το httpd για να τεθούν σε ισχύ οι αλλαγές.

# setsebool httpd_disable_trans 1# επανεκκίνηση υπηρεσίας httpd

Γεια σε όλους, ας μιλήσουμε λίγο για το SELinux, αλλά πριν από αυτό, ένας μικρός ορισμός για όσους δεν έχουν ακούσει τι είναι. Το SELinux είναι μια συντομογραφία για τα αγγλικά. τις λέξεις Security-Enhanced Linux που σημαίνει Linux με βελτιωμένη ασφάλεια. Με άλλα λόγια, πρόκειται για την εφαρμογή ενός συστήματος ελέγχου αναγκαστικής πρόσβασης, το οποίο είναι ικανό να λειτουργεί παράλληλα με το κλασικό σύστημα επιλεκτικού ελέγχου πρόσβασης. Η διαφορά είναι ότι στο SELinux, μέσω ορισμένων πολιτικών, τα δικαιώματα πρόσβασης καθορίζονται από το ίδιο το σύστημα, με τη σειρά του, το σύστημα επιλεκτικού ελέγχου πρόσβασης διαιρεί την πρόσβαση της διαδικασίας σε πόρους με βάση τα δικαιώματα χρήστη, για απλή κατανόηση αυτά είναι δικαιώματα rwx σε τρία επίπεδα - ιδιοκτήτης , ομάδα κατόχων και άλλους χρήστες.
Μετά από μια μικρή περιγραφή, ας προσπαθήσουμε να δούμε μερικές εντολές και επιλογές του SELinux. Τα παραδείγματά μας θα παρουσιαστούν στο χειρουργείο Σύστημα Linux CentOS 6. Ίσως οι πρώτες και πιθανώς πιο δημοφιλείς είναι οι εντολές για τον έλεγχο της κατάστασης του SELinux.

/usr/sbin/getenforce

/usr/sbin/sestatus

Επιστρέψτε τιμές για την εντολή getenforce
Επιβολή– υποδεικνύει ότι το SELinux είναι ενεργοποιημένο και οι κανόνες πολιτικής επιβάλλονται.
Επιτρεπτικός– υποδεικνύει ότι το SELinux είναι ενεργοποιημένο, αλλά οι κανόνες πολιτικής δεν επιβάλλονται και χρησιμοποιούνται μόνο κανόνες DAC.
άτομα με ειδικές ανάγκες– υποδεικνύει ότι το SELinux είναι απενεργοποιημένο.

Επιστροφή τιμών για την εντολή sestatus
Αυτή η εντολή επιστρέφει, εκτός από την κατάσταση SELinux, τη χρησιμοποιούμενη πολιτική SELinux, για παράδειγμα:

$ /usr/sbin/sestatus Κατάσταση SELinux: ενεργοποιημένη Προσάρτηση SELinuxfs: /selinux Τρέχουσα λειτουργία: επιβολή Λειτουργίας από το αρχείο διαμόρφωσης: επιβολή Πολιτικής Έκδοση: 23 Πολιτική από αρχείο διαμόρφωσης: στοχευμένη

Κατάσταση SELinux: ενεργοποιημένο – σημαίνει ότι το SELinux είναι ενεργοποιημένο.
Τρέχουσα λειτουργία: επιβολή – σημαίνει ότι το SELinux είναι ενεργοποιημένο σε αναγκαστική λειτουργία.
Πολιτική από το αρχείο διαμόρφωσης: στοχευμένη – υποδεικνύει ότι χρησιμοποιείται η στοχευμένη πολιτική SELinux.

Ενεργοποίηση SELinux
Ενεργοποιήστε/απενεργοποιήστε το SELinux στο λειτουργικό σύστημα στο αρχείο διαμόρφωσης
/etc/selinux/config

# Αυτό το αρχείο ελέγχει την κατάσταση του SELinux στο σύστημα. # SELINUX= μπορεί να λάβει μία από αυτές τις τρεις τιμές: # enforcing - Η πολιτική ασφαλείας SELinux επιβάλλεται. # επιτρεπτή - Το SELinux εκτυπώνει προειδοποιήσεις αντί να επιβάλλει. # disabled - Δεν έχει φορτωθεί πολιτική SELinux. SELINUX=disabled # SELINUXTYPE= μπορεί να λάβει μία από αυτές τις δύο τιμές: # targeted - Προστατεύονται οι στοχευμένες διεργασίες, # mls - Προστασία ασφαλείας πολλαπλών επιπέδων. SELINUXTYPE=στοχευμένο

Η επιλογή SELINUX=disabled σημαίνει ότι το SELinux είναι απενεργοποιημένο. Πριν ξεκινήσετε το SELinux, πρέπει να εκτελέσετε ορισμένους χειρισμούς.
1. Ελέγξτε την εγκατάσταση των πακέτων SELinux

Rpm -qa | grep selinux rpm -q policycoreutils rpm -qa | grep settroubleshoot

Βεβαιωθείτε επίσης ότι είναι εγκατεστημένα τα ακόλουθα πακέτα: selinux-policy-targeted, selinux-policy, libselinux, libselinux-python, libselinux-utils, policycoreutils, setroubleshoot, setroubleshoot-server, setroubleshoot-plugins. Πακέτα Policycoreutils-gui, setroubleshoot, selinux-policy-devel,Και mcstransπροαιρετικός.
Τα πακέτα που λείπουν μπορούν να εγκατασταθούν χρησιμοποιώντας την εντολή (ως root)

Yum εγκατάσταση πακέτου-όνομα

2. Κάθε αρχείο συστήματος αρχείων πρέπει να επισημανθεί με ένα πλαίσιο SELinux πριν εκτελεστεί. Μέχρι αυτό το σημείο, ενδέχεται να απαγορεύεται η πρόσβαση σε περιορισμένους τομείς, γεγονός που μπορεί να έχει ως αποτέλεσμα τη μη σωστή φόρτωση του λειτουργικού συστήματος. Η κατάσταση μπορεί να διορθωθεί ορίζοντας την επιλογή SELINUX=permissive στο αρχείο διαμόρφωσης /etc/selinux/config.

3. Η σήμανση αρχείου θα εμφανιστεί κατά την επόμενη επανεκκίνηση του συστήματος. Οι ετικέτες για όλα τα αρχεία ορίζονται στο πλαίσιο SELinux κατά τη διάρκεια της διαδικασίας. Στην τελευταία γραμμή, κάθε χαρακτήρας * αντιπροσωπεύει 1000 αρχεία με ετικέτα. Η διάρκεια της διαδικασίας εξαρτάται από τον αριθμό των αρχείων στο σύστημα, καθώς και από την ταχύτητα των δίσκων.

*** Προειδοποίηση -- Απαιτείται νέα ετικέτα στοχευμένης πολιτικής SELinux. *** Η επανασήμανση μπορεί να διαρκέσει πολύ χρόνο, ανάλογα με το μέγεθος του αρχείου *** και την ταχύτητα των σκληρών δίσκων. ****

4. Σε περίπτωση που η πολιτική SELinux δεν εκχωρείται αναγκαστικά και η εργασία εκτελείται σε λειτουργία επέκτασης, τότε οι απαγορεύσεις εγγράφονται στο αρχείο καταγραφής ως ενέργειες που θα απαγορευόταν σε αναγκαστική λειτουργία. Βεβαιωθείτε ότι το SELinux δεν απαγορεύει ενέργειες κατά την τελευταία εκκίνηση του συστήματος. Για να το κάνετε αυτό, εκτελέστε την εντολή

Grep "Το SELinux αποτρέπει" /var/log/messages

Η έξοδος πρέπει να είναι κενή, πράγμα που σημαίνει ότι όλα είναι καλά και το SELinux δεν απαγορεύει την ενέργεια.
5. Αφού βεβαιωθείτε ότι δεν υπάρχουν μηνύματα σχετικά με απαγορεύσεις στα αρχεία καταγραφής, ορίστε την παράμετρο SELINUX στην επιβολή (αρχείο /etc/selinux/config):

# Αυτό το αρχείο ελέγχει την κατάσταση του SELinux στο σύστημα. # SELINUX= μπορεί να λάβει μία από αυτές τις τρεις τιμές: # enforcing - Η πολιτική ασφαλείας SELinux επιβάλλεται. # επιτρεπτή - Το SELinux εκτυπώνει προειδοποιήσεις αντί να επιβάλλει. # disabled - Δεν έχει φορτωθεί πολιτική SELinux. Το SELINUX=ενίσχυση # SELINUXTYPE= μπορεί να λάβει μία από αυτές τις δύο τιμές: # targeted - Προστατεύονται οι στοχευμένες διεργασίες, # mls - Προστασία ασφαλείας πολλαπλών επιπέδων. SELINUXTYPE=στοχευμένο

6. Μετά από αυτό λειτουργικό σύστημαπρέπει να επανεκκινηθεί. Μετά την επανεκκίνηση, πρέπει να ελέγξετε την τιμή επιστροφής Enforcing με την εντολή getenforce.

$ /usr/sbin/getenforce Επιβολή

7. Για να προβάλετε τις αντιστοιχίσεις μεταξύ του SELinux και των χρηστών του συστήματος, εκτελέστε την εντολή

/usr/sbin/semanage login –l

Η έξοδος της εντολής θα πρέπει να είναι η εξής:

Όνομα σύνδεσης SELinux Χρήστης Εύρος MLS/MCS __default__ unconfined_u s0-s0:c0.c1023 root unconfined_u s0-s0:c0.c1023 system_u system_u s0-s0:c0.c1023

Υπάρχουν ορισμένα χαρακτηριστικά που πρέπει επίσης να ληφθούν υπόψη. Όταν το SELinux είναι απενεργοποιημένο, τα αρχεία που δημιουργούνται από το χρήστη δεν επισημαίνονται και ως εκ τούτου ενδέχεται να προκύψουν προβλήματα όταν τεθούν σε κατάσταση επιβολής. Τα αρχεία θα επισημαίνονται αλλάζοντας την επιλογή από απενεργοποιημένη σε λειτουργία επιτρεπόμενης/επιβολής, αποτρέποντας έτσι το πρόβλημα εμφάνισης μη επισημασμένων αρχείων.

Έχουμε ήδη γράψει για το SELinux στο Habré, ωστόσο, δεν έχουν δημοσιευτεί πολλά λεπτομερή εγχειρίδια για αυτό το σύστημα. Σήμερα δημοσιεύουμε ένα τόσο λεπτομερές εγχειρίδιο για το SELinux, ξεκινώντας από πληροφορίες για το σύστημα και τελειώνοντας με την ευέλικτη διαμόρφωση των πολιτικών.
Για να μην μετατραπεί η ανάρτηση σε ένα «φύλλο» που είναι δύσκολο να κατανοηθεί, αποφασίσαμε να χωρίσουμε το εγχειρίδιο σε δύο μέρη. Το πρώτο θα μιλήσει για το ίδιο το σύστημα και μερικά από τα χαρακτηριστικά του. Το δεύτερο αφορά τη διαμόρφωση πολιτικών. Τώρα δημοσιεύουμε το πρώτο μέρος, το δεύτερο μέρος θα δημοσιευτεί λίγο αργότερα.

1. Εισαγωγή

Το SELinux (SELinux) είναι ένα σύστημα ελέγχου αναγκαστικής πρόσβασης που υλοποιείται σε επίπεδο πυρήνα. Αυτό το σύστημα εμφανίστηκε για πρώτη φορά στην τέταρτη έκδοση του CentOS και στις εκδόσεις 5 και 6 η υλοποίηση συμπληρώθηκε και βελτιώθηκε σημαντικά. Αυτές οι βελτιώσεις επέτρεψαν στο SELinux να γίνει ένα καθολικό σύστημα ικανό να λύνει αποτελεσματικά πολλά τρέχοντα προβλήματα. Αξίζει να θυμάστε ότι το κλασικό σύστημα δικαιωμάτων Unix εφαρμόζεται πρώτα και ο έλεγχος θα περάσει στο SELinux μόνο εάν αυτός ο αρχικός έλεγχος είναι επιτυχής.

1.1 Μερικά τρέχοντα προβλήματα.

Για να κατανοήσουμε την πρακτική αξία του SELinux, ας δούμε μερικά παραδείγματα όπου ένα τυπικό σύστημα ελέγχου πρόσβασης δεν αρκεί. Εάν το SELinux είναι απενεργοποιημένο, τότε έχετε πρόσβαση μόνο στον κλασικό διακριτικό έλεγχο πρόσβασης, ο οποίος περιλαμβάνει DAC (διακριτικός έλεγχος πρόσβασης) ή ACL (λίστες ελέγχου πρόσβασης). Αυτό είναι μιλάμε γιασχετικά με τον χειρισμό δικαιωμάτων εγγραφής, ανάγνωσης και εκτέλεσης σε επίπεδο χρηστών και ομάδων χρηστών, τα οποία σε ορισμένες περιπτώσεις μπορεί να είναι εντελώς ανεπαρκή. Για παράδειγμα:

- Ο διαχειριστής δεν μπορεί να ελέγξει πλήρως τις ενέργειες του χρήστη. Για παράδειγμα, είναι απολύτως δυνατό για έναν χρήστη να δώσει σε όλους τους άλλους χρήστες δικαιώματα ανάγνωσης για τα δικά τους ευαίσθητα αρχεία, όπως τα κλειδιά SSH.

Οι διαδικασίες μπορούν να αλλάξουν τις ρυθμίσεις ασφαλείας. Για παράδειγμα, τα αρχεία που περιέχουν την αλληλογραφία ενός χρήστη θα πρέπει να είναι αναγνώσιμα από έναν μόνο συγκεκριμένο χρήστη, αλλά το πρόγραμμα-πελάτη αλληλογραφίας μπορεί κάλλιστα να αλλάξει τα δικαιώματα πρόσβασης, ώστε αυτά τα αρχεία να είναι αναγνώσιμα από όλους.

Οι διεργασίες κληρονομούν τα δικαιώματα του χρήστη που τις εκκίνησε. Για παράδειγμα, μια έκδοση μολυσμένη με Trojan Πρόγραμμα περιήγησης Firefoxείναι σε θέση να διαβάσει τα κλειδιά SSH του χρήστη, αν και δεν έχει λόγο να το κάνει.

Ουσιαστικά, στο παραδοσιακό μοντέλο επιλεκτικού ελέγχου πρόσβασης (DAC), μόνο δύο επίπεδα πρόσβασης εφαρμόζονται καλά - χρήστης και υπερχρήστης. Οχι απλή μέθοδος, που θα επέτρεπε σε κάθε χρήστη να έχει τα απαιτούμενα ελάχιστα προνόμια.
Φυσικά, υπάρχουν πολλές μέθοδοι για την αντιμετώπιση αυτών των προβλημάτων στο κλασικό μοντέλο ασφαλείας, αλλά καμία από αυτές δεν είναι καθολική.

1.1.1 Βασικοί όροι που χρησιμοποιούνται στο SELinux:

Τομέα- μια λίστα ενεργειών που μπορεί να εκτελέσει μια διεργασία. Συνήθως, ένας τομέας ορίζεται ως το ελάχιστο δυνατό σύνολο ενεργειών μέσω των οποίων μπορεί να λειτουργήσει μια διεργασία. Με αυτόν τον τρόπο, εάν η διαδικασία απαξιωθεί, ο εισβολέας δεν θα μπορεί να κάνει πολύ κακό.

Ρόλος- μια λίστα τομέων που μπορούν να εφαρμοστούν. Εάν ένας συγκεκριμένος τομέας δεν βρίσκεται στη λίστα τομέων για έναν ρόλο, τότε δεν μπορούν να εφαρμοστούν ενέργειες από αυτόν τον τομέα.

Τύπος- ένα σύνολο ενεργειών που επιτρέπονται σε σχέση με ένα αντικείμενο. Ένας τύπος διαφέρει από έναν τομέα στο ότι μπορεί να εφαρμοστεί σε σωλήνες, καταλόγους και αρχεία, ενώ ένας τομέας εφαρμόζεται σε διεργασίες.

Πλαίσιο ασφαλείας- όλα τα χαρακτηριστικά SELinux - ρόλοι, τύποι και τομείς.

1.2 Επίλυση των προβλημάτων του παραδοσιακού μοντέλου ασφάλειας.

Το SELinux ακολουθεί πολύ πιο αυστηρά το μοντέλο των ελάχιστων απαιτούμενων προνομίων για κάθε υπηρεσία, χρήστη και πρόγραμμα. Από προεπιλογή, ορίζεται η "απαγορευτική λειτουργία", όταν κάθε στοιχείο του συστήματος έχει μόνο εκείνα τα δικαιώματα που είναι ζωτικής σημασίας για τη λειτουργία του. Εάν ένας χρήστης, πρόγραμμα ή υπηρεσία προσπαθήσει να αλλάξει ένα αρχείο ή να αποκτήσει πρόσβαση σε έναν πόρο που δεν είναι σαφώς απαραίτητος για την επίλυσή του, τότε απλώς θα του απαγορεύεται η πρόσβαση και μια τέτοια προσπάθεια θα καταγραφεί.

Το SELinux υλοποιείται σε επίπεδο πυρήνα, επομένως οι εφαρμογές εφαρμογών ενδέχεται να μην γνωρίζουν απολύτως τίποτα για την έκδοση αυτού του συστήματος ελέγχου υποχρεωτικής πρόσβασης, τις δυνατότητες λειτουργίας του κ.λπ. Εάν ρυθμιστεί σωστά, το SELinux δεν θα επηρεάσει τη λειτουργία με κανέναν τρόπο προγράμματα τρίτωνκαι υπηρεσίες. Αν και, εάν η εφαρμογή είναι σε θέση να υποκλέψει μηνύματα σφάλματος από αυτό το σύστημα ελέγχου πρόσβασης, η ευκολία χρήσης της εφαρμογής αυξάνεται σημαντικά. Πράγματι, εάν γίνει προσπάθεια πρόσβασης σε έναν προστατευμένο πόρο ή αρχείο, το SELinux στέλνει ένα σφάλμα από την οικογένεια "απαγορεύεται η πρόσβαση" στην κύρια εφαρμογή. Ωστόσο, λίγες εφαρμογές χρησιμοποιούν κωδικούς επιστροφής κλήσεων συστήματος που λαμβάνονται από το SELinux.

Ακολουθούν μερικά παραδείγματα χρήσης του SELinux για να δείξετε πώς μπορείτε να βελτιώσετε την ασφάλεια ολόκληρου του συστήματός σας.

- Δημιουργία και διαμόρφωση λίστας προγραμμάτων που μπορούν να διαβάσουν κλειδιά ssh.

Αποτροπή μη εξουσιοδοτημένης πρόσβασης σε δεδομένα μέσω προγράμματος-πελάτη αλληλογραφίας.

Διαμόρφωση του προγράμματος περιήγησης έτσι ώστε να μπορεί να διαβάζει μόνο τα αρχεία και τους φακέλους που είναι απαραίτητοι για τη λειτουργία στον αρχικό φάκελο του χρήστη.

2. Τρόποι λειτουργίας SELinux

Το SELinux έχει τρεις βασικούς τρόπους λειτουργίας, με τον τρόπο επιβολής να έχει οριστεί από προεπιλογή. Αυτή είναι μια αρκετά αυστηρή λειτουργία και, εάν είναι απαραίτητο, μπορεί να αλλάξει σε κάτι πιο βολικό για τον τελικό χρήστη.

Επιβολή: Προεπιλεγμένη λειτουργία. Όταν επιλεγεί αυτή η λειτουργία, όλες οι ενέργειες που παραβιάζουν κατά κάποιο τρόπο την τρέχουσα πολιτική ασφαλείας θα αποκλειστούν και η απόπειρα παραβίασης θα καταγραφεί στο αρχείο καταγραφής.

Επιτρεπτικός: Όταν χρησιμοποιείτε αυτήν τη λειτουργία, πληροφορίες σχετικά με όλες τις ενέργειες που παραβιάζουν την τρέχουσα πολιτική ασφαλείας θα καταγράφονται στο αρχείο καταγραφής, αλλά οι ίδιες οι ενέργειες δεν θα αποκλειστούν.

άτομα με ειδικές ανάγκες: Πλήρης απενεργοποίηση του συστήματος ελέγχου αναγκαστικής πρόσβασης.

Μπορείτε να προβάλετε την τρέχουσα λειτουργία και άλλες ρυθμίσεις SELinux (και, εάν χρειάζεται, να την αλλάξετε) χρησιμοποιώντας ένα ειδικό εργαλείο GUI που είναι διαθέσιμο στο μενού Διαχείριση (system-config-selinux). Εάν έχετε συνηθίσει να εργάζεστε στην κονσόλα, μπορείτε να δείτε την τρέχουσα κατάσταση με την εντολή sestatus.

# sestatus Κατάσταση SELinux: ενεργοποιημένη Προσάρτηση SELinuxfs: /selinux Τρέχουσα λειτουργία: επιβολή Λειτουργίας από το αρχείο διαμόρφωσης: επιβολή Πολιτικής Έκδοση: 21 Πολιτική από αρχείο διαμόρφωσης: στοχευμένη

Μπορείτε επίσης να μάθετε την κατάσταση του SELinux χρησιμοποιώντας την εντολή getenforce.
Η εντολή "setenforce" σάς επιτρέπει να κάνετε γρήγορη εναλλαγή μεταξύ των λειτουργιών Enforcing και Permissive, οι αλλαγές τίθενται σε ισχύ χωρίς επανεκκίνηση. Αλλά εάν ενεργοποιήσετε ή απενεργοποιήσετε το SELinux, απαιτείται επανεκκίνηση επειδή οι ετικέτες ασφαλείας πρέπει να εγκατασταθούν ξανά στο σύστημα αρχείων.
Για να επιλέξετε την προεπιλεγμένη λειτουργία που θα εφαρμόζεται κάθε φορά που εκκινείται το σύστημα, ορίστε την τιμή της γραμμής "SELINUX=" στο αρχείο /etc/selinux/config, προσδιορίζοντας μία από τις λειτουργίες - "inforcing", "permissive" ή " άτομα με ειδικές ανάγκες" . Για παράδειγμα: "SELINUX=επιτρεπτό".

3. Πολιτικές SELinux

Όπως αναφέρθηκε προηγουμένως, το SELinux από προεπιλογή λειτουργεί σε κατάσταση επιβολής, όταν οποιεσδήποτε άλλες ενέργειες εκτός από αυτές που επιτρέπονται αποκλείονται αυτόματα, κάθε πρόγραμμα, χρήστης ή υπηρεσία έχει μόνο εκείνα τα προνόμια που χρειάζονται για να λειτουργήσει, αλλά τίποτα περισσότερο. Αυτή είναι μια μάλλον σκληρή πολιτική, η οποία έχει και τα δύο πλεονεκτήματα - το υψηλότερο επίπεδο ασφάλεια πληροφοριών, και μειονεκτήματα - η διαμόρφωση του συστήματος σε αυτήν τη λειτουργία σχετίζεται με μεγάλο κόστος εργασίας για τους διαχειριστές συστήματος, επιπλέον, υπάρχει μεγάλος κίνδυνος οι χρήστες να αντιμετωπίσουν περιορισμούς πρόσβασης εάν θέλουν να χρησιμοποιήσουν το σύστημα με οποιονδήποτε μη τετριμμένο τρόπο. Αυτή η προσέγγιση είναι αποδεκτή στον τομέα των επιχειρήσεων, αλλά δεν είναι αποδεκτή σε υπολογιστές τελικού χρήστη. Πολλοί διαχειριστές απλώς απενεργοποιούν το SELinux στους σταθμούς εργασίας τους για να αποφύγουν τέτοια προβλήματα.

Για να αποφευχθεί αυτό, για βασικές εφαρμογέςκαι υπηρεσίες, όπως, για παράδειγμα, httpd, named, dhcpd, mysqld, ορίζονται προρυθμισμένες πολιτικές στόχου που δεν θα επιτρέπουν σε έναν εισβολέα να αποκτήσει πρόσβαση σε σημαντικά δεδομένα. Οι εφαρμογές για τις οποίες δεν έχει οριστεί η πολιτική εκτελούνται στον τομέα unconfined_t και δεν προστατεύονται από το SELinux. Έτσι, οι σωστά επιλεγμένες πολιτικές στόχου σάς επιτρέπουν να επιτύχετε ένα αποδεκτό επίπεδο ασφάλειας χωρίς να δημιουργείτε περιττά προβλήματα στον χρήστη.

4. Έλεγχος πρόσβασης στο SELinux

Το SELinux παρέχει τα ακόλουθα μοντέλα ελέγχου πρόσβασης:

Type Enforcement (TE): Ο πρωτεύων μηχανισμός ελέγχου πρόσβασης που χρησιμοποιείται στις πολιτικές στόχου. Σας επιτρέπει να διαχειρίζεστε τα δικαιώματα λεπτομερώς, στο χαμηλότερο επίπεδο. Το πιο ευέλικτο, αλλά και το πιο εργατικό για διαχειριστής συστήματοςμηχανισμός.

Έλεγχος πρόσβασης βάσει ρόλου (RBAC): Σε αυτό το μοντέλο, τα δικαιώματα πρόσβασης υλοποιούνται ως ρόλοι. Ένας ρόλος είναι η άδεια εκτέλεσης συγκεκριμένων ενεργειών από ένα ή περισσότερα στοιχεία του συστήματος σε άλλα μέρη του συστήματος. Ουσιαστικά, το RBAC είναι μια περαιτέρω εξέλιξη του ΤΕ.

Ασφάλεια πολλαπλών επιπέδων (MLS): ένα μοντέλο ασφαλείας πολλαπλών επιπέδων στο οποίο όλα τα αντικείμενα του συστήματος έχουν εκχωρηθεί ένα ορισμένο επίπεδο πρόσβασης. Η άδεια ή η άρνηση πρόσβασης καθορίζεται μόνο από τη σχέση μεταξύ αυτών των επιπέδων.

Όλες οι διαδικασίες και τα αρχεία εντός του SELinux έχουν ένα πλαίσιο ασφαλείας.
Ας δούμε το πλαίσιο στην πράξη ρίχνοντας μια πιο προσεκτική ματιά αρχική σελίδαΔιακομιστής ιστού Apache που βρίσκεται στη διεύθυνση /var/www/html/index.html

$ ls -Z /var/www/html/index.html -rw-r--r-- όνομα χρήστη όνομα χρήστη system_u:object_r:httpd_sys_content_t /var/www/html/index.html

Εκτός από τα τυπικά δικαιώματα αρχείων, μπορούμε να δούμε το περιβάλλον ασφαλείας του SELinux: system_u: object_r: httpd_sys_content_t.

Το περιβάλλον βασίζεται στο user:role:type:mls, αλλά τα πεδία user:role:type εμφανίζονται ενώ το πεδίο mls είναι κρυφό. Μπορούμε επίσης να δούμε την πολιτική προορισμού, σε αυτήν την περίπτωση httpd_sys_content_t.

Τώρα ας δούμε το πλαίσιο ασφαλείας του SELinux για τη διαδικασία "httpd" (διακομιστής ιστού Apache):

$ps axZ | grep httpd system_u:system_r:httpd_t 3234 ? Ss 0:00 /usr/sbin/httpd

Όπως μπορούμε να δούμε, αυτή η διαδικασία εκτελείται στον τομέα httpd_t.

Λοιπόν, τώρα ας δούμε το πλαίσιο ασφαλείας ενός αρχείου στον αρχικό μας κατάλογο:

$ ls -Z /home/username/myfile.txt -rw-r--r-- όνομα χρήστη όνομα χρήστη user_u:object_r:user_home_t /home/username/myfile.txt

Βλέπουμε ότι το αρχείο είναι του τύπου user_home_t, αυτός ο τύπος εκχωρείται από προεπιλογή σε όλα τα αρχεία στον αρχικό κατάλογο.
Η πρόσβαση επιτρέπεται μόνο μεταξύ στοιχείων του ίδιου τύπου, γι' αυτό ο διακομιστής ιστού Apache μπορεί εύκολα να διαβάσει το αρχείο /var/www/html/index.html, το οποίο είναι του τύπου httpd_sys_content_t. Ταυτόχρονα, δεδομένου ότι ο Apache εκτελείται στον τομέα httpd_t και δεν έχει συμπληρωμένα τα πεδία userid:username, δεν μπορεί να έχει πρόσβαση στο αρχείο home/username/myfile.txt, αν και αυτό το αρχείο είναι αναγνώσιμο από διεργασίες που δεν έχουν καθορισμένος στόχος. πολιτική. Με αυτόν τον τρόπο, εάν ο διακομιστής ιστού Apache παραβιαστεί, ο εισβολέας δεν θα μπορεί να έχει πρόσβαση σε αρχεία ή να εκτελεί διαδικασίες που δεν βρίσκονται στον τομέα httpd_t.

5. Αντιμετώπιση προβλημάτων SELinux

Αργά ή γρήγορα θα υπάρξει μια κατάσταση όπου θα βρεθείτε αντιμέτωποι με μια κατάσταση όπου το SELinux σας αρνείται την πρόσβαση σε κάτι. Υπάρχουν διάφοροι κύριοι λόγοι για την άρνηση πρόσβασης:

Αρχείο με λανθασμένη ετικέτα.
- Η διαδικασία εκτελείται σε λάθος πλαίσιο
- Σφάλμα στην πολιτική. Η διαδικασία απαιτεί πρόσβαση σε ένα αρχείο που δεν ελήφθη υπόψη κατά τη δημιουργία της πολιτικής.
- Απόπειρα εισβολής.

Οι τρεις πρώτοι λόγοι άρνησης πρόσβασης επιλύονται αρκετά εύκολα, ενώ κατά τη διάρκεια μιας προσπάθειας εισβολής ηχεί συναγερμός και αποστέλλεται αντίστοιχη ειδοποίηση στον χρήστη.
Για να αντιμετωπίσετε οποιοδήποτε πρόβλημα, απλώς κοιτάξτε το αρχείο καταγραφής του SELinux. Από προεπιλογή, γράφεται από την ελεγχόμενη διαδικασία στο αρχείο /var/log/audit/audit.log. Εάν αυτή η διαδικασία δεν εκτελείται, τότε το SELinux καταγράφει το αρχείο /var/log/messages, οπότε όλα τα μηνύματα συστήματος ελέγχου πρόσβασης επισημαίνονται με το κλειδί AVC, το οποίο σας επιτρέπει να φιλτράρετε γρήγορα τις απαραίτητες γραμμές, για παράδειγμα. χρησιμοποιώντας την εντολή grep.
ΣΕ πιο πρόσφατες εκδόσειςδιανομές (ξεκινώντας από το CentOS 5), ένα βοηθητικό πρόγραμμα με γραφική διεπαφήχρήστη, που σας επιτρέπει να εμφανίσετε το αρχείο καταγραφής SELinux σε μια βολική και φιλική προς το χρήστη μορφή. Μπορείτε να το καλέσετε από την κονσόλα πληκτρολογώντας sealert -b. Το βοηθητικό πρόγραμμα είναι μέρος του πακέτου setroubleshoot. Εάν ο διακομιστής X δεν εκτελείται, μπορείτε να δημιουργήσετε αναφορές αναγνώσιμες από τον άνθρωπο με την ακόλουθη εντολή:

Sealert -a /var/log/audit/audit.log > /path/to/mylogfile.txt

5.1 Αλλαγή ετικετών περιβάλλοντος ασφαλείας αρχείων.

Η εντολή "chcon" σάς επιτρέπει να αλλάξετε το περιβάλλον SELinux των αρχείων ή των καταλόγων με τον ίδιο ακριβώς τρόπο που οι εντολές "chown" και "chmod" σας επιτρέπουν να αλλάξετε τον ιδιοκτήτη ή τα δικαιώματα ενός αρχείου εντός τυπικό σύστημαέλεγχος πρόσβασης.

Ας δούμε μερικά παραδείγματα.
Ας υποθέσουμε ότι ο διακομιστής ιστού Apache είναι εγκατεστημένος στο σύστημα και πρέπει να αλλάξουμε τον φάκελο στον οποίο είναι αποθηκευμένοι οι ιστότοποι (από προεπιλογή είναι /var/www/html/) σε, ας πούμε, /html/ και να δημιουργήσουμε ένα ευρετήριο. html σε αυτόν τον κατάλογο.
# mkdir /html # touch /html/index.html # ls -Z /html/index.html -rw-r--r-- root root user_u:object_r:default_t /html/index.html # ls -Z | grep html drwxr-xr-x root user_u:object_r:default_t html

Παραπάνω βλέπουμε ότι τόσο ο κατάλογος /html όσο και το αρχείο /html/index.html εντός του περιβάλλοντος ασφαλείας είναι τύπου default_t. Αυτό σημαίνει ότι αν ξεκινήσουμε τον Apache και προσπαθήσουμε να δουλέψουμε με αυτόν τον κατάλογο ή αρχείο, το SELinux θα μας αρνηθεί την πρόσβαση. Και αυτό θα είναι απολύτως σωστό, επειδή το σωστό πλαίσιο ασφαλείας για αρχεία που αλληλεπιδρούν με τον Apache είναι το httpd_sys_content_t.
Ας αλλάξουμε το πλαίσιο και ας ελέγξουμε αν όλα γίνονται σωστά:

# chcon -v --type=httpd_sys_content_t /html περιβάλλον του /html άλλαξε σε user_u:object_r:httpd_sys_content_t # chcon -v --type=httpd_sys_content_t /html/index.html περιβάλλον του /html/index.html άλλαξε σε user_u:object_r :httpd_sys_content_t # ls -Z /html/index.html -rw-r--r-- root root user_u:object_r:httpd_sys_content_t /html/index.html # ls -Z | grep html drwxr-xr-x root root user_u:object_r:httpd_sys_content_t html
Δεν είναι απαραίτητο να επεξεργαστείτε με μη αυτόματο τρόπο κάθε αρχείο και κάθε κατάλογο, μπορείτε απλώς να χρησιμοποιήσετε την επιλογή αναδρομικής διέλευσης καταλόγου -R:

# chcon -Rv --type=httpd_sys_content_t /html

Τέτοιες αλλαγές στο πλαίσιο ασφαλείας θα συνεχιστούν μεταξύ των επανεκκινήσεων, ωστόσο, εάν αλλάξουν οι ετικέτες του συστήματος αρχείων, οι αλλαγές θα χαθούν. Κατά τη συντήρηση και τη λειτουργία, αυτό δεν είναι ασυνήθιστο. Η σωστή λύση σε μια τέτοια κατάσταση θα ήταν (μετά από δοκιμή, φυσικά) να δημιουργήσετε έναν πρόσθετο κανόνα και στη συνέχεια να τον συνδυάσετε με τοπικούς τοπικούς κανόνες. Έτσι, θα έχει μεγαλύτερη προτεραιότητα από τους βασικούς κανόνες.

Προκειμένου το SELinux να λειτουργεί σωστά ακόμη και μετά την αλλαγή των ετικετών του συστήματος αρχείων, μπορούμε να χρησιμοποιήσουμε και τα δύο εργαλεία για τη διαχείριση του SELinux με διεπαφή GUI και το βοηθητικό πρόγραμμα κονσόλας semanage:

Διαχείριση fcontext -a -t httpd_sys_content_t "/html(/.*)?"

Στο παραπάνω παράδειγμα, εκχωρήσαμε το περιβάλλον httpd_sys_content_t σε όλα τα αρχεία που βρίσκονται στον κατάλογο /html.

5.2 Επαναφορά του περιβάλλοντος ασφαλείας SELinux.

Η εντολή "restorecon" σάς επιτρέπει να αλλάξετε το περιβάλλον ασφαλείας σε αυτό που έχει εκχωρηθεί από προεπιλογή.
Και πάλι χρησιμοποιούμε τον διακομιστή ιστού Apache ως παράδειγμα. Ας υποθέσουμε ότι ο χρήστης επεξεργάστηκε ένα αντίγραφο του αρχείου index.html στον αρχικό του κατάλογο και το μετέφερε (με την εντολή mv) στον κατάλογο στον οποίο είναι αποθηκευμένοι οι ιστότοποι (/var/www/html).

Λάβετε υπόψη ότι κατά την αντιγραφή (εντολή cp), το περιβάλλον ασφαλείας του αρχείου θα συμπίπτει με το περιβάλλον του καταλόγου προορισμού, ενώ κατά τη μετακίνηση, το περιβάλλον ασφαλείας θα συμπίπτει με το πλαίσιο προέλευσης. Φυσικά, θα μπορούσαμε να χρησιμοποιήσουμε την εντολή chcon για να αλλάξουμε το περιβάλλον ασφαλείας, αλλά επειδή τα αρχεία που μετακινήθηκαν βρίσκονται τώρα στον κατάλογο /var/www/html, μπορούμε απλώς να επαναφέρουμε τις ρυθμίσεις περιβάλλοντος για όλα τα αρχεία που βρίσκονται σε αυτόν τον κατάλογο.

Για να επαναφέρουμε το περιβάλλον μόνο για το αρχείο index.html, μπορούμε να χρησιμοποιήσουμε την εντολή:

# restorecon -v /var/www/html/index.html

Εάν θέλουμε να διασχίσουμε αναδρομικά ολόκληρο τον κατάλογο και να αλλάξουμε το περιβάλλον για όλα τα αρχεία που περιέχει, χρησιμοποιούμε την ακόλουθη εντολή:

# restorecon -Rv /var/www/html

5.3 Αλλαγή ετικετών για ολόκληρο το σύστημα αρχείων.

Μερικές φορές είναι απαραίτητο να επαναρυθμίσετε τις ετικέτες ασφαλείας σε ολόκληρο το σύστημα αρχείων. Τις περισσότερες φορές, αυτή η λειτουργία εκτελείται κατά την εκ νέου ενεργοποίηση του SELinux αφού το σύστημα έχει απενεργοποιηθεί για κάποιο χρονικό διάστημα. Αυτό είναι επίσης απαραίτητο εάν αλλάξουμε τον τύπο διαχείρισης πολιτικής σε αυστηρό (σε αυτήν την περίπτωση, όλες οι διεργασίες λειτουργούν στους δικούς τους ειδικούς τομείς, κανείς δεν μπορεί να εργαστεί στον τομέα unconfined_t).

Για αυτόματη αναδιαμέριση σύστημα αρχείωντην επόμενη φορά που θα κάνετε επανεκκίνηση, πληκτρολογήστε τις ακόλουθες εντολές:
# touch /.autorelabel # επανεκκίνηση
Μερικές φορές η αυτόματη αναδιαμέριση δεν λειτουργεί (τις περισσότερες φορές σε περιπτώσεις όπου ενημερώθηκε το κιτ διανομής με απενεργοποιημένο το SELinux). Σε αυτήν την περίπτωση, χρησιμοποιήστε την ακόλουθη εντολή:

# genhomedircon # touch /.autorelabel # επανεκκίνηση

5.4 Παροχή πρόσβασης σε λιμάνια.

Συχνά θέλουμε υπηρεσίες όπως το Apache να μπορούν να ακούν σε μη τυπικές θύρες και να δέχονται εισερχόμενες συνδέσεις σε αυτές. Οι βασικές πολιτικές SELinux επιτρέπουν την πρόσβαση μόνο σε προκαθορισμένες θύρες που είναι κωδικοποιημένες σε μια συγκεκριμένη υπηρεσία. Ας υποθέσουμε ότι θέλουμε ο Apache να ακούει στη θύρα 81. Σε αυτήν την περίπτωση, πρέπει να προσθέσουμε έναν κανόνα χρησιμοποιώντας την εντολή semanage:

# semanage port -a -t http_port_t -p tcp 81

Μια πλήρης λίστα θυρών στις οποίες παρέχει πρόσβαση το SELinux μπορεί να προβληθεί ως εξής:

# semanage port -l

Στο επόμενο, δεύτερο μέρος του εγχειριδίου, θα δείξουμε τη δυνατότητα ευέλικτης διαμόρφωσης των πολιτικών συστήματος.

Το Linux-Enhanced Security (SELinux) είναι ένας μηχανισμός χαρακτηριστικών στο Linux που παρέχει υποστήριξη για πολιτικές ασφαλείας ελέγχου πρόσβασης.

Το SELinux μπορεί να δημιουργήσει κανόνες για την πρόσβαση χρηστών ή βοηθητικών προγραμμάτων, γεγονός που καθιστά δυνατό τον περιορισμό ορισμένων δυνατοτήτων πρόσβασης των βοηθητικών προγραμμάτων ορίζοντας αυτές τις δυνατότητες και τη συμπεριφορά τους με τη μορφή κανόνων, και το λειτουργικό σύστημα που χρησιμοποιεί το SELinux θα παρακολουθεί τη συμμόρφωση με αυτούς τους κανόνες. Σε αυτό το θέμα θα σας πω πώς να απενεργοποιήσετε ή να ενεργοποιήσετε το SELinux στο CentOS. Ορισμένες διανομές έχουν ενεργοποιημένο το SELinux από προεπιλογή, το οποίο μπορεί να προκαλέσει κάποια ανεπιθύμητη συμπεριφορά από την πλευρά του, εάν δεν καταλαβαίνετε πώς λειτουργεί το SELinux ή πώς να το ρυθμίσετε.

Για να απενεργοποιήσετε το SELinux, μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις 4 διαφορετικές μεθόδους που αναφέρονται σε αυτό το άρθρο.

Το SELinux θα επιβάλει πολιτικές ασφαλείας, συμπεριλαμβανομένων των υποχρεωτικών στοιχείων ελέγχου πρόσβασης που ορίζονται στον πυρήνα του Linux. Κάθε αρχείο και διεργασία στο σύστημα θα φέρει ετικέτα με συγκεκριμένες συντομεύσεις που θα χρησιμοποιηθούν από το SELinux. Μπορείτε να χρησιμοποιήσετε την εντολή και να προβάλετε αυτές τις συντομεύσεις όπως φαίνεται παρακάτω:

# ls -Z /etc/

Δεν είναι πλήρης λίσταπου ανέφερα, μπορεί να είναι διαφορετικό για εσάς.

1η μέθοδος απενεργοποίησης του SELinux στο CentOS. Προσωρινά.

Για να απενεργοποιήσετε προσωρινά το SELinux, πρέπει να επεξεργαστείτε το /selinux/enforce όπως φαίνεται παρακάτω. Λάβετε υπόψη ότι αυτή η επιλογή δεν θα υπάρχει πλέον μετά την επανεκκίνηση του συστήματος.

Και έτσι, ας ελέγξουμε ποια κατάσταση έχει το SELinux στον διακομιστή:

# cat /selinux/enforce 1

Ή, μπορείτε να χρησιμοποιήσετε:

# /usr/sbin/sestatus Κατάσταση SELinux: ενεργοποιημένη προσάρτηση SELinuxfs: /selinux Τρέχουσα λειτουργία: επιτρεπτή Λειτουργία από το αρχείο διαμόρφωσης: επιβολή Πολιτικής Έκδοση: 24 Πολιτική από αρχείο διαμόρφωσης: στοχευμένη

Αυτό σημαίνει ότι είναι ενεργοποιημένο. Για να το απενεργοποιήσετε, χρησιμοποιήστε την ακόλουθη εντολή:

# echo 0 > /selinux/enforce

Και ας ελέγξουμε ξανά:

# cat /selinux/enforce 0

Πιθανές επιλογές για το tenforce είναι:

  • 1 (ενεργοποίηση).
  • 0 (απενεργοποίηση).

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή setenforce όπως φαίνεται παρακάτω για να απενεργοποιήσετε το SELinux. Ακολουθεί ένα παράδειγμα αυτής της εντολής:

#setenforce 0

Ή, θα δώσω μια άλλη περίπτωση χρήσης:

# setenforce Επιτρεπτή

ΥΓ: Για έλεγχο, υπάρχει μια άλλη εξαιρετική εντολή:

# getenforce Επιτρεπτή

2η μέθοδος απενεργοποίησης του SELinux στο CentOS. Μια για πάντα!

Ας ελέγξουμε την κατάσταση του SELinux στο CentOS.

# cat /etc/selinux/config

Το έχω ενεργοποιημένο, θέλω να το απενεργοποιήσω, τότε για να γίνει αυτό πρέπει να ανοίξετε το config και να γράψετε:

# vim /etc/selinux/config

Πρέπει να βρείτε:

SELINUX=ενεργοποιημένο

Αντικαταστάθηκε από:

Όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:

Μετά από αυτό πρέπει να επανεκκινήσουμε το λειτουργικό μας σύστημα:

# επανεκκίνηση

3η μέθοδος. Απενεργοποίηση του SELinux στον ίδιο τον φορτωτή εκκίνησης του Grub.

Εάν δεν μπορείτε να βρείτε το /etc/selinux/config στο σύστημά σας, μπορείτε να απενεργοποιήσετε το SELinux περνώντας μια παράμετρο στον φορτωτή εκκίνησης GRUB όπως φαίνεται παρακάτω.

# cat /boot/grub/grub.conf

4η μέθοδος. Απενεργοποίηση μόνο μιας συγκεκριμένης υπηρεσίας στο SELinux - HTTP/Apache

Εάν δεν σας ενδιαφέρει να απενεργοποιήσετε όλο το SELinux, μπορείτε επίσης να απενεργοποιήσετε το SELinux μόνο για μια συγκεκριμένη υπηρεσία. Για παράδειγμα, θέλετε να απενεργοποιήσετε το SELinux για την εξυπηρέτηση HTTP/Apache και, στη συνέχεια, πρέπει να αλλάξετε τη μεταβλητή httpd_disable_trans στο /etc/selinux/targeted/booleans.




Μπλουζα