{"id":20468,"date":"2026-08-09T08:33:19","date_gmt":"2026-08-09T06:33:19","guid":{"rendered":"https:\/\/webhosting.de\/per-site-cagefs-shared-hosting-sicherheit-architektur\/"},"modified":"2026-08-09T08:33:19","modified_gmt":"2026-08-09T06:33:19","slug":"pr-websted-cagefs-delt-hosting-sikkerhed-arkitektur","status":"publish","type":"post","link":"https:\/\/webhosting.de\/da\/per-site-cagefs-shared-hosting-sicherheit-architektur\/","title":{"rendered":"Per-Site CageFS: Ny sikkerhedsarkitektur til delt hosting"},"content":{"rendered":"<p><strong>CageFS pr. websted<\/strong> adskiller de enkelte hjemmesider inden for en shared hosting-konto fuldst\u00e6ndigt fra hinanden og begr\u00e6nser dermed risikoen for sidev\u00e6rts spredning efter et indbrud. Jeg gennemg\u00e5r den nye sikkerhedsarkitektur, viser praktiske anvendelsesscenarier og forklarer, hvordan du sikkert kan administrere flere projekter p\u00e5 \u00e9n konto.<\/p>\n\n<h2>Centrale punkter<\/h2>\n\n<ul>\n  <li><strong>Webstedsisolering<\/strong>: Yderligere opdeling inden for en konto mindsker sideeffekter.<\/li>\n  <li><strong>CloudLinux<\/strong>: Udvidelse af CageFS-konceptet til dom\u00e6neniveau.<\/li>\n  <li><strong>WordPress<\/strong>: K\u00f8r flere instanser sikkert side om side.<\/li>\n  <li><strong>Ressourcer<\/strong>: Begr\u00e6nsninger for CPU\/RAM\/I\/O supplerer opdelingen af filvisningen.<\/li>\n  <li><strong>\u00d8velse<\/strong>: Aktivering pr. dom\u00e6ne og en klar strategi for rettigheder og stier.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheitsserverraum-8432.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Hvad \u201ePer-Site CageFS\u201c konkret kan<\/h2>\n\n<p>Udvidelsen isolerer enkelte <strong>Dom\u00e6ner<\/strong> inden for et eksisterende bruger-CageFS, s\u00e5 hvert websted kun kan se sine egne filer og processer. P\u00e5 den m\u00e5de forhindrer jeg, at et kompromitteret projekt f\u00e5r adgang til konfigurationsfiler, uploads eller n\u00f8gler fra andre websteder p\u00e5 samme konto. If\u00f8lge <strong>CloudLinux<\/strong> Blog (beta-meddelelse): Per-Site CageFS udvider isoleringen mellem hjemmesider inden for samme brugerkonto og mindsker dermed risikoen for sidev\u00e6rts spredning. For mig er fordelen helt \u00e5benbar: Jeg kan opdele agenturkonti, multisite-ops\u00e6tninger og testmilj\u00f8er p\u00e5 en overskuelig m\u00e5de uden at \u00f8del\u00e6gge hostingstrukturen. Denne baggrundsartikel giver et hurtigt overblik over princippet bag CageFS: <a href=\"https:\/\/webhosting.de\/da\/cloudlinux-cagefs-filsystem-isolation-sikkerhed-hostingshield\/\">CageFS-filsystemet<\/a>, som isoleringen pr. websted bygger p\u00e5.<\/p>\n\n<h2>Hvorfor kontoisolering alene ikke er nok<\/h2>\n\n<p>En konto samler ofte flere <strong>Projekter<\/strong> \u2013 for eksempel to webshops, tre blogs og et staging-milj\u00f8. Hvis et exploit angriber et s\u00e5rbart plugin, kan en angriber uden yderligere segmentering f\u00e5 adgang til tilst\u00f8dende mapper og placere yderligere payloads der. Det er netop her, at Per-Site CageFS afsk\u00e6rmer adgangen til filsystemet og processerne, s\u00e5 hvert websted fungerer som i sin egen <strong>F\u00e6ngsel<\/strong> fungerer. Is\u00e6r ved separate WordPress-instanser med en f\u00e6lles PHP-bruger opst\u00e5r der ellers en risiko for eskaleringer, som jeg afv\u00e6rger ved hj\u00e6lp af dom\u00e6neisolering. Det mindsker f\u00f8lgeskader, forenkler fejlfinding og g\u00f8r det nemmere at planl\u00e6gge genoprettelser hurtigere.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheitskonferenz_8765.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>S\u00e5dan fungerer webstedsisolering rent teknisk<\/h2>\n\n<p>CloudLinux indkapsler via CageFS et virtuelt, brugerbaseret <strong>filsystem<\/strong>; Per-Site-laget udvider dette til at omfatte dom\u00e6negr\u00e6nser. Hvert aktiveret dom\u00e6ne f\u00e5r et separat synsfelt inden for brugerens CageFS, herunder restriktive stier, egne midlertidige mapper og isoleret scriptudf\u00f8relse. Dermed forsvinder fremmede wp-config.php-filer, upload-mapper eller n\u00f8glefiler fra det angrebne websteds synsfelt. Cronjobs, PHP og eventuelt SSH-kommandoer har adgang til de samme systembiblioteker, men ser kun de tildelte <strong>Delm\u00e6ngder<\/strong> i filsystemet. If\u00f8lge dokumentationen kan adskillelsen aktiveres for hvert dom\u00e6ne, hvilket giver mig mulighed for meget detaljeret styring af live-, staging- og testinstanser.<\/p>\n\n<h2>Sammenligning: Kontoisolering, CageFS pr. websted og containere<\/h2>\n\n<p>For at tr\u00e6ffe et velovervejet valg sammenligner jeg tre almindelige <strong>Modeller<\/strong> efter isolationsdybde, arbejdsomfang og kompatibilitet. Kontoisolering sikrer adskillelse mellem kunder, men lader interne gr\u00e6nser mellem sider st\u00e5 \u00e5bne. Per-Site CageFS lukker dette hul set fra filsystem- og procesperspektivet. Containere skaber faste gr\u00e6nser, men kr\u00e6ver ofte mere vedligeholdelse og tilpasninger. En grundig klassificering af procesisolering leveres af denne <a href=\"https:\/\/webhosting.de\/da\/proces-isolation-hosting-chroot-cagefs-container-jails-sikkerhed-sammenligning\/\">Sammenligning af Chroot, CageFS og Jails<\/a>.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Fremgangsm\u00e5de<\/th>\n      <th>Adskillelse mellem konti<\/th>\n      <th>Adskillelse mellem hjemmesider i kontoen<\/th>\n      <th>Kompatibilitet (PHP\/CGI\/SSH\/Cron)<\/th>\n      <th>Driftsomkostninger<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Kontoisolering (klassisk)<\/td>\n      <td><strong>H\u00f8j<\/strong><\/td>\n      <td>Lav<\/td>\n      <td>Meget god<\/td>\n      <td>Lav<\/td>\n    <\/tr>\n    <tr>\n      <td>CageFS pr. websted<\/td>\n      <td><strong>H\u00f8j<\/strong><\/td>\n      <td>Middel til h\u00f8j<\/td>\n      <td>Meget god<\/td>\n      <td>Lav til middel<\/td>\n    <\/tr>\n    <tr>\n      <td>Containere pr. anl\u00e6g<\/td>\n      <td><strong>Meget h\u00f8j<\/strong><\/td>\n      <td>Meget h\u00f8j<\/td>\n      <td>God til meget god<\/td>\n      <td>Middel til h\u00f8j<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<p>I shared hosting-milj\u00f8er tilbyder Per-Site CageFS en st\u00e6rk kombination af fin <strong>Adskillelse<\/strong> og med minimal omstilling, da scripts som regel k\u00f8rer u\u00e6ndret. Dermed sikrer jeg mod det mest almindelige sikkerhedshul: flere uafh\u00e6ngige hjemmesider under \u00e9n enkelt brugerkonto.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheitsarchitektur-cagefs-blog-4719.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Praksis: Sikker drift af flere WordPress-instanser<\/h2>\n\n<p>Jeg adskiller hver WordPress-instans, hvor <strong>Dom\u00e6neisolering<\/strong> og opretter separate PHP-FPM-puljer for hvert websted, s\u00e5 logfiler, opcache og begr\u00e6nsninger forbliver tydeligt tildelt. Desuden definerer jeg separate SALT\u2019er\/N\u00d8GLER for hvert websted i wp-config.php og forhindrer enhver krydsadgang via filrettigheder og open_basedir-\u00e6kvivalenter. Uploads gemmer jeg strengt inden for den respektive dokumentrod og forbyder globale, delte upload-mapper. Under implementeringer holder jeg midlertidige stier internt p\u00e5 webstedet og rydder build-artefakter med det samme, s\u00e5 der ikke forbliver un\u00f8dvendige angrebsflader. Til Composer- eller NPM-caches bruger jeg webstedslokale <strong>Lister<\/strong>, s\u00e5 der ikke opst\u00e5r krydseffekter.<\/p>\n\n<h2>Ydeevne og ressourcestyring i samspil<\/h2>\n\n<p>Per-Site CageFS vedr\u00f8rer filvisningen; den <strong>Ydelse<\/strong> Jeg sikrer mig ved hj\u00e6lp af begr\u00e6nsninger for CPU, RAM, I\/O og processer p\u00e5 konto- eller pool-niveau. P\u00e5 den m\u00e5de forhindrer jeg, at et websted skaber for stor belastning p\u00e5 grund af fejlbeh\u00e6ftede plugins og dermed bremser hele kontoen. I mange ops\u00e6tninger indg\u00e5r dette i LVE- eller lignende kvoter, som jeg finjusterer pr. pool eller konto. Jeg kombinerer dette med begr\u00e6nsning af anmodninger i webserveren eller WAF, s\u00e5 trafikspidser forl\u00f8ber ordentligt. Denne kombination af isolering og kvoter \u00f8ger tjenestens sikkerhed og forudsigelighed <strong>Fordeling af belastning<\/strong>.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/techoffice_cagefs_1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Beskyttelsesk\u00e6de: Hvad Per-Site CageFS ikke erstatter<\/h2>\n\n<p>Isoleringen forhindrer indblik, men jeg holder opdateringerne, <strong>H\u00e6rdning<\/strong> af PHP og strenge adgangskoder gennemf\u00f8res fortsat konsekvent. Ogs\u00e5 MFA til administrator-login, minimale filrettigheder og upload-filtre er fortsat obligatoriske. En WAF, hastighedsbegr\u00e6nsninger og kontinuerlig logning d\u00e6kker yderligere angrebsveje, som ren adskillelse af filvisning ikke kontrollerer. Jeg tjekker desuden regelm\u00e6ssigt cron-jobs og integrationstokens, som angribere ofte glemmer at finde. Du kan l\u00e6se mere om samspillet mellem klientadskillelse og h\u00e6rdning i denne vejledning til <a href=\"https:\/\/webhosting.de\/da\/delt-hosting-sikkerhed-lejerisolering-serverguard\/\">Sikkerhed ved delt hosting<\/a>, som understreger denne tankegang.<\/p>\n\n<h2>Ops\u00e6tning og typiske udfordringer<\/h2>\n\n<p>Jeg aktiverer dom\u00e6neisolering m\u00e5lrettet for hvert enkelt <strong>Websted<\/strong> og tester derefter SSH-, Cron- og PHP-adgang under reelle forhold. Absolutte stier i deploymentskripter eller plugins kan for\u00e5rsage problemer, derfor foretr\u00e6kker jeg relative stier eller variabler. Jeg undg\u00e5r symlinks mellem projekter, fordi de udhuler adskillelsesprincippet; jeg tr\u00e6kker hellere de n\u00f8dvendige biblioteker ind i repoen for hvert enkelt websted. Til sikkerhedskopier definerer jeg separate arkiver og sikkerhedskopierede logfiler for hvert dom\u00e6ne, s\u00e5 gendannelse og forensisk analyse forbliver overskuelige. Hvad ang\u00e5r rettigheder, har 640 for filer og 750 for mapper vist sig at fungere godt, plus <strong>Ejere<\/strong> der passer til den p\u00e5g\u00e6ldende PHP-pool.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheit_shared_hosting_3647.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Kost-nytte-analyse for bureauer og freelancere<\/h2>\n\n<p>Jeg afvejer sikkerhedsgevinsten mod den administrative tid og de potentielle omkostninger ved driftsstop, som en tv\u00e6rg\u00e5ende h\u00e6ndelse ville medf\u00f8re, mod <strong>Euro<\/strong>-Grundlag. Selv f\u00e5 timers incident-response koster ofte betydeligt mere end et lille m\u00e5nedligt till\u00e6g for bedre isolering. For agenturkonti med flere kundeprojekter reducerer segmenteringen m\u00e6rkbart risikoen for erstatningsansvar og omd\u00f8mmetab. Ogs\u00e5 backup- og gendannelsesprocesser forl\u00f8ber mere overskueligt, fordi jeg m\u00e5lrettet kan gendanne enkelte websteder. Samlet set sikrer CageFS pr. websted en mere p\u00e5lidelig <strong>Operationel ledelse<\/strong> med forudsigelige processer.<\/p>\n\n<h2>Tjekliste: Hvorn\u00e5r CageFS pr. anl\u00e6g bliver obligatorisk<\/h2>\n\n<p>Jeg aktiverer dom\u00e6neisolering, s\u00e5 snart der er flere <strong>Installationer<\/strong> k\u00f8rer p\u00e5 \u00e9n konto og har forskellige opdateringscyklusser. Ligeledes vigtigt: separate projektteams eller eksterne administratoradgange, som \u00f8ger risikoen for utilsigtede indgreb. Store upload-m\u00e6ngder, filkonvertere eller billedbehandling er yderligere argumenter for adskillelsen, da der ofte opst\u00e5r s\u00e5rbare punkter her. Forskellige compliance-krav (f.eks. kunder, markeder, databeskyttelse) taler ligeledes for finere segmentering. Den, der k\u00f8rer staging, test og live parallelt, drager fordel af klart adskilte fejldom\u00e6ner og en tydelig <strong>Retsmedicin<\/strong>.<\/p>\n\n<h2>Foruds\u00e6tninger og kompatibilitet i praksis<\/h2>\n\n<p>Inden jeg tager Per-Site CageFS i brug, tjekker jeg k\u00f8rselsmilj\u00f8et: den anvendte PHP-handler (f.eks. PHP-FPM, lsapi), den aktive webserver, tilg\u00e6ngelig panelintegration samt den m\u00e5de, hvorp\u00e5 cron-jobs og SSH-sessioner administreres. I typiske delte milj\u00f8er k\u00f8rer applikationerne videre uden \u00e6ndringer i koden. Jeg sikrer mig, at der findes en separat dokumentrod pr. dom\u00e6ne, at stierne er entydige (f.eks. \/home\/user\/sites\/projekt-a\/public), og at der anvendes en dedikeret PHP-FPM-pool pr. site. Til cron-jobs bruger jeg separate crontabs pr. dom\u00e6ne eller \u2013 hvor kontrolpanelet samler dem \u2013 klare pr\u00e6fikser og logstier, s\u00e5 jobbene forbliver inden for deres <strong>F\u00e6ngsler<\/strong> arbejde.<\/p>\n\n<h2>S\u00f8rg for en klar adskillelse mellem databaser, cacher og sessioner<\/h2>\n\n<p>Filvisningen er kun en del af det. Jeg tr\u00e6kker adskillelsen helt ned til databasen og cacherne. For hvert websted opretter jeg en separat database og en separat databasebruger med minimale rettigheder. Til objekt- eller side-caches (f.eks. Redis, Memcached) bruger jeg separate instanser for hvert websted eller i det mindste n\u00f8glepr\u00e6fikser og dedikerede databaser\/navneomr\u00e5der. PHP-sessioner placeres i webstedsspecifikke stier; jeg indstiller session.save_path separat for hver FPM-pool. Hvis jeg bruger en central k\u00f8 eller et s\u00f8gebackend, adskiller jeg indekser og emner for hvert websted. Dette princip om \u201eadskillelse helt ned til sidste led\u201c forhindrer, at h\u00e6ndelser spreder sig til andre systemer.<\/p>\n\n<h2>CI\/CD og implementeringer under isolation<\/h2>\n\n<p>I build-pipelines g\u00f8r jeg isolering til standard: Der findes et separat deploy-job for hvert websted, som kun har adgang til webstedets mappe. Jeg udpakker artefakterne inden for dom\u00e6nets rodmappe, udf\u00f8rer derefter owner\/group-rettelser og ugyldigg\u00f8r udelukkende de ber\u00f8rte cacher. WP-CLI-kommandoer k\u00f8rer i den respektive CageFS-kontekst, s\u00e5 de ikke p\u00e5virker andre projekter. Milj\u00f8variabler holdes adskilt for hvert websted, og hemmeligheder forbliver i webstedets egne konfigurationsfiler eller i panelets hemmelighedsopbevaringssted. For at undg\u00e5 nedetid bruger jeg atomare symlink-skift inden for dom\u00e6negr\u00e6nserne (f.eks. current\/releases), men s\u00f8rger for, at symlinks ikke peger p\u00e5 naboprojekter. Kontroller efter implementering (tilstand, 404\/500-scanning, rettighedskontrol) er obligatoriske for hvert websted.<\/p>\n\n<h2>Overv\u00e5gning, logning og forensisk analyse<\/h2>\n\n<p>Jeg adskiller logfilerne konsekvent: adgangs- og fejllogfiler for hvert dom\u00e6ne, separate PHP- og Cron-logfiler med rotation og opbevaringsperiode. I tilf\u00e6lde af en h\u00e6ndelse kan jeg p\u00e5 den m\u00e5de rekonstruere tidslinjen for et enkelt websted uden at skulle gennemg\u00e5 hele kontoen. Derudover benytter jeg filintegritetskontroller (kontrolsummer fra kernekataloger), distribuerede audit-logfiler for administratorhandlinger og enkle Canary-filer, der tidligt afsl\u00f8rer manipulationer. Til alarmer er t\u00e6rskelv\u00e6rdier ofte tilstr\u00e6kkelige: pludselige stigninger i 500-fejl, us\u00e6dvanlige upload-st\u00f8rrelser, kraftigt stigende inode-bel\u00e6gning eller overdreven opstart af PHP-workere. Disse signaler knytter jeg til klare runbooks: Sp\u00e6rre webstedet, kontrollere backups, sikre artefakter, genstarte i et isoleret omfang.<\/p>\n\n<h2>S\u00e6rlige tilf\u00e6lde i WordPress: Multisite, MU-plugins og upload-processer<\/h2>\n\n<p>N\u00e5r det g\u00e6lder WordPress Multisite, afvejer jeg det: En Multisite-installation drager mindre fordel af CageFS pr. site, da flere sites bevidst deler en f\u00e6lles kodebase og struktur. Hvis jeg har brug for strengere afgr\u00e6nsninger (uafh\u00e6ngige teams, adskilte caches, klar sporbarhed), foretr\u00e6kker jeg at oprette individuelle instanser og isolere dem. MU-plugins, drop-ins eller globale Must-Use-biblioteker distribuerer jeg kun internt p\u00e5 hvert site og undg\u00e5r delte mapper. Medie-workflows (CDN, billedoptimering, konvertere) k\u00f8rer inden for dom\u00e6ne-jailen; jeg udelukker uploads fra et site til mapper p\u00e5 et andet. Hvis et team \u00f8nsker at dele asset-pipelines, replikerer jeg disse for hvert websted eller indkapsler dem som et pakke, der integreres i det p\u00e5g\u00e6ldende repo.<\/p>\n\n<h2>Migrationsforl\u00f8b: Fra monolit til segmenteret konto<\/h2>\n\n<p>Mange konti starter med en stor public_html-mappe og vokser med tiden. Jeg g\u00e5r frem i fem trin: 1) Gennemgang: Hvilke hjemmesider, dom\u00e6ner, cron-jobs, databaser og hemmelige n\u00f8gler? 2) Fastl\u00e6gge sti-struktur: Hver hjemmeside skal have sin egen rodmappe, temp-mappe, logfiler og sikkerhedskopier. 3) Definere PHP-FPM-puljer pr. dom\u00e6ne og indstille gr\u00e6nser. 4) Flytte filer, justere rettigheder, rydde op i absolutte stier og includes. 5) Aktivere CageFS pr. hjemmeside, k\u00f8re belastningstests, aktivere overv\u00e5gning. I mellemtiden har jeg en rollback-strategi klar (snapshots, separate sikkerhedskopier). Efter overgangen kontrollerer jeg, om v\u00e6rkt\u00f8jer som WP-CLI, Composer, billedbehandlingsprocesser og cron-jobs k\u00f8rer inden for det korrekte omfang, og justerer om n\u00f8dvendigt sti-variablerne.<\/p>\n\n<h2>Fejlbilleder og fejlfinding<\/h2>\n\n<ul>\n  <li>403\/404 efter aktivering: Oftest henviser rewrite-regler eller includes til stier uden for dom\u00e6nets rodmappe. Jeg \u00e6ndrer stierne til relative varianter eller bruger variabler.<\/li>\n  <li>Composer\/NPM g\u00e5r ned: Globale cacher er ikke synlige. Jeg opretter cache-mapper p\u00e5 webstedet og tilpasser HOME\/TMP-variablerne i deploy-processen.<\/li>\n  <li>WP-CLI kan ikke finde wp-config.php: K\u00f8rselen foreg\u00e5r ikke i dom\u00e6nets rodmappe. Jeg skal indstille arbejdsmappen korrekt eller angive stien eksplicit.<\/li>\n  <li>Cron-jobs er stoppet: Cron-brugere eller stier er ikke angivet pr. dom\u00e6ne. Jeg kontrollerer milj\u00f8variabler, bin\u00e6re stier og logm\u00e5l inden for site-jail.<\/li>\n  <li>Uploads mislykkes: session.save_path eller tmp_dir peger p\u00e5 den forkerte mappe. Jeg tildeler webstedsspecifikke midlertidige stier for hver FPM-pool.<\/li>\n  <li>Delt bibliotek mangler: Symlink til et tilst\u00f8dende projekt er blokeret. Jeg replikerer biblioteket til hvert websted eller integrerer det som en pakke i implementeringen.<\/li>\n<\/ul>\n\n<h2>Styring og adgangsmodel<\/h2>\n\n<p>Selv om alt er adskilt rent teknisk, er der stadig sp\u00f8rgsm\u00e5let om adgang. Jeg tildeler dedikerede SSH-\/SFTP-adgange for hvert websted eller begr\u00e6nser paneladgangen til det p\u00e5g\u00e6ldende dom\u00e6ne. Udvikler- og agenturteams f\u00e5r kun de n\u00f8gler og rettigheder, de virkelig har brug for. Til n\u00f8dsituationer har jeg en \u00bbbreak-glass\u00ab-procedure klar (midlertidigt udvidede rettigheder, fuldst\u00e6ndig logning, efterf\u00f8lgende tilbagekaldelse). I revisioner dokumenterer jeg for hvert websted: stier, puljer, gr\u00e6nser, ansvarlige, RBAC-tildelinger og sikkerhedskopier. P\u00e5 den m\u00e5de forbliver segmenteringen ikke kun teknisk, men ogs\u00e5 organisatorisk robust.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/hosting-sicherheitskonzept-4812.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Kort opsummeret<\/h2>\n\n<p>Per-Site CageFS udvider den eksisterende brugeradskillelse med en <strong>Websted<\/strong>-niveau og mindsker dermed effektivt risikoen for laterale bev\u00e6gelser. Jeg anser dette for at v\u00e6re et praktisk skridt, da mange konti omfatter flere uafh\u00e6ngige projekter. Kombinationen af adskillelse af filvisninger og ressourcebegr\u00e6nsninger skaber orden i ydeevne, sikkerhed og drift. Hvis man hoster flere WordPress- eller webshop-instanser, sparer man tid ved fejlfinding, sikkerhedskopiering og genopstart efter h\u00e6ndelser. Med klare rettigheder, opdateringer, MFA og logning skabes en b\u00e6redygtig <strong>Sikkerhedsk\u00e6de<\/strong>, hvilket g\u00f8r shared hosting betydeligt mere robust.<\/p>","protected":false},"excerpt":{"rendered":"<p>Per-Site CageFS \u00f8ger sikkerheden ved delt hosting med CloudLinux Isolates og tydelig isolering af hjemmesider inden for en konto.<\/p>","protected":false},"author":1,"featured_media":20461,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[794],"tags":[],"class_list":["post-20468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit-computer_und_internet"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"104","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"Per-Site CageFS","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"20461","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/20468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/comments?post=20468"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/posts\/20468\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media\/20461"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/media?parent=20468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/categories?post=20468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/da\/wp-json\/wp\/v2\/tags?post=20468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}