Accounts op een server van elkaar afschermen
Op een gedeelde server draait elk hostingaccount zijn eigen PHP en, met SSH, zijn eigen shell. Zonder afscherming kan een script van de ene klant de hele machine opsommen: de homemap van elke andere klant, de namen van alle websites en elk
Geschreven voor: Beheerder
Op een gedeelde server draait elk hostingaccount zijn eigen PHP en, met SSH, zijn eigen shell. Zonder afscherming kan een script van de ene klant de hele machine opsommen: de homemap van elke andere klant, de namen van alle websites en elk proces dat draait. Met afscherming aan ziet een account zijn eigen homemap, zijn eigen processen en niets van de configuratie van de server zelf.
Een nieuwe server krijgt de afscherming aan (basic). Een server die is ingericht voordat deze functie bestond, houdt wat hij had tot je haar aanzet.
Aan- of uitzetten
Op de server zelf:
corectl isolation status # de stand, en wat elk account krijgt
corectl isolation set basic # aan
corectl isolation set off # weer uitBeide mag je herhalen. corectl doctor zegt of de afscherming echt elk account bereikt; de serveradviseur in het paneel toont dezelfde bevinding.
Wat wordt afgeschermd
- PHP. De PHP van elke website draait in de afscherming van het account — op een server met PHP-FPM en op een LiteSpeed-server net zo.
- SSH, SFTP en geplande taken. Elke login en elke geplande taak van het account komt in dezelfde afscherming terecht.
De inhoud van bestanden van andere accounts was al beschermd door hun rechten; wat de afscherming weghaalt is de lijst: klantnamen, websitenamen, maildomeinen en processen van anderen.
PHP op een LiteSpeed-server
LiteSpeed start de PHP van een website normaal zelf. Met afscherming aan doet hij dat niet meer: de PHP van elk account draait als een eigen dienst, die de server bij het eerste bezoek start en na ongeveer vijf minuten zonder bezoekers weer stopt. Een account zonder bezoekers kost dus geen geheugen.
Wat je kunt merken:
- De eerste pagina na een stille periode duurt ongeveer een tiende seconde langer.
- Kan de PHP van een account niet starten, dan antwoorden zijn websites met 503 en noemt
corectl doctorhet account. PHP valt nooit terug op draaien buiten de afscherming.corectl reconcilestart hem weer zodra de oorzaak is opgelost. - Webmail en phpMyAdmin horen bij geen enkel klantaccount en blijven draaien zoals ze deden.
Met afscherming uit start LiteSpeed PHP weer zelf, zoals voorheen.
Controleren voor één account
corectl isolation status toont per account wat het krijgt. Op een LiteSpeed-server heeft elke PHP-dienst van het account een eigen regel:
- caged, on demand (idle) — er is een tijd niemand geweest; het volgende bezoek start hem.
- caged, running — hij bedient op dit moment bezoekers.
- FAILED of socket not listening — de websites van het account antwoorden met 503. De regel zegt met welke opdracht je de oorzaak ziet; draai na het oplossen
corectl reconcile.
Wat niet wordt afgeschermd
De lijst met gebruikersnamen in /etc/passwd, de logmap van de server en de namen van luisterende sockets blijven leesbaar. Een strengere stand die ook die verbergt is gepland maar nog niet gebouwd.