Er zijn meerdere opties beschikbaar die ingesteld kunnen worden voor elke jail, en er zijn meerdere mogelijkheden om een FreeBSD host systeem te combineren met jails om een betere scheiding tussen systeem en applicaties te verkrijgen. Deze sectie leert:
Een aantal opties zijn beschikbaar voor het optimaliseren van het gedrag en beveiligings beperkingen die geïmplementeerd worden in een jail.
Een aantal “high-level” applicaties die gebruikt worden voor het beheren van jails, welke beschikbaar zijn via de FreeBSD Ports Collectie en kunnen gebruikt worden om een complete jail-gebaseerde oplossing te creeëren.
Het goed kunnen optimaliseren van een jail configuratie wordt veelal gedaan door
het instellen van sysctl(8) variabelen.
Er bestaat een speciale subtak van sysctl voor het organiseren van alle
relevante opties: de security.jail.*
hierarchie binnen
de FreeBSD kernel. Hieronder staat een lijst van de belangrijkste jail-gerelateerde
sysctl variabelen, met informatie over de standaard waarden. De benaming zou
zelf beschrijvend moeten zijn, maar voor meer informatie kunnen de jail(8) en sysctl(8)
handleidingen geraadpleegd worden.
security.jail.set_hostname_allowed: 1
security.jail.socket_unixiproute_only: 1
security.jail.sysvipc_allowed: 1
security.jail.enforce_statfs: 2
security.jail.allow_raw_sockets: 0
security.jail.chflags_allowed: 0
security.jail.jailed: 0
Deze variabelen kunnen door de systeem beheerder gebruikt worden op het host systeem om limitaties toe te
voegen of te verwijderen, welke standaard opgedwongen worden aan de root gebruiker. Let op, een aantal beperkingen kan niet worden
aangepast. De root gebruiker mag geen bestandssystemen
koppelen of ontkoppelen binnenin een jail(8). De root gebruiker mag ook geen devfs(8) rulesets
laden of ontladen, firewall rules plaatsen of andere taken uitvoeren die vereisen
dat de in-kernel data wordt aangepast, zoals het aanpassen van de securelevel
variabele in de kernel.
Het basis systeem van FreeBSD bevat een basis set van applicaties voor het inzien van de actieve jails, en voor het uitvoeren van administratieve commando's in een jail. De jls(8) en jexec(8) commando's zijn onderdeel van het basis systeem en kunnen gebruikt worden voor het uitvoeren van de volgende simpele taken:
Het printen van een lijst van actieve jails met het corresponderende jail ID (JID), IP adres, de hostnaam en het pad.
Het koppelen met een actieve jail vanuit het host systeem, en voor het uitvoeren van administratieve taken in de jail zelf. Dit is bijzonder handig wanneer de root gebruiker een jail netjes wilt afsluiten. Het jexec(8) commando kan ook gebruikt worden om een shell te starten in een jail om daarmee administratieve taken uit te voeren; bijvoorbeeld met:
# jexec 1 tcsh
Tussen de vele software van derde partijen voor jail beheer, is één van de meest complete en bruikbare paketten: sysutils/jailutils. Dit is een set van kleine applicaties, die bijdragen aan jail(8) beheer. Kijk op de web pagina voor meer informatie.