SELinux-sandbox nu ook voor grafische programma's

sandbox

Artikelgereedschap

  • Tip ons
  • Printen
  • Reacties (0)
Aanbevelen

Gepubliceerd: Donderdag 17 september 2009
Auteur: Koen Vervloesem

Het beveiligingsmechanisme SELinux van de Linux-kernel kreeg enkele maanden geleden een sandbox-mogelijkheid. Hiermee beperkt de gebruiker op een eenvoudige manier de acties die een specifiek programma kan uitvoeren. Dat werkte toen alleen met commandline-programma's, maar nu zijn ook grafische programma's ondersteund. Dat maakt het mogelijk om bijvoorbeeld veiliger te surfen met Firefox.

Red Hat-ontwikkelaar Dan Walsh introduceerde in mei de SELinux-sandbox, waarmee beheerders eenvoudig kunnen filteren wat een specifiek programma mag doen. Het idee is dat je programma's die je niet helemaal vertrouwt in de sandbox uitvoert, waar ze bijvoorbeeld het netwerk niet kunnen gebruiken en alleen bestanden kunnen openen en aanmaken die aan het proces zijn doorgegeven als parameter. Het was een welkome toepassing die helpt bij de anders zo complexe configuratie van SELinux-policies.

Een groot nadeel van de SELinux-sandbox was dat deze alleen commandline-programma's kon inperken. Grafische programma's hebben immers de neiging om heel wat configuratiebestanden in de thuisdirectory van de gebruiker te openen, en dan is het heel moeilijk om een policy op te stellen die toegang geeft tot die configuratiebestanden maar niet tot andere bestanden. Bovendien gebruikt een grafisch programma op een Linux-desktop nog heel wat andere communicatiekanalen, zoals de X-server en interprocess calls met GConf.

Tijdelijke gastsessie

Ondertussen heeft Walsh een manier gevonden om dit op te lossen. Zijn programma sandbox heeft daarvoor een optie -X gekregen om een grafisch programma te starten. In essentie maakt dit een tijdelijke thuisdirectory voor een gastgebruiker met beperkte rechten aan. Dan wordt het programma onder die gebruiker uitgevoerd, en na het afsluiten wordt de inhoud van de thuisdirectory gewist.

Voor de verbinding tot X heeft Walsh een inventieve oplossing bedacht: sandbox -X start met behulp van Xephyr een hele nieuwe X-server op in een venster op de desktop van de gebruiker. Het programma wordt in die geneste X-server opgestart en heeft dus geen directe toegang tot de normale X-server. Het resultaat is een ingeperkte desktopsessie waarin elk grafisch programma kan draaien.

Walsh geeft op zijn blog een aantal voorbeelden waarom dit handig kan zijn. Zo kun je een PDF in Evince bekijken zonder risico op een exploit. Of je kunt een terminalvenster openen met beperkte rechten, waardoor geen geprivilegieerde opdrachten mogelijk zijn, noch netwerkverbindingen zoals ssh, web of e-mail. Met het SELinux-type sandbox_web_t kun je bovendien Firefox draaien, die dan alleen toegang heeft tot webservers.

De nieuwe sandbox-mogelijkheden zijn toegevoegd aan de huidige ontwikkelversie van Fedora en zullen in Fedora 12 aanwezig zijn. Daarvoor moet de gebruiker het pakket policycoreutils-sandbox installeren en rebooten. Er kleven nog een paar nadelen aan de tool. Zo is de grootte van het Xephyr-venster waarin de programma's draaien niet aan te passen en werkt copy/paste niet, al is dat laatste in veel gevallen misschien wel de bedoeling als je een programma inperkt.

Bron: Techworld

Totaal 0 reactiesLaatste reacties


Nieuwsbrief

Ontvang dagelijks een overzicht van het laatste ICT-Nieuws in uw mailbox

Whitepapers

  • Maximaliseer het voordeel van SaaS

    Cloud-applicaties hebben grote invloed op het gebruik van de IT-architectuur en niet ieder project levert de verwachte voordelen op.

    Downloaden
  • Houdt grip op UC-uitdagingenUnified communications biedt heel veel, maar heeft ook specifieke uitdagingen!
  • Kostenbesparing voor long tail appsOplossing voor kostenkwesties in VDI. Technologie geschikt voor long tail apps.
» Meer whitepapers

Peiling

Loading Poll

Video: Review: HTC One X-smartphone met vijf...

Review: HTC One X-smartphone met vijf cores (video)