Er zijn verschillende manieren waarop SELinux kan werken:. Dit wordt gedefinieerd door het SELinux-beleid. In deze gids leer je meer over SELinux-beleid en hoe je een beleid in SELinux instelt.
Overzicht SELinux-beleid
Laten we een kort overzicht geven van SELinux en zijn beleid. SELinux is een acroniem voor "Security-Enhanced Linux"."Het omvat een reeks beveiligingspatches voor de Linux-kernel. SELinux is oorspronkelijk ontwikkeld door de National Security Agency (NSA) en in 2000 vrijgegeven aan de open-source ontwikkelingsgemeenschap onder de GPL-licentie. Het werd in 2003 samengevoegd met de hoofdlijn Linux-kernel.
SELinux biedt MAC (Mandatory Access Control) in plaats van de standaard DAC (Discretionary Access Control). Dit maakt de implementatie mogelijk van een aantal beveiligingsbeleid dat anders niet mogelijk zou zijn.
SELinux-beleidsregels zijn sets van regels die de SELinux-beveiligingsengine begeleiden. Een beleid definieert typen voor bestandsobjecten en domeinen voor processen. Rollen worden gebruikt om toegang tot domeinen te beperken. Gebruikersidentiteiten bepalen welke rollen kunnen worden bereikt.
Er zijn twee SELinux-policies beschikbaar:
- Getarget: het standaardbeleid. Implementeert toegangscontrole voor gerichte processen. De processen worden uitgevoerd in een beperkt domein waar het proces beperkte toegang heeft tot bestanden. Als een beperkt proces wordt gecompromitteerd, wordt de schade beperkt. In het geval van services worden alleen specifieke services in deze domeinen geplaatst.
- MLS: staat voor beveiliging op meerdere niveaus. Bekijk de Red Hat-documentatie over het SELinux MLS-beleid.
Processen die niet zijn gericht, worden uitgevoerd in een onbeperkt domein. Processen die in onbeperkte domeinen worden uitgevoerd, hebben bijna volledige toegang. Als een dergelijk proces gecompromitteerd is, biedt SELinux geen oplossing. De aanvaller kan toegang krijgen tot het hele systeem en de bronnen. De DAC-regels zijn echter nog steeds van toepassing op de onbeperkte domeinen.
Het volgende is een korte lijst met voorbeelden van onbeperkte domeinen:
- initrc_t domein: init programma's
- kernel_t domein: kernelprocessen
- unconfined_t domein: gebruikers ingelogd op het Linux-systeem
SELinux-beleid wijzigen
De volgende voorbeelden worden uitgevoerd in CentOS 8. Alle opdrachten in dit artikel worden uitgevoerd als de rootgebruiker. Voor andere distributies, bekijk a.u.b. de betreffende tutorial over hoe je SELinux inschakelt.
Om een beleid in SELinux te veranderen, begin met het controleren van de SELinux-status. De standaardstatus moet SELinux ingeschakeld zijn in de "Afdwingende" modus met het "gerichte" beleid.
Om het SELinux-beleid te wijzigen, opent u het SELinux-configuratiebestand in uw favoriete teksteditor.
Hier is ons doel de variabele "SELINUXTYPE" die het SELinux-beleid definieert. Zoals u kunt zien, is de standaardwaarde "targeted".”
Alle stappen die in dit voorbeeld worden getoond, worden uitgevoerd in CentOS 8. In het geval van CentOS is het MLS-beleid niet standaard geïnstalleerd. Dit is waarschijnlijk ook het geval in andere distributies. Leer hier hoe u SELinux op Ubuntu configureert. Zorg ervoor dat u eerst het programma installeert. In het geval van Ubuntu, CentOS, openSUSE, Fedora, Debian en anderen is de pakketnaam "selinux-policy-mls.”
$ dnf installeer selinux-policy-mls
In dit geval schakelen we het beleid over naar MLS. Verander de waarde van de variabele dienovereenkomstig.
Sla het bestand op en verlaat de editor. Om deze wijzigingen door te voeren, moet u het systeem opnieuw opstarten.
$ opnieuw opstartenControleer de wijziging door het volgende op te geven:.
$ sestatusSELinux-modi wijzigen
SELinux kan in drie verschillende modi werken. Deze modi bepalen hoe het beleid wordt gehandhaafd.
- Afgedwongen: elke actie tegen het beleid wordt geblokkeerd en gerapporteerd in het auditlogboek.
- Toegeeflijk: elke actie tegen het beleid wordt alleen gerapporteerd in het auditlogboek.
- Uitgeschakeld: SELinux is uitgeschakeld.
Om tijdelijk de modus in SELinux te veranderen, gebruik je het setenforce commando. Als het systeem opnieuw wordt opgestart, keert het systeem terug naar de standaardinstelling.
$ setenforce Handhaving$ setenforced Toelatend
Om de modus in SELinux permanent te veranderen, moet je het SELinux configuratiebestand aanpassen.
Bewaar en sluit de editor. Start het systeem opnieuw op om de wijzigingen door te voeren.
U kunt de wijziging verifiëren met de opdracht sestatus.
Conclusie
SELinux is een krachtig mechanisme voor het afdwingen van beveiliging. Hopelijk heeft deze gids je geholpen om te leren hoe je het gedrag van SELinux kunt configureren en beheren.
Veel computerplezier!