FreeBSD fængsel

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 28. juni 2015; checks kræver 10 redigeringer .

FreeBSD Jail ( eng.  jail - "fængsel") er en virtualiseringsmekanisme i FreeBSD -systemet , der giver dig mulighed for at oprette flere uafhængigt kørende FreeBSD'er på den samme operativsystemkerne, men helt uafhængigt konfigureret med et uafhængigt sæt af installerede applikationer inden for en FreeBSD-operativ system.

FreeBSD Jail er baseret på chroot(2) systemkaldet , hvor rodmappen for den aktuelle proces og alle dens efterkommere overføres til en bestemt placering på filsystemet . Denne placering bliver rodmappen for processen. Således kan en sandkasseproces kun få adgang til det underliggende mappetræ.

FreeBSD Jail har dog også support på kerneniveau , hvilket giver dig mulighed for at begrænse adgangen til netværket, delt hukommelse, sysctl -kernevariabler og begrænse synligheden af ​​processer uden for fængslet.

En Jailed-proces kan kun få adgang til visse operativsystem- IP-adresser og bruge et specifikt værtsnavn . En sådan proces kaldes en "isoleret proces" eller "Fængslet proces".

Der skabes således et sikkert "bur", indeni hvilket selv potentielt farlig software kan udføres, som ikke på nogen måde kan skade hovedsystemet eller andre sådanne "bure". Før version 9.0-RELEASE havde FreeBSD Jail ingen kontrol over ressourceforbrug (som f.eks. OpenVZ under Linux ). Siden version 9.0-RELEASE er lignende mekanismer blevet introduceret gennem rctl(8)-værktøjet og RACCT - rammeværket .

sysctl -niveauet af systemet er privilegierne for Jailed processer konfigureret:

sysctl identifikator Kontrolleret funktionalitet
security.jail.chflags_allowed Mulighed for at ændre systemfilflag
security.jail.allow_raw_sockets Mulighed for at skabe stikkontakter på lavt niveau
security.jail.sysvipc_allowed Mulighed for at bruge System V IPC
security.jail.set_hostname_allowed Muligheden for at indstille dit eget værtsnavn i fængslede processer (normalt indstilles værtsnavnet, når du kalder fængsel)
security.jail.enforce_statfs Mulighed for at se alle monterede filsystemer inde i fængslede processer
security.jail.socket_unixiproute_only Begrænsning af muligheden for at oprette UNIX/IPv4/rute-sockets
security.jail.list Liste over kørende fængsler

Brug

Den mest almindelige brug af FreeBSD Jail er at skabe isolerede, sikre virtuelle maskiner. I dette tilfælde kører jail(8) initialiseringsscriptet /etc/rc , som starter lanceringen af ​​et separat isoleret virtuelt system. I tilfælde af at selv den mest ødelæggende hacking af et virtuelt system og dets funktionalitet deaktiveres, vil resten af ​​de kørende virtuelle systemer ikke blive påvirket.

I praksis hos hostingudbydere kan fængselsmekanismen bruges til at bygge administrerede systemer på dedikerede servere . I denne mulighed får klienten kun adgang til fængslet og udbyderens tekniske personale til mastersystemet.

Funktioner ved at bruge virtuelle maskiner

FreeBSD Jail, når det bruges som en virtuel maskine til at køre vilkårlig software, vil kræve en komplet systemmiljøemulering, herunder:

Hver virtuel maskine på værtssystemet (før FreeBSD 7.2) vil nødvendigvis kræve en enkelt IP-adresse for at køre. Det er også muligt at bruge den samme IP-adresse til flere maskiner, men tjenesterne på disse virtuelle maskiner må ikke bruge de samme TCP/UDP-porte .

Fra FreeBSD 8.0 kan flere IP-adresser tildeles hver virtuel maskine.

For mere information om installation og brug af FreeBSD Jail, se jail(8) man -siderne eller den officielle dokumentation. [en]

Fængselsimplementeringsfejl (i FreeBSD 7.2 og tidligere)

add path 'bpf*' unhide

Noter

  1. FreeBSD Handbook Arkiveret 15. august 2014 på Wayback Machine  

Se også

Links