SELinux

SELinux auf Ubuntu-Tutorial

SELinux auf Ubuntu-Tutorial

Einführung

SELinux ist ein obligatorisches Zugriffskontrollmodul (MAC), das sich auf der Kernel-Ebene von Linux-Systemen befindet. Es ist eine gemeinsame Entwicklung von Redhat und NSA, die um 1998 veröffentlicht wurde und immer noch von einer Enthusiasten-Community gepflegt wird. Standardmäßig verwendet Ubuntu AppArmor und nicht SeLinux, das in Bezug auf die Leistung ähnlich, aber in Bezug auf die Einfachheit eher beliebt ist. SeLinux ist jedoch aufgrund der Beteiligung einer Regierungsbehörde als ziemlich sicher bekannt. SELinux ist eine Open-Source-Anwendung, die den Host schützt, indem sie jede Anwendung isoliert und ihre Aktivitäten einschränkt. Standardmäßig werden Prozesse daran gehindert, Aktivitäten auszuführen, es sei denn, die ausdrückliche Berechtigung wird erteilt. Das Modul bietet nativ zwei Verwaltungsregeln auf globaler Ebene: Permissive und Enforcing, die jeweils jede verletzte Regel protokollieren und den Zugriff auf eine bestimmte von einem Prozess gesendete Anfrage verweigern. Dieses Tutorial zeigt, wie Sie es mit Leichtigkeit unter Ubuntu verwenden können.

So installieren und aktivieren Sie

SeLinux ist eine sehr schwierig zu installierende Anwendung, denn wenn sie vor dem ersten Neustart nicht richtig konfiguriert ist, wird das gesamte Betriebssystem nicht mehr gestartet, was bedeutet, dass alles, was über den anfänglichen Startbildschirm hinausgeht, mit normalen Mitteln praktisch nicht erreichbar ist.

Wie bereits erwähnt, verfügt Ubuntu bereits über ein anspruchsvolles, obligatorisches Zugriffskontrollsystem, bekannt als AppArmor, und muss daher vor der Installation von SeLinux deaktiviert werden, um Konflikte zu vermeiden. Verwenden Sie die folgenden Anweisungen, um AppArmor zu deaktivieren und SeLinux zu aktivieren.

sudo /etc/init.d/apparmor stop apt-get update && upgrade -yuf apt-get install selinux nano /etc/selinux/config 'Setze SELINUX auf permissive, SELINUXTYPE auf Standard' reboot 

Diese Dateikonfiguration kann mit jedem Texteditor geöffnet werden, um Änderungen vorzunehmen. Der Grund für die Zuweisung einer permissiven Regel zu SETLINUX besteht darin, das Betriebssystem zugänglich zu machen, während SeLinux aktiviert bleibt. Es wird dringend empfohlen, die permissive Option zu verwenden, da sie problemlos ist, aber verletzte Regeln in SeLinux protokolliert.

Verfügbare Optionen

SELinux ist ein komplexes und umfassendes Modul; daher enthält es viele der Funktionen und Optionen. Davon abgesehen sind die meisten dieser Optionen aufgrund ihrer exotischen Natur möglicherweise nicht für jeden nützlich. Die folgenden Optionen sind einige der grundlegenden und nützlichen Optionen in diesem Modul. Sie sind mehr als genug, um SELinux zum Laufen zu bringen.

Überprüfen Sie den Status:  Der Status von SELinux kann direkt über das Terminalfenster überprüft werden, das die grundlegenden Informationen anzeigt, z. B. ob SeLinux aktiviert ist, SELinux-Stammverzeichnis, geladener Richtlinienname, aktueller Modus usw.  Verwenden Sie nach dem Neustart des Systems nach der Installation von SeLinux den folgenden Befehl als Root-Benutzer mit dem Befehl sudo. Wenn im Statusabschnitt angegeben wird, dass SeLinux aktiviert ist, bedeutet dies, dass es im Hintergrund ausgeführt wird.

[email protected]:/home/dondilanga# sestatus

Ändern Sie die globale Berechtigungsstufe: Die globale Berechtigungsstufe gibt an, wie sich SELinux verhält, wenn es auf eine Regel stößt. SeLinux stellt sich standardmäßig auf Erzwingen ein, wodurch alle Anfragen effektiv blockiert werden, aber es kann auf permissiv geändert werden, was dem Benutzer gegenüber nachsichtig ist, da es den Zugriff ermöglicht, aber alle verletzten Regeln in seiner Protokolldatei protokolliert.

nano /etc/selinux/config 'SELINUX auf permissiv oder erzwingend setzen, SELINUXTYPE auf Standard setzen' 

Überprüfen Sie die Protokolldatei: Die Protokolldatei, die die verletzten Regeln bei jeder Anfrage angibt.  Dies führt nur Protokolle, wenn SeLinux aktiviert ist.

