Opmerking: alle onderstaande opdrachten zijn uitgevoerd in CentOS 8. Als je echter een andere distributie van Linux wilt gebruiken, dan kun je dat ook heel gemakkelijk doen.
Basis SELinux-commando's
Er zijn enkele basiscommando's die heel vaak worden gebruikt met SELinux. In de volgende paragrafen zullen we eerst elke opdracht vermelden, daarna zullen we voorbeelden geven om u te laten zien hoe u elke opdracht kunt gebruiken.
SELinux-status controleren
Stel dat we na het starten van de terminal in CentOS 8 de status van SELinux willen onderzoeken, i.e., we willen graag bepalen of SELinux is ingeschakeld in CentOS 8. We kunnen de status van SELinux in CentOS 8 bekijken door het volgende commando in de terminal uit te voeren:
$ sestatus
Het uitvoeren van deze opdracht zal ons vertellen of SELinux is ingeschakeld in CentOS 8. SELinux is ingeschakeld in ons systeem, en je kunt deze status gemarkeerd zien in de onderstaande afbeelding:
SELinux-status wijzigen
SELinux is altijd standaard ingeschakeld in op Linux gebaseerde systemen. Als je echter SELinux wilt uitschakelen of uitschakelen, dan kun je dit doen door het SELinux-configuratiebestand op de volgende manier aan te passen:
$ sudo nano /etc/selinux/config
Wanneer deze opdracht wordt uitgevoerd, wordt het SELinux-configuratiebestand geopend met de nano-editor, zoals weergegeven in de onderstaande afbeelding:
Nu moet je de SELinux-variabele in dit bestand vinden en de waarde ervan wijzigen van "Enforcing" in "Disabled". Druk daarna op Ctrl+X om je SELinux-configuratiebestand op te slaan en terug te gaan naar de terminal.
Wanneer je de status van SELinux opnieuw controleert door het commando "sestatus" hierboven uit te voeren, zal de status in het configuratiebestand veranderen in "Uitgeschakeld", terwijl de huidige status nog steeds "Ingeschakeld" zal zijn, zoals gemarkeerd in de volgende afbeelding:
Om uw wijzigingen volledig door te voeren, moet u uw CentOS 8-systeem daarom opnieuw opstarten door de volgende opdracht uit te voeren:
$ sudo shutdown -r nu
Nadat je je systeem opnieuw hebt opgestart en je de status van SELinux opnieuw controleert, wordt SELinux uitgeschakeld.
SELinux-werkingsmodus controleren
SELinux is standaard ingeschakeld en werkt in de "Afdwingende" modus, wat de standaardmodus is. U kunt dit bepalen door het "sestatus" commando uit te voeren of door het SELinux configuratiebestand te openen. Dit kan ook worden geverifieerd door de onderstaande opdracht uit te voeren:
$ getenforce
Na het uitvoeren van het bovenstaande commando, zul je zien dat SELinux in de "Afdwingende" modus werkt:
SELinux-werkingsmodus wijzigen
U kunt altijd de standaard werkingsmodus van SELinux wijzigen van "Afdwingen" naar "Toelatend".Om dit te doen, moet u de opdracht "setenforce" op de volgende manier gebruiken:
$ sudo setenforce 0
Wanneer gebruikt met het “setenforce” commando, verandert de “0” vlag de modus van SELinux van “Enforcing” naar “Permissive.U kunt controleren of de standaardmodus is gewijzigd door het commando "getenforce" opnieuw uit te voeren, en u zult zien dat de SELinux-modus is ingesteld op "Permissive", zoals gemarkeerd in de onderstaande afbeelding:
SELinux-beleidsmodules bekijken
U kunt ook SELinux-beleidsmodules bekijken die momenteel op uw CentOS 8-systeem draaien. De beleidsmodules van SELinux kunnen worden bekeken door het volgende commando in de terminal uit te voeren:
$ sudo semodule -l
Als u deze opdracht uitvoert, worden alle momenteel actieve SELinux-beleidsmodules in uw terminal weergegeven, zoals weergegeven in de onderstaande afbeelding:. Om toegang te krijgen tot de volledige lijst, kunt u omhoog of omlaag scrollen.
SELinux Audit Log Rapport genereren
U kunt op elk moment een rapport genereren vanuit uw SELinux audit logs. Dit rapport zal alle informatie bevatten met betrekking tot elke mogelijke gebeurtenis die is geblokkeerd door SELinux en ook hoe u de geblokkeerde gebeurtenis(sen) kunt toestaan indien nodig. Dit rapport kan worden gegenereerd door de volgende opdracht in de terminal uit te voeren:
$ sudo sealert -a /var/log/audit/audit.log
In ons geval, aangezien er geen verdachte activiteit plaatsvond, was ons rapport daarom zeer nauwkeurig en leverde het geen waarschuwingen op, zoals weergegeven in de onderstaande afbeelding:
SELinux Boolean bekijken en wijzigen
Er zijn bepaalde variabelen van SELinux waarvan de waarde "on" of "off" kan zijn.Dergelijke variabelen staan bekend als SELinux Booleanle. Om alle SELinux Booleaanse variabelen te zien, gebruik je het “getsebool” commando op de volgende manier:
$ sudo getebool -a
Het uitvoeren van dit commando zal een lange lijst tonen van alle variabelen van SELinux waarvan de waarde ofwel "on" of "off" kan zijn, zoals getoond in de onderstaande afbeelding:
Het beste van SELinux Boolean is dat zelfs nadat je de waarden van deze variabelen hebt gewijzigd, je je SELinux-mechanisme niet opnieuw hoeft te starten; deze wijzigingen worden eerder onmiddellijk en automatisch van kracht.
Nu willen we u de methode laten zien voor het wijzigen van de waarde van elke SELinux Booleaanse variabele. We hebben al een variabele geselecteerd, zoals gemarkeerd in de afbeelding hierboven, waarvan de waarde momenteel "uit" is.We kunnen deze waarde op "aan" zetten door de volgende opdracht in onze terminal uit te voeren:
$ sudo setsebool -P xen_use_nfs AANHier kunt u xen_use_nfs vervangen door elke SELinux Boolean van uw keuze waarvan u de waarde wilt wijzigen.
Na het uitvoeren van de bovenstaande opdracht, wanneer je de opdracht "getsebool" opnieuw uitvoert om alle SELinux Boolean-variabelen te bekijken, zul je kunnen zien dat de waarde van xen_use_nfs is ingesteld op "on", zoals gemarkeerd in de onderstaande afbeelding:
Conclusie
In dit artikel hebben we alle basis SELinux-commando's in CentOS 8 besproken. Deze commando's worden vrij vaak gebruikt tijdens interactie met dit beveiligingsmechanisme van SELinux. Daarom worden deze commando's als uiterst nuttig beschouwd.