GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Sicherheit:Manipulation von SELinux-Richtlinien mit Booleschen Werten

Security-Enhanced Linux, besser bekannt als SELinux, gibt es schon seit einiger Zeit – und das aus gutem Grund. Ursprünglich von der National Security Agency entwickelt, ist es seit 2000 Teil der Open-Source-Community und seit 2003 Teil des Linux-Kernels. SELinux hilft Administratoren dabei, im Auge zu behalten, wie verschiedene Teile eines Linux-Systems feinkörnige Aktionen ausführen können Kontrollen.

Grundlegende Funktionsweise

Kurz gesagt, SELinux verwendet eine Richtliniendatenbank, um den Zugriff auf Dateien, Anwendungen oder Prozesse auf einem bestimmten System zu genehmigen oder zu verweigern. Anwendungen und Prozesse werden als Subjekte definiert die anschließend Zugriff auf Dateien anfordern (bekannt als Objekte ). Eine Entscheidung wird basierend auf den Richtlinien und Berechtigungen getroffen, die in einem AVC (Access Vector Cache) gespeichert sind.

Schnellschalter

Was passiert, wenn Sie einen Dienst verwenden müssen, der durch eine dieser Richtlinien blockiert wird? Angesichts des Kontexts kann es unnötig sein, die Richtlinie neu zu definieren. Hier kommen Booleans ins Spiel. Ein boolescher Wert ist im Wesentlichen ein Schalter, der spontane Richtlinienänderungen in bestimmten Bereichen innerhalb von SELinux ermöglicht. Diese booleschen Werte sind Zeichenfolgen, die es uns ermöglichen, Änderungen auf Mikroebene an einer aktiv erzwungenen Richtlinie vorzunehmen.

[Das könnte Ihnen auch gefallen: 5 Tipps für den Einstieg in die Linux-Serversicherheit]

Welche booleschen Werte sind verfügbar?

Um eine Liste der verfügbaren booleschen Werte anzuzeigen, können Sie getsebool -a verwenden . Jeder Benutzer kann diesen Befehl ausführen.

[tcarrigan@client ~]$ getsebool -a
abrt_anon_write --> off
abrt_handle_event --> off
abrt_upload_watch_anon_write --> on
antivirus_can_scan_system --> off
antivirus_use_jit --> off
auditadm_exec_content --> on
authlogin_nsswitch_use_ldap --> off
authlogin_radius --> off
authlogin_yubikey --> off
awstats_purge_apache_log_files --> off
boinc_execmem --> on
cdrecord_read_content --> off
cluster_can_network_connect --> off
cluster_manage_all_files --> off
cluster_use_execmem --> off
cobbler_anon_write --> off
cobbler_can_network_connect --> off
cobbler_use_cifs --> off
cobbler_use_nfs --> off
collectd_tcp_network_connect --> off
...Output Omitted...

Was bedeuten diese?

Hier gibt es eine große Anzahl verfügbarer Schalter. Wie Sie in der obigen Liste sehen können, ist die Funktion einiger boolescher Schalter nicht ganz offensichtlich. Sie können semanage boolean -l | grep boolean_name_string um etwas mehr Informationen über einen gegebenen booleschen Wert aufzulisten.

HINWEIS :Sie benötigen Administratorrechte, um semanage auszuführen Befehle.

[tcarrigan@client ~]$ sudo semanage boolean -l | grep cobbler*
cobbler_anon_write             (off  ,  off)  Allow cobbler to anon write
cobbler_can_network_connect    (off  ,  off)  Allow cobbler to can network connect
cobbler_use_cifs               (off  ,  off)  Allow cobbler to use cifs
cobbler_use_nfs                (off  ,  off)  Allow cobbler to use nfs
httpd_can_network_connect_cobbler (off  ,  off)  Allow httpd to can network connect cobbler
httpd_serve_cobbler_files      (off  ,  off)  Allow httpd to serve cobbler files

Sie können oben sehen, dass wir uns alle Booleans ansehen, die sich mit Schuster befassen. Von links nach rechts sehen wir die boolesche Zeichenfolge, die aktuelle und die Standardeinstellung und eine kurze Beschreibung des Schalters.

Boolesche Werte aktivieren/deaktivieren

Um Änderungen am Status eines bestimmten Schalters vorzunehmen, verwenden wir den folgenden Befehl:setsebool boolean_name_string on (off ). Zum Beispiel:

[tcarrigan@client ~]$ sudo setsebool cobbler_anon_write on
[tcarrigan@client ~]$ sudo semanage boolean -l | grep cobbler_anon_write
cobbler_anon_write            (on    , off)         Allow cobbler to anon write

Um die Einstellung zu deaktivieren, ändern Sie einfach die Option am Ende:

[tcarrigan@client ~]$ sudo setsebool cobbler_anon_write off
[tcarrigan@client ~]$ sudo semanage boolean -l | grep cobbler_anon_write
cobbler_anon_write            (off    , off)         Allow cobbler to anon write

Es muss darauf hingewiesen werden, dass boolesche Änderungen standardmäßig nicht nach Neustarts bestehen bleiben. Um eine dauerhafte Änderung vorzunehmen, fügen Sie -P hinzu Option zu Ihrer Befehlssyntax.

[tcarrigan@client ~]$ sudo setsebool -P cobbler_anon_write on

[ Möchten Sie mehr über Sicherheit erfahren? Sehen Sie sich die Checkliste für IT-Sicherheit und Compliance an. ] 

Weitere Informationen?

Wenn Sie weitere Informationen zu SELinux- oder booleschen Optionen benötigen, sehen Sie sich die SELinux-Manpages für boolesche Werte, getsebool, setsebool, semanage, semanage-booleans und verwandte Themen an.

[ Probieren Sie Red Hat Enterprise Linux, ein SELinux-fähiges Betriebssystem, kostenlos aus. ]


Linux
  1. 5 Tipps für den Einstieg in die Linux-Serversicherheit

  2. Sicherheitsüberwachung unter Linux mit Tripwire

  3. Boolesche Werte von SELinux verstehen

  4. Grundlegendes zu SELinux-Richtlinien in Linux

  5. Wie schalte ich den Bildschirm mit einer Verknüpfung in Linux aus?

Pentest mit Linux-Sicherheitstools

wc Linux-Befehl mit Beispielen

Linux-IP-Befehl mit Beispielen

So prüfen Sie ein Remote-Linux-System mit dem Lynis Security Tool

Linux-Sicherheitsaudit mit Lynis

Linux vs. Windows-Sicherheit