lunes, 5 de agosto de 2013

Zelan sortu kaiola bat (jail) FreeBSDn ezjail tresnarekin

FreeBSDn jail tresna esan dezakegu sistema eragile mailako birtualizazioa dela, gure FreeBSD sistema beste sistema txikiago batzuetan zatituz.


Asmoen artean sekuritatea da nagusi, sistema txikiago hauek (kaiolak) isolatuta baitaude host sistematik edo beste kaioletatik.


Jail mekanismoa nahiko ezaguna da FreeBSDn eta askotan erabiltzen da Virtual Hosting inguruetan. Nahiz eta FreeBSDk kudeatzeko tresnak dituen oinarrizko sisteman, beste tresna erosoagoak daude, ezjail eta warden, besteak beste.


Gure kasuan ezjail tresna erabiliko dugu, orduan instalatuko dugu:


# portmaster -d /usr/ports/sysutils/ezjail

Behin ezjail instalatuta, gure oinarrizko kaiola (basejail) sortuko dugu:


# ezjail-admin update -p -i

  • -p aukerarekin portuak ere instalatuko ditugu gure oinarrizko kaiolan

  • -i aukerarekin ez dugu make buildworld exekutatuko, horregatik komeni da gure kaiolak sortu baino lehen sistema erabat eguneratuta izatea.

Inoiz ez badugu ‘make buildworld’ exekutatu ftp zerbitzarietatik jaitsi dezakegu sistema, honela:


# ezjail-admin install

Ondo, gure oinarrizko kaiola sortu dugu (hau da, gure kaiola guztiek erabiliko duten fitxategi sistema), orain gure lehenengo kaiola sortuko dugu, imajina dezagun web zerbitzari bat (www.example.com) izango dela.


Lehenik eta behin sare txartel birtuala sortuko dugu, errazena alias bat sortzea da:


# ifconfig em0 192.168.66.2 netmask 255.255.255.255 alias

/etc/rc.conf fitxategian hau jarriko dugu berrabiaraztean sare txartel 'berria’ izateko:


# ifconfig_em0_alias0="inet 192.168.66.2 netmask 255.255.255.255"

Ez dugu ahaztu behar dugu sare maskara 255.255.255.255 izan behar dela beti alias bat sortzean. Orain bai, gure kaiola sortuko dugu!


# ezjail-admin create www.example.com 192.168.66.2

Ikusiko dugu nola ezjail-ek sortuko duen gure kaiola berria eta agian kexatu egingo dela zerbitzu batzuk IP helbide guztietan entzuten ari direla, hori ekiditeko gure zerbitzu horiek egokitu beharko ditugu banan-banan, beharrezkoa dela uste badugu.


Egokituko dugu gure kaiola berriko konfigurazioa /usr/local/etc/ezjail/www_example_com fitxategian, batez ere hostname eta ip helbideak.


Orain frogatuko dugu gure kaiola ondo dabilen, lehenengo ta behin rc.conf-era ezjail zerbitzua gehituko dugu:


# echo 'ezjail_enable="YES"' >> /etc/rc.conf

Eta…


# /usr/local/etc/rc.d/ezjail start

Ados, badirudi martxan dagoela,… eta orain? Zelan sartu kaiolan? Ikusteko gure kaiola guztiak eta zein egoeratan dauden:


# ezjail-admin list

Gure kaiola berrian sartzeko:


# ezjail-admin console www.example.com

Gure kaiola berrian gaude, eta behar dugun software instalatzeko aukera daukagu, sistema arrunt bat izango balitz moduan. Beste gauza batzuen artean kaiolako /etc/resolv.conf fitxategia egokitu beharko dugu, sistema arrunt batean bezalaxe. Ssh zerbitzari bat aktibatzea ere ez da ideia txarra, kaiolan sartu ahal izateko sisteman lehenago sartu barik.


Berezitasun batzuk ere egon badaude kaiolekin ibiltzean. Adibide gisa, ezin dugu ping egin kaiola batetik, instalatu berri dugunean raw socket-ak desaktibatuta daudelako (dig eta whois ondo badabiltza sare konexioa badaukagu). Aktibatzeko hauxe egingo genuke gure host sisteman (ez kaiolan bertan).


# sysctl security.jail.allow_raw_sockets=1

sysctl aukera guzti hauek jail(8)-n topa ditzakegu, baina kontuan izan behar dugu erabat beharrezkoak ez badira hobe dela jatorrizko aukerak mantentzea, aldatzean. sekuritate maila jaisten baita.


Azkenik, kaiolak eguneratuko ditugu host sistema eguneratzen dugunean, orduan gure host sisteman 'make installworld’ egin ostean:


# /usr/local/etc/rc.d/ezjail stop

# ezjail-admin update -i

# /usr/local/etc/rc.d/ezjail start

Kaiolek eskuragarri daukaten portuen zuhaitza eguneratzeko hau egingo dugu host sisteman:


# ezjail-admin update -P


Ta ale, zerbitzuak kaiolatzera!!!

No hay comentarios:

Publicar un comentario