Sicherheitsverstärktes Linux (SELinux)ist eine erweiterte Sicherheitsarchitektur, die in den Linux-Kernel integriert ist und eine obligatorische Zugriffskontrolle (MAC) bietet. 2026 In der digitalen Welt, in der Cyber-Bedrohungen zunehmen, ist dies die effektivste Möglichkeit, Ihre Server mit dem Zero-Trust-Prinzip zu schützen.
In diesem Leitfaden; Sie lernen ausführlich die Arbeitslogik von SELinux, Konfigurationsmethoden, Kontextmanagement und Fehlerbehebungstechniken kennen.
root@server:~# sestatus
SELinux-Status: aktiviert
SELinuxfs-Mount: /sys/fs/selinux
SELinux-Stammverzeichnis: /etc/selinux
Name der geladenen Richtlinie: gezielt
Current mode: durchsetzen
Modus aus der Konfigurationsdatei: erzwingen
Richtlinien-MLS-Status: aktiviert
Status der Richtlinie „deny_unknown“: zulässig
Maximale Kernel-Richtlinienversion: 33
_
Isolieren Sie Benutzerfehler mit der obligatorischen Zugriffskontrolle.
Strenges Tagging und Typprüfung für jede Datei und jeden Prozess.
Lösen Sie Probleme schnell mit Audit-Logs und audit2allow.
Vollständige Sandboxes für Apache, Nginx und MySQL.
Traditionelles Sicherheitsmodell in Linux-Betriebssystemen DAC (Diskretionäre Zugangskontrolle) das heißt, optionale Zugriffskontrolle. In diesem Modell entscheidet der Besitzer einer Datei, wer was mit dieser Datei tun (lesen, schreiben, ausführen) darf. Allerdings root Ein Benutzer oder ein erhöhter Prozess kann auf alles im System zugreifen. Dies führt zu einer großen Sicherheitslücke bei modernen Angriffen.
SELinux (Security-Enhanced Linux)Um diese Lücke zu schließen, MAC (Mandatory Access Control) das heißt, es verwendet das Modell der obligatorischen Zugriffskontrolle. Diese von der NSA entwickelte Architektur widerspricht der Logik „Alles zulassen, Verbotenes blockieren“. „Alles verbieten, nur erlauben, was ausdrücklich erlaubt ist“ Es funktioniert nach dem Prinzip.
Besonders Geteiltes Hosting und Reseller-Hosting In Umgebungen ist SELinux (oder Derivate wie CloudLinux CageFS) von entscheidender Bedeutung, um zu verhindern, dass ein Benutzer auf einen anderen zugreift.
SELinux kann in drei verschiedenen Modi ausgeführt werden. Es ist wichtig zu wissen, in welchem Modus Sie sich bei der Verwaltung Ihres Servers befinden.
Dies ist der standardmäßige und empfohlene Modus. Sicherheitsrichtlinien werden aktiv durchgesetzt und Verstöße verhindert. Die Protokollierung ist abgeschlossen.
Richtlinien werden nicht durchgesetzt, der Zugriff wird nicht blockiert, sondern Verstöße audit.log wird in der Datei gespeichert. Es wird zum Debuggen verwendet.
SELinux ist komplett ausgeschaltet. Es erfolgt keine Prüfung oder Protokollierung. Nicht empfohlen. Um es wieder einzuschalten, muss der Server neu gestartet werden.
So überprüfen Sie den aktuellen Status:
sestatus
# Veya sadece modu görmek für:
getenforce
Vorübergehender Moduswechsel (wird nach dem Neustart zurückgesetzt):
# Permissive moda geçiş
setenforce 0
# Enforcing moda geçiş
setenforce 1
Um den Modus dauerhaft zu ändern /etc/selinux/config Sie sollten die Datei bearbeiten:
nano /etc/selinux/config
# SELINUX=enforcing Zeileını düzenleyin
SELinux markiert jeden Prozess, jede Datei, jedes Verzeichnis und jeden Port mit einem „Label“. zu diesem Tag SELinux-Kontext Es heißt. Ein Prozess kann nur auf Objekte zugreifen, deren Tags kompatibel sind.
Die Tag-Struktur ist wie folgt: user:role:type:level
_u Es endet mit ._r Es endet mit ._t Es endet mit . (Bsp.: httpd_t, admin_home_t).Um die Tags von Dateien anzuzeigen -Z Wir verwenden den Parameter:
ls -Z /var/www/html
# Çıktı: system_u:object_r:httpd_sys_content_t:s0 index.html
Besonders WordPress oder bei der Installation anderer CMS-Systeme benötigt Apache/Nginx möglicherweise die Erlaubnis, in Dateien zu schreiben (z. B. Bilder hochladen). Selbst wenn die Dateiberechtigungen (chmod 755) korrekt sind, wird der Zugriff verweigert, wenn das SELinux-Tag falsch ist.
chcon Der Befehl ändert die Dateibezeichnung, diese Änderung geht jedoch verloren, wenn das Dateisystem neu benannt wird.
# Apache'nin okuyabilmesi für:
chcon -t httpd_sys_content_t /var/www/html/index.php
# Apache'nin yazabilmesi für (Upload klasörleri):
chcon -t httpd_sys_rw_content_t /var/www/html/wp-content/uploads
Damit Veränderungen dauerhaft sind semanage fcontext verwendet wird. Dadurch wird die Regel zur Richtliniendatenbank hinzugefügt.
# Kuralı veritabanına ekle:
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/uploads(/.*)?"
# Kuralı dosya sistemine uygula:
restorecon -Rv /var/www/html/uploads
| Etikettentyp | Beschreibung | Einsatzgebiet |
|---|---|---|
httpd_sys_content_t |
Nur-Lese-Berechtigung | Statische Dateien, .php-Dateien |
httpd_sys_rw_content_t |
Lese- und Schreibberechtigung (Read/Write) | Cache-, Upload- und Protokollordner |
httpd_log_t |
Protokolldateien | Apache/Nginx-Protokollverzeichnisse |
SELinux Booleanssind Schalter, mit denen Sie bestimmte Funktionen aktivieren oder deaktivieren können, ohne die Sicherheitsrichtlinie neu zu kompilieren. Beispielsweise müssen Sie die booleschen Einstellungen ändern, damit Apache eine Verbindung zur Datenbank herstellen oder E-Mails senden kann.
# Tüm booleanları listele
getsebool -a | grep httpd
# Apache'nin ağ üzerinden veritabanına bağlanmasına izin ver (WordPress für kritik)
setsebool -P httpd_can_network_connect_db 1
# Apache'nin sendmail kullanmasına izin ver
setsebool -P httpd_can_sendmail 1
* -P Der Parameter stellt sicher, dass die Änderung dauerhaft ist.
Wenn ein Zugriff verweigert wird, wird dies angezeigt /var/log/audit/audit.log wird in der Datei gespeichert. Um diese Protokolle zu analysieren und automatische Berechtigungsregeln zu erstellen audit2allow Das Werkzeug ist großartig.
# Son engellenen Fehlerları insan okunabilir formatta gör:
ausearch -m avc -ts recent
# Fehlerlardan otomatik als bir izin modülü erstellen:
grep httpd /var/log/audit/audit.log | audit2allow -M my_httpd_policy
# Oluşturulan modülü yükle:
semodule -i my_httpd_policy.pp
Häufig gestellte Fragen zu SELinux und Serversicherheit.
Unternehmensdistributionen wie AlmaLinux, Rocky Linux und RHEL übernehmen die „Secure by Default“-Philosophie. SELinux ist der einzige integrierte Mechanismus, der das System selbst vor Diensten mit beeinträchtigten Root-Rechten schützen kann.
Nein, der Einfluss von SELinux auf die Leistung ist auf modernen Prozessoren vernachlässigbar (%1-2 um). Durch das Ausschalten wird die Leistung nicht verbessert, aber es zerstört eine sehr ernstzunehmende Sicherheitsschicht.
Ja, wir bieten Standort Türkei VDS SELinux wird in seinen Diensten gemäß Sicherheitsstandards unterstützt. Wenn unsere Kunden es wünschen, können sie es selbst verwalten oder Hilfe von unserem Support-Team in Anspruch nehmen.
Linux-Berechtigungen (DAC) und SELinux-Berechtigungen (MAC) werden separat gesteuert. Auch wenn Sie den Ordner 777 angeben, ist das SELinux-Tag (z. B. httpd_sys_content_t If) verhindert, dass der Webserver schreibt. Tag httpd_sys_rw_content_t Sie sollten es in ändern.
Bei den verwalteten Serverdiensten von Eka Sunucu werden die SELinux-Konfiguration, die Firewall-Einstellungen und der Imunify360-Schutz von unseren Experten vorgenommen. Sie konzentrieren sich auf Ihr Geschäft, die Sicherheit überlassen Sie uns.
Sicherheitskonfiguration kompliziert? Unser Expertenteam ist für Sie da.
Erstellen Sie eine Supportanfrage