grep selinux /var/log/audit/audit.Log

Aktivieren und Deaktivieren von Richtlinien und deren Schutzmöglichkeiten: Dies ist eine der wichtigsten Optionen in SeLinux, da sie es ermöglicht, Richtlinien zu aktivieren und zu deaktivieren. SeLinux verfügt über eine große Anzahl vorgefertigter Richtlinien, die bestimmen, ob die angegebene Anfrage zulässig ist oder nicht. Einige Beispiele hierfür sind allow_ftpd_full_access, der die Fähigkeit des FTP-Dienstes bestimmt, sich bei lokalen Benutzern anzumelden und alle Dateien auf dem System lesen und schreiben zu können, allow_ssh_keysign, der die Verwendung von Schlüsseln beim Anmelden bei SSH ermöglicht, allow_user_mysql_connect, der es Benutzern ermöglicht, sich mit mysql zu verbinden , httpd_can_sendmail, das die Fähigkeit des HTTP-Dienstes zum Senden einer E-Mail usw. bestimmt.  Im folgenden Codebeispiel installiert es policycoreutils-python-utils, das tatsächlich hilft, jede Richtlinie auf beschreibende Weise aufzulisten. Als nächstes werden alle verfügbaren Richtlinien für das Terminal aufgelistet , schließlich lehrt es, wie man eine Richtlinie ein- oder ausschaltet. allow_ftpd_full_access ist der Richtlinienname, wie er im von semanage zurückgegebenen Terminal angezeigt wird,

apt-get install policycoreutils-python-utils semanage boolean -l setsebool -P allow_ftpd_full_access ON 

Erweiterte Optionen

Die erweiterten Optionen sind Optionen, die bei der Erweiterung der Funktionalitäten in SELInux . helfen. Aufgrund der umfassenden Natur von SeLinux gibt es eine enorme Anzahl von Kombinationen, daher listet dieser Artikel einige der bekanntesten und nützlichsten darunter auf.

Rollenbasierte Zugriffskontrolle (RBAC): RBAC ermöglicht Administratoren, zu einer rollenbasierten Methode zu wechseln, um die Berechtigung von Anwendungen einzuschränken. Dies bedeutet, dass ein Benutzer einer bestimmten Benutzergruppe bestimmte vordefinierte Aktionen ausführen oder ausführen darf. Solange der Benutzer Teil der Rolle ist, ist es in Ordnung. Dies entspricht dem Wechseln zu Root bei der Installation von Anwendungen unter Linux mit Administratorrechten.

semanage login -a -s 'myrole' -r 's0-s0:c0.c1023' 

Benutzer können ihre Rolle mit dem folgenden Befehl wechseln.

sudo -r new_role_r -i

Benutzer können sich auch aus der Ferne über SSH mit dem Server verbinden, wobei die Rolle beim Start aktiviert ist.

ssh /[E-Mail geschützt]

Zulassen, dass ein Dienst einen nicht standardmäßigen Port abhört: Dies ist sehr nützlich bei der Anpassung eines Dienstes, zum Beispiel wenn ein FTP-Port auf einen Nicht-Standard-Port geändert wird, um unbefugte Zugriffe zu vermeiden, muss SELinux entsprechend informiert werden, damit solche Ports wie gewohnt passieren und funktionieren können. Im folgenden Beispiel kann der FTP-Port auf Port 992 lauschen. Ebenso jeder Service, der von . zurückgegeben wird Seegangshafen -l kann ersetzt werden.  Einige der beliebtesten Ports sind http_port_t , pop_port_t, ssh_port_t.

semanage port -a -t    semanage port -a -t ftp_port_t -p tcp 992 

So deaktivieren Sie

Das Deaktivieren von SELinux ist einfacher, da es aktiviert und installiert ist. Grundsätzlich gibt es zwei Möglichkeiten, es zu deaktivieren. Entweder vorübergehend oder dauerhaft. Durch das temporäre Deaktivieren von SeLinux wird es für eine Weile bis zum nächsten Booten deaktiviert, und sobald der Computer wieder eingeschaltet wird, wird der Zustand neu gestartet. Auf der anderen Seite wird SeLinux durch die dauerhafte Deaktivierung vollständig heruntergefahren, wodurch es Bedrohungen da draußen ausgesetzt wird; Daher ist es eine kluge Wahl, den Standard-AppArmor von Ubuntu zumindest aus Gründen der Sicherheit des Systems wiederherzustellen.

Der folgende Befehl auf dem Terminal schaltet es vorübergehend aus:

Setzkraft 0 

Zum dauerhaft deaktivierten Bearbeiten /etc/selinux/config und setze SELINUX auf Deaktiviert.

Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...
Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...