Bitfix! tutorials – IT Solutions

Manueel installeren van plex in een jail (Freenas)

Introductie

Omdat systeem beheer een complexe en enorme taak is, zijn er vele sterke tools ontwikkeld om het leven van een systeem beheerder makkelijker te maken. Een grote taak van de systeembeheerder is het goed configureren van de beveiliging van een systeem, zodat het kan blijven doorgaan met het serveren van de taak, zonder dat er beveiligingsproblemen optreden.

 

Een van de tools welke gebruikt kan worden om de beveiliging van een FreeBSD systeem te verbeteren zijn jails. Jails zijn geïntroduceerd in FreeBSD 4.X door Poul-Henning Kamp<phk@FreeBSD.org>, maar zijn grotendeels verbeterd in FreeBSD 5.X om ze nog sterker en krachtiger te maken. De ontwikkeling gaat nog steeds door met verbeteringen voor het gebruik, performance, betrouwbaarheid en beveiliging.

1.    Wat is een jail

BSD achtige systemen hebben sinds 4.2-BSD ondersteuning voor chroot. De chroot utility kan gebruikt worden om de root directory van een set processen te wijzigen waardoor een veilige omgeving wordt gecreeërd voor de rest van het systeem. Processen die gemaakt worden in een chroot omgeving kunnen bestanden en bronnen daarbuiten niet benaderen. Daardoor zou een compromitering van een dienst die in een chroot omgeving draait niet direct betekenen dat het hele systeem gecompromiteerd is. De chroot utility is goed genoeg voor simpele taken, waarbij flexibiliteit en geavanceerde en complexe opties niet nodig zijn. Sinds het uitvinden van het chroot concept, zijn er vele mogelijkheden gevonden om hieruit te kunnen komen en alhoewel ze verbeterd zijn in moderne versies van FreeBSD, werd het duidelijk dat chroot niet de meest ideale oplossing was voor het beveiligen van diensten. Er moest een nieuw subsysteem ontwikkeld worden.

Dit is één van de redenen waarom jails zijn ontwikkeld.

Jails zijn een verbeterd concept van de chroot omgeving, in verschillende opzichten. In een traditionele chroot omgeving worden processen alleen gelimiteerd in het deel van het bestandssysteem die ze kunnen benaderen. De rest van de systeem bronnen (zoals de set van systeem gebruikers, de draaiende processen of het netwerk subsysteem) worden gedeeld door het chrooted proces en de processen op het host systeem. Jails breiden dit model uit door het niet alleen te virtualizeren van de toegang tot het bestandssysteem maar ook tot de set van gebruikers, het netwerk subsysteem van de FreeBSD kernel en een aantal andere delen.

1.1 Een jail heeft vier kenmerken:

Buiten deze kenmerken, kunnen jails hun eigen set aan gebruikers en root gebruiker hebben. Uiteraard zijn de mogelijkheden van de root gebruiker beperkt tot de jail omgeving en, vanuit het host systeem gezien, is de root gebruiker geen super-gebruiker. Daarnaast is het de rootgebruiker in een jail omgeving niet toegestaan om kritieke operaties uit te voeren op het systeem buiten de gedefinieerde jail omgeving.

https://www.freebsd.org/doc/nl/books/handbook/jails-intro.html

2.    Wat is plex

 

Plex is een dienst, een mediacenterdienst om exact te zijn. De mediacenterdienst kan al je content, van films en series tot eigen muziek, video’s en foto’s indexeren en op verschillende apparaten beschikbaar maken. Plex werkt met pc, Mac, Linux, Android, iOS, smart-tv’s en sinds kort ook de Chromecast. Plex maakt netflix overbodig, als je je eigen server draait met daarop bv. Freenas.

FreeNAS is een opensource softwarepakket waarmee je een NAS kan bouwen. De basis van FreeNAS is een uitgeklede versie van het besturingssysteem FreeBSD, de configuratie is gemakkelijk te bereiken via een GUI. Hoe de configuratie van Freenas moet gebeuren ga ik in deze post niet uitleggen, maar wel hoe je plex manueel in een jail kan installeren.

2.1  installeer plex in een jail

 

Om te beginnen navigeert u naar het adres van uw Freenas server en klikt u op jails en dan op add jails waarna een venster tevoorschijn komt.

Hier vult u volgende gegevens in:

Zodra deze instellingen in orde zijn, klikt u op ok en navigeert u naar de shell. Het zij de shell in de webGUI of via SSH. Eens geconnecteerd voert u het volgende commando uit:

Jls

Het resultaat zal in de aard van het onderstaande zijn:

JID IP Adress       Hostname                       Path

1     –                     plexmediaserver   /mnt/Homedisk/jails/plexmediaserver

In dit geval heeft de plex jail een JID (jail ID) van 1, om nu een shell te openen in de jail en daarmee te connecteren gebruikt u het volgende commando:

Jexec 1 tcsh

Het volgende commando is het verkrijgen van de Ports collectie. De Portscollectie is een verzameling van Makefiles, patches en bestanden met beschrijvingen in/usr/ports. Deze verzameling bestanden worden gebruikt om applicaties op FreeBSD te bouwen en te installeren.

Portsnap fetch extract

Een gecomprimeerde momentopname wordt gedownload van de ports collectie en geëxtraheerd in /var/db/portsnap.

Nu gaan we plex installeren met het volgende commando.

cd /usr/ports/multimedia/plexmediaserver/ && make install clean

Als u hier tegen een probleem aanloopt, zoals het niet willen installeren van de jail door een missende upgrade, kan u volgende commando gebruiken.

Pkg upgrade

Eens de installatie gelukt is moeten we er alleen nog voor zorgen dat plex start wanneer de jail start, dit doen we door het volgende commando.

echo plexmediaserver_enable=”YES” >> /etc/rc.conf

Daarna het laatste commando om plex te starten.

Service plexmediaserver start

Plex is nu volledig operationeel en beschikbaar op het eerder toegewezen IP-adres.

Vb. 10.10.10.2:32400/web/index.html

Mobiele versie afsluiten