Startpagina > Pakket- en systeembeheer > semanage

semanage: SELinux beleidbeheer

semanage is een command-line tool die wordt gebruikt voor het beheren van SELinux (Security-Enhanced Linux) beleid. Hiermee kunt u verschillende SELinux beleidselementen toevoegen, wijzigen, verwijderen en weergeven, zoals bestandcontexten, netwerkpoorten, booleans en gebruikersmappings. Het biedt gedetailleerde controle over het beveiligingsbeleid van uw systeem, zodat applicaties en services veilig kunnen functioneren.

Overzicht

semanage wordt gebruikt om SELinux-beleid permanent te wijzigen. Terwijl `chcon` of `restorecon` tijdelijke wijzigingen aanbrengen of bestaand beleid toepassen, definieert `semanage` nieuwe beleidsregels die behouden blijven na het opnieuw opstarten van het systeem.

Belangrijkste beheerde elementen

Dit zijn de belangrijkste SELinux-beleidselementen die u met semanage kunt beheren.

  • Bestandscontexten (File Contexts): Specificeert SELinux-typen voor bestanden en mappen op specifieke paden.
  • Netwerkpoorten (Network Ports): Specificeert SELinux-typen voor specifieke poorten.
  • SELinux Booleans: Schakelaars om specifieke gedragingen van het SELinux-beleid in of uit te schakelen.
  • SELinux Gebruikersmappings (User Mappings): Koppelt Linux-gebruikers aan SELinux-gebruikers.

Belangrijkste opties

semanage beheert beleid voor verschillende SELinux-objecttypen. Hier worden de veelgebruikte opties beschreven die met elk objecttype worden gebruikt.

Algemene beheeropties

Objecttypen

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`semanage` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Dit toont verschillende scenario's voor het beheren van SELinux-beleid met het semanage-commando.

Alle bestandscontextregels weergeven

sudo semanage fcontext -l

Controleert alle momenteel gedefinieerde bestandscontext-mappingsregels op het systeem.

Specifieke poortregels weergeven

sudo semanage port -l | grep http

Geeft de poortregels weer die worden gebruikt voor de HTTP-service.

Aangepaste bestandscontext toevoegen

sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/my_app(/.*)?"

Voegt een regel toe om de map /var/www/html/my_app en de bestanden daarin het type httpd_sys_content_t te geven. (restorecon is vereist na toevoeging)

Aangepaste poort toevoegen

sudo semanage port -a -t http_port_t -p tcp 8080

Voegt TCP-poort 8080 toe met het type http_port_t, zodat deze kan worden gebruikt door de webservice.

SELinux boolean inschakelen

sudo semanage boolean -m --on httpd_can_network_connect

Schakelt de httpd_can_network_connect boolean in, waardoor de Apache-webservice netwerkverbindingen kan initiëren.

Installatie

semanage wordt meestal geleverd als onderdeel van het 'policycoreutils'-pakket of een vergelijkbaar pakket op de meeste Linux-distributies die SELinux gebruiken. Hieronder vindt u de installatiemethoden voor de belangrijkste distributies.

RHEL/CentOS/Fedora

sudo dnf install policycoreutils-python-utils

Installeer het pakket 'policycoreutils-python-utils' met de DNF- of YUM-pakketbeheerder.

Debian/Ubuntu

sudo apt install selinux-utils

Installeer het pakket 'selinux-utils' met de APT-pakketbeheerder.

Tips & Aandachtspunten

Dit zijn nuttige tips en aandachtspunten bij het beheren van SELinux-beleid met semanage.

Wijzigingen toepassen

Na het wijzigen van bestandscontextregels moet u het commando 'restorecon' gebruiken om de gewijzigde contexten toe te passen op het bestandssysteem.

  • `sudo restorecon -Rv /pad/naar/directory`

Problemen diagnosticeren en beleid genereren

Als er SELinux-gerelateerde problemen optreden, controleer dan het bestand `/var/log/audit/audit.log` om geweigerde acties te identificeren en gebruik het `audit2allow`-hulpprogramma om de benodigde beleidsregels te genereren.

  • `sudo tail -f /var/log/audit/audit.log` (realtime logboekcontrole)
  • `sudo audit2allow -a -M mypolicy` (genereert 'mypolicy.te' en 'mypolicy.pp' bestanden op basis van beleidsschendingslogboeken)
  • `sudo semodule -i mypolicy.pp` (laadt het gegenereerde beleidsmodule)

Aandachtspunten

Het onjuist wijzigen van SELinux-beleid kan de toegang tot specifieke services of het hele systeem blokkeren. Het is belangrijk om een back-up te maken van het huidige beleid of zorgvuldig te testen voordat u wijzigingen aanbrengt.


Hétzelfde categoriecommando