CageFS je eden glavnih varnostnih elementov operacijskega sistema CloudLinux: virtualiziran datotečni sistem, ki vsak račun gostovanja zapre v lastno „kletko” (cage). Na našem gostovanju cPanel in WordPress vsak račun teče v CageFS.
Kaj to pomeni v praksi?
Na strežniku si prostor deli veliko računov gostovanja, vendar zaradi CageFS vsak vidi sistem, kot da bi bil na njem sam:
- Drugi uporabniki niso vidni. Račun ne vidi drugih uporabnikov na strežniku, ne njihovih imen ne njihovih datotek.
- Vidni so le lastni procesi. Ukaz
psalitopprikaže le procese, ki tečejo v lastnem računu. - Nastavitve strežnika ostanejo skrite. Sistemskih konfiguracijskih datotek (na primer nastavitev spletnega strežnika) ni mogoče brati, v datoteki
/etc/passwdpa so le potrebni vnosi. - Lasten imenik
/tmp. Vsak račun dobi lasten začasni imenik, ki ga drugi računi ne vidijo. Šteje se v kvoto prostora računa, sistem pa iz njega samodejno briše datoteke, ki niso bile uporabljene 30 dni.
Vse to je za spletne strani neopazno: na skriptah PHP, opravilih cron in aplikacijah ni treba ničesar spreminjati.
Zakaj je to dobro zate?
Če je spletna stran v drugem računu vdrta ali na njej teče napačna skripta, ne more dostopati do tvojih datotek in gesel podatkovnih baz in ne more v tvoj račun namestiti zlonamerne programske opreme. CageFS prepreči tudi večino napadov za stopnjevanje pravic in pridobivanje podatkov. Za ločevanje virov, torej za to, da obremenitev drugih strani ne upočasni tvoje, skrbi drug element CloudLinuxa, LVE, glej: Omejitve virov paketov gostovanja aWh.
Zakaj v SSH manjka ukaz?
V SSH in v terminalu cPanela so na voljo le programi, ki veljajo za varne. Običajna orodja (na primer php, git, mysql, wp, rsync, tar, zip, urejevalnika besedil nano in vi ter upravitelj datotek mc) so na voljo, skrbniških programov pa ni, prav tako ni pravic root.
Composer ni na privzeti poti, temveč posebej ob vsaki različici PHP, in teče s tisto različico PHP, h kateri spada. Na primer za PHP 8.4:
/opt/alt/php84/usr/bin/composer install
Številko različice (php84) zamenjaj s tisto, ki jo uporablja tvoja spletna stran (php83, php85 itd.). Če ga uporabljaš pogosto, lahko v datoteko ~/.bashrc dodaš bližnjico, tako da od naslednje prijave zadošča ukaz composer:
echo "alias composer='/opt/alt/php84/usr/bin/composer'" >> ~/.bashrc
Če za svoje delo potrebuješ program, ki ni na voljo, piši naši podpori. Če je program mogoče varno izvajati v deljenem okolju, ga bomo omogočili.
Pogosta vprašanja
Zakaj ne vidim celotne porabe procesorja in pomnilnika strežnika? CageFS poleg tvojih lastnih procesov ne prikaže ničesar drugega. Porabo virov svojega računa vidiš na strani Poraba virov v cPanelu, glej: Kako v živo preverim porabo virov CloudLinux LVE?
Iz imenika /tmp je izginila datoteka.
Začasne datoteke, ki niso bile uporabljene 30 dni, sistem samodejno izbriše. Kar je trajno, shranjuj v svoj imenik.
Ali lahko dostopam do datotek svojega drugega računa? Dva računa gostovanja neposredno ne dosežeta datotek drug drugega, tudi če sta oba tvoja. Datoteke lahko preneseš prek FTP, Upravitelja datotek ali z metodami za selitev gostovanja.